エクセルで2つの列を扱っていると、「A列にあってB列にないデータを見つけたい」「2つの列で一致するデータだけを抽出したい」といった場面に直面することはありませんか?
この記事では【Excel】エクセルで2列の比較・抽出(照合:一致:この列にあってこの列にない:列同士)する方法について解説していきます。
ポイントは
・COUNTIF関数で列同士の存在確認
・VLOOKUP関数による照合と一致判定
・条件付き書式での視覚的な差分表示
です。
それでは詳しく見ていきましょう。
目次
エクセルで2列の比較・抽出する方法1【COUNTIF関数で「この列にあってこの列にない」を判定】
2つの列を比較して「A列にあってB列にない」データを抽出する最もシンプルな方法が、COUNTIF関数を活用することです。
COUNTIF関数は指定した範囲内に特定の値が何個あるかをカウントするため、0が返ってくれば「存在しない=差分」と判断できます。
例えば、A列に「注文リスト」があり、B列に「在庫商品リスト」がある場合、COUNTIF関数を使えば「注文されたが在庫にない商品」を簡単に見つけることができるでしょう。
解決方法
具体的な手順を見ていきましょう。
まずC列などの空いている列に、以下のようなCOUNTIF関数を入力します。
=COUNTIF(B:B,A2)
この数式の意味は、A2セルの値がB列全体に何個存在するかをカウントするというものです。
結果が0であれば、そのデータはB列には存在しない、つまり「A列にあってB列にない」データということになります。
さらに見やすくするために、IF関数と組み合わせることもできます。
=IF(COUNTIF(B:B,A2)=0,”B列になし”,””)
この数式を下方向にコピーすれば、全ての行で比較が行われます。
「B列になし」と表示された行が差分データとなるわけです。
オートフィルター機能を使って「B列になし」のみを表示させれば、差分データだけを一覧で確認できるでしょう。
この方法は処理速度が速く、数万行のデータでもスムーズに動作します。
エクセルで2列の比較・抽出する方法2【VLOOKUP関数で列同士を照合して一致を確認】
COUNTIF関数での比較も便利ですが、より詳細な照合を行いたい場合もあるかもしれません。
そんな時に役立つのが、VLOOKUP関数を使った列同士の照合方法です。
VLOOKUP関数は検索した値が見つからない場合にエラーを返すため、IFERROR関数と組み合わせることで「一致する・しない」を判定できます。
解決方法
「ホーム」タブをクリックして、C列などの空いている列に以下の数式を入力します。
=IFERROR(VLOOKUP(A2,B:B,1,FALSE),”一致なし”)
この数式は、A2セルの値をB列から検索し、見つかればその値を、見つからなければ「一致なし」と表示するものです。
逆に「一致するデータのみ」を表示したい場合は、以下のように数式を変更しましょう。
=IFERROR(VLOOKUP(A2,B:B,1,FALSE),””)
この数式なら、一致するデータがある場合のみ値が表示され、一致しない場合は空白になります。
これらは、以下のような使い分けができるでしょう。
– B列にない差分を見つけたい → 「一致なし」と表示させてフィルター抽出
– 両方の列に存在する共通データを見つけたい → 一致した値を表示させる
– 文字列の完全一致で照合したい → FALSE(完全一致)を指定
設定を完了したら、数式を下方向にコピーして全行に適用します。
これにより、2つの列の照合結果が一目で確認できるようになります。
エクセルで2列の比較・抽出する方法3【条件付き書式で列同士の差分を視覚化】
数式を使わずに、視覚的に列同士の差分を確認したい場合もあるでしょう。
そんな時には、条件付き書式を活用した比較方法が便利です。
条件付き書式を設定することで、「この列にあってあの列にない」データに自動的に色を付けることができ、差分が一目瞭然になります。
解決方法
まず比較したい列(例:A列)を選択します。
「ホーム」タブから「条件付き書式」→「新しいルール」を選択しましょう。
「数式を使用して、書式設定するセルを決定」を選び、以下の数式を入力します。
=COUNTIF($B:$B,$A2)=0
この数式は「A列の値がB列に存在しない場合」という条件を表しています。
書式設定で、背景色を黄色や赤色などに設定すれば、B列にない差分データが視覚的に強調されるわけです。
「OK」をクリックして設定を適用すると、即座に差分が色付きで表示されます。
逆に「両方の列に存在する一致データ」に色を付けたい場合は、以下の数式を使用します。
=COUNTIF($B:$B,$A2)>0
さらに高度な使い方として、両方の列に同時に条件付き書式を設定することもできます:
– A列には「B列にないデータ」を赤色で表示
– B列には「A列にないデータ」を青色で表示
これにより、どちらの列にしか存在しないデータが一目で判別できるでしょう。
条件付き書式は数式のコピーが不要なため、後からデータを追加・変更しても自動的に色分けが更新される点がメリットです。
複数条件での列比較の応用
より高度な方法として、大文字・小文字を区別して比較する方法もご紹介します。
通常のCOUNTIF関数は大文字・小文字を区別しませんが、SUMPRODUCT関数とEXACT関数を組み合わせることで厳密な照合が可能です:
=IF(SUMPRODUCT(EXACT($B:$B,A2))=0,”完全一致なし”,””)
これは文字列データの厳密な照合が必要な場合に有効な方法です。
まとめ エクセルで2列の比較・抽出(列同士・この列にあってこの列にない・一致・照合)する方法
エクセルで2列の比較・抽出する方法をまとめると
– COUNTIF関数での差分判定:0が返れば「この列にあってこの列にない」と判定し、IF関数で表示を制御
– VLOOKUP関数での照合:IFERROR関数と組み合わせて一致・不一致を判定し、必要なデータを抽出
– 条件付き書式での視覚化:数式条件で自動的に色分けし、列同士の差分を視覚的に表示
– 複数条件の応用:EXACT関数やSUMPRODUCT関数で大文字・小文字を区別した厳密な照合が可能
これらの方法を状況に応じて使い分けていけば、ほとんどのケースで2列の比較問題を解決できます。
特にCOUNTIF関数を使った方法は最もシンプルで効果的ですので、まずこれを試すことをおすすめします。
ただし、大量のデータを扱う場合は、列全体(A:Aなど)を参照すると計算が遅くなることがあります。
必要に応じて範囲を限定したり(A2:A1000など)、計算結果を値に変換したりして、処理速度を改善していくことも大切でしょう。
エクセルの列比較機能を正しく理解して、効率的なデータ照合を実現していきましょう!