Excelで2つの列やリストを比較する方法|初心者にもわかる4つの基本テクニック
Excelで作業をしていると、2つ以上の列の一致や相違を確認したい場面によく出くわします。列同士の比較自体は難しくありませんが、方法が多数あるため、どれを選べばよいか迷ってしまうこともあるでしょう。この記事では、Excelで列を照合・比較するためのさまざまなテクニックを、具体例とともにわかりやすく解説します。
Excelで2つの列またはリストを比較する4つの方法
ここでは、スーパーマーケットの2つのショールームの商品名が入力された2列のデータセットを用意しました。この2つのショールームのデータを比較していきます。

方法1:等号演算子(=)を使って2つの列を比較する
まずは、等号(=)を使って行ごとに2つの列を比較する方法です。商品名が一致すればTRUE、一致しなければFALSEと表示されます。
📌 手順:
- 照合結果を表示するために、データの右側に新しい列を追加します。

- セルD5に次の数式を入力します。
=B5=C5

- Enterキーを押し、フィルハンドルを下方向へドラッグします。

これで、一致する行にはTRUE、一致しない行にはFALSEが表示されます。
方法2:「ジャンプ」のセル選択(行の違い)機能で2つのリストを比較する
次に、「行の違い」機能を使う方法を紹介します。この機能は列を行単位で比較し、値が異なる2列目のセルを自動的に選択してくれます。
📌 手順:
- 範囲B5:C9のデータセット全体を選択します。
- F5キーを押します。

- 「ジャンプ」ダイアログボックスが表示されるので、「セル選択」ボタンをクリックします。

- 「セル選択」ウィンドウで「行の違い」を選択します。
- 最後に「OK」をクリックします。

- 2列目のうち、値が異なる2つのセルが自動的に選択されます。
- 「塗りつぶしの色」からセルに色を付けて目立たせましょう。

- データセットを確認してみてください。

これで、2列目の中で一致しないデータが入ったセルがひと目でわかるようになりました。
方法3:Excel関数を使って2つの列やリストを比較する
3.1 IF関数を使う方法
ここではIF関数を使用します。列のセルを行ごとに比較し、同じかどうかを判定できます。
IF関数は条件が満たされているかどうかを判定し、TRUEの場合は1つの値、FALSEの場合は別の値を返す関数です。
📌 手順:
- セルD5にIF関数を使った次の数式を入力します。
=IF(B5=C5,"Match","Mismatch")

この数式はセルの値が同じかどうかを判定し、同じなら「Match」、異なれば「Mismatch」と表示します。
- フィルハンドルを下方向へドラッグします。

不一致の値を判定したい場合は、次の数式も使えます。
=IF(B5<>C5,"Mismatch","Match")

この場合、条件がTRUEなら「Mismatch」、そうでなければ「Match」と表示されます。

3.2 EXACT関数を使う方法
2つの列に大文字・小文字だけが異なる同じデータがある場合は、EXACT関数を使います。
EXACT関数は2つの文字列が完全に同一かどうかを判定し、TRUEまたはFALSEを返します。EXACT関数は大文字と小文字を区別するのが特徴です。
6行目には、大文字・小文字のみが異なる同じデータがあります。EXACT関数でこの違いを検出できるか確認してみましょう。

📌 手順:
- セルD5に次の数式を挿入します。
=IF(EXACT(B5,C5),"Match","Mismatch")

ここでは、EXACT関数による判定結果をもとにコメントを表示するためにIF関数を組み合わせています。
- フィルハンドルを下方向へドラッグします。

結果が表示されました。大文字・小文字の違いにより、セルD6には「Mismatch」が表示されています。
3.3 MATCH関数を使う方法
この方法では、1列目の各項目が2列目に存在するかどうかを調べます。一致が見つかれば結果はTRUEになります。
ここでは、MATCH関数をISERROR関数およびIF関数と組み合わせて使用します。
MATCH関数は、指定した値と一致する項目の配列内での相対的な位置を返す関数です。
📌 手順:
- セルD5に次の数式を入力します。
=IF(ISERROR(MATCH($B5,$C$5:$C$10,0)),"No match","Match found")

条件がTRUEなら「Match found」、そうでなければ「No match」と表示されます。
- Enterキーを押して数式を実行します。

1列目を基準にした結果が得られました。2列目の中に一致する項目があるかどうかを調べています。
方法4:条件付き書式で2つの列を比較して強調表示する
このセクションでは、条件付き書式を使って2つの列を比較し、条件に応じてセルを強調表示する方法を解説します。
4.1 2つの列で一致する値を強調表示する
📌 手順:
- まずデータセットを選択します。
- 「ホーム」タブから「条件付き書式」を選択します。
- 表示されたドロップダウンから「新しいルール」を選びます。

- 「新しい書式ルール」ウィンドウが表示されます。
- ルールの種類として「数式を使用して、書式設定するセルを決定」を選択します。
- 指定のボックスに次の数式を入力します。
=$B5=$C5

- 「セルの書式設定」ウィンドウの「塗りつぶし」タブを開きます。
- 好みの色を選択します。
- 「OK」ボタンをクリックします。

- プレビューで書式を確認します。
- 最後に「OK」をクリックします。

- データセットを見てみましょう。

同じデータが入ったセルが強調表示されました。
4.2 一意のセルと重複するセルを強調表示する
続いて、一意のデータと重複するデータのセルをそれぞれ別の色で強調表示します。
📌 手順:
- 前述の手順と同じように「新しいルール」を開きます。

- ルールの種類として「一意の値または重複する値のみを書式設定」を選択します。
- 「重複」オプションを選びます。

