Excel FILTER関数とCOUNTIF関数で一致しないデータだけを抽出する方法【Microsoft 365対応】

Office系ソフトウェア

Microsoft 365のExcelでは、FILTER関数とCOUNTIF関数を組み合わせることで、2つのリストを比較し、一致しないデータだけを簡単に抽出できます。重複データを取り出す方法はよく紹介されていますが、「逆に一致しないものだけを表示したい」というケースも実務では非常に多いです。

たとえば顧客一覧の差分確認、商品コードの照合、名簿比較などでも活用できます。

今回のサンプルデータ

A列 B列
黄色

この場合、「A列にあってB列に存在しないもの」は「緑」になります。

逆に「B列にあってA列に存在しないもの」は「黄色」です。

A列にあってB列にないデータを抽出する関数

Microsoft 365では次の式で抽出できます。

=FILTER(A1:A3,COUNTIF(B1:B3,A1:A3)=0)

この式の意味は以下の通りです。

  • COUNTIF(B1:B3,A1:A3) → B列にA列の値が存在するか確認
  • =0 → 存在しないものだけTRUE
  • FILTER → TRUEになったデータだけ表示

結果として「緑」が表示されます。

B列にあってA列にないデータを抽出する場合

逆方向で比較したい場合は、範囲を入れ替えるだけです。

=FILTER(B1:B3,COUNTIF(A1:A3,B1:B3)=0)

この場合は「黄色」が抽出されます。

FILTER関数とCOUNTIF関数の相性が良い理由

FILTER関数は条件に一致したデータだけを一覧表示できるため、COUNTIFとの組み合わせで「存在確認」が簡単にできます。

従来のExcelではIF関数やMATCH関数を複雑に組み合わせる必要がありましたが、Microsoft 365ではかなりシンプルになりました。

よくある活用例

  • 名簿の差分チェック
  • 在庫一覧の比較
  • 重複除外リスト作成
  • CSVデータの照合
  • 未登録データ抽出

データ件数が多い場合の注意点

数千〜数万件規模のデータでも使用できますが、COUNTIFを大量データに使うと少し重くなることがあります。

その場合は、テーブル化やPower Queryを利用するとさらに高速になります。

ただし、通常の業務レベルであればFILTER×COUNTIFだけでも十分実用的です。

一致するデータだけ抽出する式との違い

重複データを表示する場合は次のようになります。

=FILTER(A1:A3,COUNTIF(B1:B3,A1:A3)>0)

「>0」を「=0」に変えるだけで、「一致する」から「一致しない」に切り替えられるのがポイントです。

まとめ

Microsoft 365では、FILTER関数とCOUNTIF関数を組み合わせることで、2つのリストを比較し、一致しないデータだけを簡単に抽出できます。

=FILTER(抽出範囲,COUNTIF(比較範囲,抽出範囲)=0)

この形を覚えておくと、名簿照合や差分チェックなど幅広い業務で活用できます。

コメント

タイトルとURLをコピーしました