【エクセル】2つの表から重複・一致するデータを抽出する方法
/

本記事ではMicrosoftのエクセルにおける、2つの表から重複・一致するデータを抽出する方法について詳しく解説していきます。
仕事ではさまざまなデータを複数の異なる表に保存して利用します。このとき2つの表を比べて、どちらの表にも存在するデータがあるか確認したい場面がよくあります。
たとえば注文リストと在庫リストを照合して、出荷可能か確認するときです。
2つの表から共通・一致するデータを抽出できれば、重複チェックや在庫確認などがスムーズになります。
本記事を通して、エクセルで2つの表から重複・一致するデータを抽出する方法について理解を深めてください。
ここではMicrosoft 365による最新のエクセルを使用しています。
Microsoft 365とはMicrosoft社が提供しているOfficeアプリケーション(Outlook、Word、Excel、SharePoint、PowerPointなど)やサービスを利用できるサブスクリプション(月額課金制)のクラウドサービスです
エクセル:2つの表から重複・一致するデータを抽出することについて
エクセルでデータ管理をしている場合、2つの表で共通して存在するデータ(重複・一致する値)を見つけ出す操作が必要になる場面がよくあります。
具体的には次のような場面が考えられます。
- 注文リストと在庫リストを照合して出荷可能かの確認
- 社員名簿と研修リストから研修を受けている社員・受けていない社員を抽出
- 顧客リストと注文リストから注文をした顧客を抽出
- 請求書リストと支払い済みリストから未払いの請求書を抽出
上記のようにさまざまな場面で2つの表から重複を抽出する操作は必要となります。
このような複数の表を突き合わせて確認・分析する操作は基本スキルであり、業務では必要不可欠な知識と言えます。
ほぼすべての部門で役立つ「2つの表から重複を抽出する」方法は次項より詳しく解説していきます。
1つの表で重複データがないか確認する方法については以下記事をご参照ください。
2つの表から重複・一致するデータを抽出する方法
エクセルで2つの表から重複・一致するデータを抽出する方法は以下4通りあります。
- 条件付き書式の「重複する値」で色付け
- COUNTIF関数で重複・一致するデータを抽出
- VLOOKUP関数またはXLOOKUP関数で抽出
- 条件付き書式でルール作成して抽出
条件付き書式の「重複する値」で色付け
エクセルには条件付き書式という特定の条件を満たした際に設定した書式(色付け、フォントなど)に自動的に変更する機能が備わっています。
この条件付き書式を利用して重複した値のセルを色付けし、2つの表から重複するデータを抽出することができます。
条件付き書式は条件に合わせてセルの見た目(ここでは背景色)を自動的に変えられる機能です
エクセルの2つの表から重複した値を色付けする条件付き書式の設定方法は以下の通りです。ここでは次図の2つの表に対して、氏名が一致するデータを色付けする設定を行います。

- 対象となる1つの表から重複確認をしたいセルを選択する(ここではセルB4からB13を選択)
- 次にCtrlキーを押しながら、もう一つの表から対象となるセルを選択する(ここではセルG4からG8を選択)
- ホームタブのスタイルグループにある「条件付き書式」をクリックし、表示されたメニューから「セルの強調表示ルール」<「重複する値」を選択する
- 表示された重複する値画面から左側は「重複」、右側の書式では任意の書式を指定して「OK」をクリックする




2つの表から対象セルを選択する場合はCtrlキーを押しながら2つ目の表を選択する
上記の操作により、2つの表で共通するデータを色付けし、重複データを抽出することができます。

COUNTIF関数で重複・一致するデータを抽出
エクセルで利用できるCOUNTIF関数を使って2つの表から重複するデータを抽出することができます。
COUNTIF関数とは指定した範囲で特定の条件に一致するセルの数を数える関数です。構文は以下の通りです。
=COUNTIF(範囲, 検索条件)
COUTIF関数の第一引数には対象とするセル範囲、第二引数には検索条件を指定します。
このCOUNTIF関数で表Aにあるデータが別の表Bに含まれているかどうかを判別できます。
具体的にはCOUNTIF関数で表Aのデータと同じデータが表Bに存在する個数をカウントします。つまりCOUNTIF関数で返される値が1以上であれば一致するデータが別の表Bに存在することを意味します。
COUNTIF関数を使った2つの表から重複した値を抽出する方法は以下の通りです。
- 重複チェック用の列を追加する
- 表の先頭セルに「=COUNTIF(」と入力する
- 次に第一引数の範囲を入力する(ここでは社内研修出席者リストのH列を指定。範囲では必ず絶対参照の「$」を付けるようにしてください)
- 次に第二引数の検索条件を入力する(ここでは対象データのセルB4を指定)
- 次にCOUNTIF関数をIF関数で囲い、結果が0よりも大きい場合は「重複あり」、小さい場合は「なし」と表示されるように数式を以下のように記述する
- 数式を入力したセルの右下にある小さな四角(フィルハンドル)を下にドラッグし、数式下のセルにコピー(オートフィル)する




=IF(COUNTIF($H$4:$H$13, B4) > 0, "重複あり", "なし")

上記の操作により、新しい列に重複についての結果が表示されます。

重複ありのみを抽出したい場合は、フィルター機能を使って絞り込みしてください。

VLOOKUP関数またはXLOOKUP関数で抽出
VLOOKUP関数やXLOOKUP関数でもCOUNTIF関数のように2つの表で一致するデータを抽出することができます。どちらの関数も値が存在するか検索する関数です。
基本的にはCOUNTIF関数での操作と同じです。ただ入力する数式が異なるだけです。
VLOOKUP関数を使う場合は次のように数式を記述します。
=IF(ISNA(VLOOKUP(B4, $H:$H, 1, FALSE)), "なし", "重複あり")

XLOOKUP関数を使う場合は次のように数式を記述します。
=IF(ISNA(XLOOKUP(B4, $H:$H, $H:$H)), "なし", "重複あり")

XLOOKUP関数はMicrosoft 365の最新エクセル、またはExcel 2021以降で使用できます
条件付き書式でルール作成して抽出
エクセルの条件付き書式で数式を使ったルール作成で2つの表から重複データを抽出することができます。
詳しい流れは以下の通りです。
- 重複チェックをしたい範囲や列を選択する(ここでは氏名B列を選択)
- ホームタブのスタイルグループにある「条件付き書式」をクリックし、表示されたメニューから「新しいルール」を選択する
- 表示された新しい書式ルール画面で「数式を使用して、書式設定するセルを決定」を選択する
- 数式の入力欄に「=COUNTIF(範囲, 検索条件) > 1」を入れる。今回の例では以下の数式となります。(重複判定がG列の場合)
- 書式ボタンを押して色付けの設定を行い、「OK」をクリックする



=COUNTIF($G:$G, B4)


上記の操作により、2つの表で一致するデータを1つの表に色付けして抽出することができます。

まとめ
本記事「【エクセル】2つの表から重複・一致するデータを抽出する方法」はいかがでしたか。
ここでは以下の項目について解説してきました。
- エクセルで2つの表から重複・一致するデータを抽出することについて
- 2つの表から重複・一致するデータを抽出する4つの方法
2つの表を照合して重複データを抽出する操作は、業務のさまざまな場面で役立ちます。正しい方法を覚えることで、チェック作業が効率的に進められるだけでなく、正確性も向上します。
ぜひ本記事で紹介した方法を、実際の業務に取り入れてみてください。
エクセルには他にも様々な仕事に便利な機能が備わっています。以下エクセルのまとめ記事では仕事に便利な機能を紹介しています。ぜひご覧いただき、ご自身の仕事に役立つ機能を見つけてください。