Excel で 2 つのリストを比較する方法
日常業務でよく使う 6 つの方法を、手順・長所短所つきでまとめました。データ量や用途に合わせて選んでください。
1. 条件付き書式(最も直感的で速い)
小規模データで、重複や一意の値を素早くハイライトしたい場合に最適です。
手順:
- リスト A を列 A、リスト B を列 B に用意。
- ハイライトしたい列(A と B)を選択。
- ホーム → 条件付き書式 → セルの強調表示ルール → 重複する値。
- 一意の値を強調したい場合は、ダイアログで「一意」を選択。
長所: シンプルで視覚的。数式不要。 短所: 値の抽出はできず、見た目のハイライトのみ。
2. VLOOKUP(存在確認とデータ取得)
あるリストの値がもう一方に存在するかを確認し、必要に応じて関連データも返せます。
手順:
C1に入力:=VLOOKUP(A1, B:B, 1, FALSE)(下方向にコピー)。- 見つかれば値、見つからなければ
#N/A。#N/Aでフィルタすれば A のみにある値を抽出可能。
長所: 強力。関連列の値も返せる。 短所: 一方向。大規模ではやや遅くなることがある。
3. COUNTIF(一致数を数える)
単純な存在確認・件数カウントに適しています。
手順:
C1に=COUNTIF(B:B, A1)を入力して下方向にコピー。- 解釈:
- 0 → A の値は B に存在しない(A のみに存在)
- 1 以上 → B に存在
長所: 簡単・高速でスケールする。 短所: VLOOKUP のような詳細返却はできない。
4. 詳細フィルター(唯一値の抽出)
唯一値や重複値を別の場所へ直接出力できます。
手順:
- 2 つのリストを 1 列にまとめ、見出し(例: Data)を付ける。
- その列を空き領域へコピーして選択。
- データ → 詳細設定。
- 「指定した範囲にコピー」にチェック。
- 「重複するレコードは無視する」にチェック。
- 「コピー先」を指定して OK。
長所: 結果リストを直接得られる。柔軟に活用可能。 短所: 事前に結合が必要。手順がやや多い。
5. Power Query(最強かつ柔軟)
大規模・多段変換・定期的な比較に最適です。
手順:
- 各リストをテーブル化(挿入 → テーブル)。
- データ → テーブル/範囲からで Power Query に読み込み。
- Power Query で ホーム → クエリのマージ。比較する列を選択。
- 結合の種類:
- 左外部: A にあり B にもある項目
- 左反: A にあり B にない項目(A のみ)
- 右反: B にあり A にない項目(B のみ)
- 完全外部: 両方の全項目 + 不一致の指標
長所: 自動化でき、巨大データにも対応、手順を保存して再利用可能。 短所: 学習コストが高い。小規模な単発作業には過剰。
6. 配列数式(上級テクニック)
複数の結果を一度に返したいときに使用します。
例(従来の CSE 型):
{=IFERROR(INDEX(A:A, SMALL(IF(COUNTIF(B:B,A:A)=0, ROW(A:A)), ROW(A1))), "")}
長所: 柔軟かつ強力。 短所: 複雑で学習コストが高い。
まとめと推奨
| 方法 | 長所 | 短所 | 推奨シーン |
|---|---|---|---|
| 条件付き書式 | 視覚的・簡単 | 抽出不可 | すばやい可視化 |
| VLOOKUP | データ返却可 | 一方向・大規模でやや遅い | 存在確認 + 参照 |
| COUNTIF | 簡単・高速 | 詳細返却不可 | シンプルな存在確認・大規模 |
| 詳細フィルター | 直接抽出 | 事前結合が必要 | 唯一値の抽出 |
| Power Query | 自動化・大規模対応 | 学習コスト | 大規模・定期比較 |
| 配列数式 | 強力 | 複雑 | 上級ユーザー |
日常用途では、条件付き書式と COUNTIF で十分なことが多いです。厳密な参照やデータ返却が必要なら VLOOKUP、巨大データや繰り返し処理なら Power Query を検討してください。