- 書式の色を設定して「OK」をクリックします。

重複するセルが強調表示されました。
- 再度同じ手順を行い、今度は「一意」オプションを選択します。

- 最終的なデータセットを確認しましょう。

重複データと一意のデータがそれぞれ異なる色で強調表示されています。
Excelで2つの列を比較して一致数をカウントする
ここでは、SUMPRODUCT関数とCOUNTIF関数を組み合わせて一致数をカウントします。その後、ROWS関数で総行数を求め、一致数を差し引くことで不一致数を計算します。
SUMPRODUCT関数は、対応する範囲や配列の積の合計を返す関数です。
📌 手順:
- まず、「一致」と「不一致」用の2つの行を追加します。

- セルC11に、SUMPRODUCT関数とCOUNTIF関数を使った次の数式を入力します。
=SUMPRODUCT(COUNTIF(B5:B9,C5:C9))

- Enterキーを押して結果を取得します。

一致した行の数が表示されました。
- 次に、セルC12に以下の数式を入力します。
=ROWS(B5:C9)-C11

- 再びEnterキーを押すと、不一致の数が表示されます。

Excelで2つの列を比較して重複を削除する
このセクションでは、2つの列を比較した後に重複データを削除する方法を紹介します。
📌 手順:
- まずデータセットを選択します。
- 「条件付き書式」を開きます。
- 「セルの強調表示ルール」から「重複する値」を選択します。

- 重複を示す色を選びます。

- 重複データを含むセルの色が変わったことを確認します。
- Ctrl + Shift + Lキーを押してフィルター機能を有効にします。

- 2列目の下向き矢印をクリックします。
- 「色フィルター」から重複セルに付けた色を選択します。

- 重複する値だけが表示されるので、その範囲を選択します。
- マウスの右ボタンをクリックします。
- コンテキストメニューから「内容のクリア」を選択します。

- データセットから重複する値が削除されました。

- もう一度フィルターを開き、「すべて選択」にチェックを入れます。

- 重複データが表示されなくなりました。

VLOOKUP関数で2つの列を照合し、3つ目の列から値を抽出する
ここでは2つのデータセットを用意しました。1つ目が「ショールーム1」、2つ目が「ショールーム2」のデータです。各データセットの商品名列を比較し、VLOOKUP関数を使ってショールーム1の価格をショールーム2の表に抽出します。

📌 手順:
- セルF5にVLOOKUP関数を使った次の数式を入力します。
=VLOOKUP($E5,$B$5:$C$10,2,FALSE)

- 「Item (S1)」と「Item (S2)」を比較した後、2つ目の表に価格を抽出できました。

Excelで3つ以上の列を比較する方法
ここまで、2つの列の比較方法を紹介してきました。列が3つ以上ある場合は、以下の方法が使えます。
1. AND関数を使う方法
AND関数は、すべての引数がTRUEであるかどうかを判定し、すべてTRUEの場合にTRUEを返す関数です。
この方法では、すべての条件を判定した後、IF関数で指定したコメントに基づいて結果が表示されます。数式を適用する前に、「ショールーム3」という列を追加しておきましょう。

📌 手順:
- セルE5に次の数式を入力します。
=IF(AND(B5=C5,C5=D5),"Match","Mismatch")

- その後、フィルハンドルを下方向へドラッグします。

これで照合結果が表示されます。
2. COUNTIF関数で比較する方法
COUNTIF関数は、指定した条件を満たす範囲内のセルの個数をカウントする関数で、COUNTA関数は範囲内の空白でないセルの個数をカウントする関数です。
ここでは、これらの関数を使って複数の列を比較します。
📌 手順:
- セルE5に次の数式をコピーします。
=IF(COUNTIF(B5:D5,B5)=COUNTA(B5:D5),"Match","Mismatch")

- フィルハンドルをドラッグします。

これで比較結果が表示されます。
まとめ
この記事では、Excelで2つの列やリストを比較する方法を解説しました。行方向・列方向の両方のアプローチで列を比較するテクニックを紹介しています。ぜひ参考にしてください。当サイトExceldemy.comもあわせてご覧いただき、コメント欄でご意見をお聞かせください。
-
ExcelでANOVA(分散分析)表を作成する3つの方法|結果の読み方も徹底解説
本記事では、ExcelでANOVA(分散分析)表を作成する方法をわかりやすく解説します。ANOVA表は、データセットに対して帰無仮説を採択すべきか棄却すべきかを判断する際に非常に役立つツールです。Excelに標準搭載されている「分析ツール」を活用すれば、難しい計算式を覚えなくても簡単にANOVA表を作成できます。ぜひ本記事を参考に、お手持ちのデータで分析を試してみてください。 ExcelにおけるANOVA(分散分析)とは? ANOVAは「Analysis of Variance(分散分析)」の略称です。Excelでは、帰無仮説を検定するために必要な数値を算出する手法として利用されます。Exce
-
ExcelでXMLを列に変換する4つの方法|初心者でもできる完全ガイド
このチュートリアルでは、ExcelでXMLデータを列に変換する4つの実用的な方法をご紹介します。いずれの方法も大規模なデータセットに対応しており、XMLデータから必要な値を効率よく抽出できます。さらに、本記事で解説するツールやテクニックは、その他のExcel作業全般にも役立つ内容となっています。 練習用ワークブックはこちらからダウンロードできます。 ExcelでXMLを列に変換する4つの方法 手順を分かりやすく説明するため、比較的シンプルなXMLデータセットを使用します。データセットは約7行×2列で構成され、すべてのセルは初期状態で「標準」形式に設定されています。列は「サイトURL」と「日付」