ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.014

アイコン 2つのデータを比較し、他方にない(両方にある)データを探す 《VLOOKUP・COUNTIF》

Excel2003/2007/2010/2013

お仕事ではよくあるのではないでしょうか。
例えば本年度と昨年度のデータがあり、あるデータが本年度にあるが昨年度にはないとか、本年度昨年度両方にあるデータを調べたい、といった場合です。

2つのデータを比較するには、いろいろな方法がありますが、今回は関数を利用して判断する方法を2つご案内します。

<VLOOKUP関数>

VLOOKUP関数(関数の分類: 検索/行列)を使うと「他方のデータにあるかないか」を確認することができます。
ポイントは、引数[範囲]に相手の(他方の)データを指定することです。

B列のデータがF列にあるかどうかは、範囲にF列を指定します。

  =VLOOKUP(B2,$F$2:$F$10,1,0)

F列のデータがB列にあるかどうかは、範囲にB列を指定します。

  =VLOOKUP(F2,$B$2:$B$11,1,0)

VLOOKUP比較

VLOOKUP関数では該当がなければエラーを出しますので、エラー値「#N/A」が返ったということは相手方のデータに存在しないということになります。

<COUNTIF関数>

COUNTIF関数(関数の分類: 統計)を使って相手方データに何件あるかを求める方法です。
この場合もVLOOKUP関数のときと同様、引数[範囲]に相手のデータを指定します。

B列のデータがF列に何件あるかは、範囲にF列を

  =COUNTIF($F$2:$F$10,B2)

F列のデータがB列に何件あるかは、範囲にB列を指定します。

  =COUNTIF($B$2:$B$11,F2)

COUNTIF比較

COUNTIF関数では件数が答えですので、0と返った場合は相手方にのデータに存在しないということです。

どちらの方法においても、互いのデータの場所が別シートや別ブックとなる場合は(普通そうでしょうね)、もちろん引数[範囲]は別シート、別ブックの範囲を指定します。

関連ヘルプ

新規メールが開くハイパーリンクをまとめて設定するには 《HYPERLINK》
設定されているリンクを保ちながら、行と列を入れ替えて表を貼り付けたい 《配列数式/TRANSPOSE》
データに連番をふる、同じデータには同じ番号 《INDEX・MATCH・COUNTIF・MAX》
参照式の参照セルが移動しても固定されるようにしたい 《INDIRECT》
VLOOKUP関数で、複数テーブルから検索したい 《VLOOKUP・アンパサンド》
ページのトップへ戻る