Excel:2つの列の一致と相違を比較する

  • これを共有
Michael Brown

Excelで列を比較することは、誰もが一度は行うことです。 Microsoft Excelには、データを比較・照合するためのオプションが多数ありますが、そのほとんどは1つの列を検索することに焦点を当てています。 このチュートリアルでは、以下のいくつかのテクニックについて説明します。 両列を比較する をExcelで作成し、それらの間の一致と相違を見つけることができます。

    Excelで2つの列を行ごとに比較する方法

    Excel でデータ分析を行う場合、最も頻繁に行われる作業の 1 つが、各行のデータを比較することです。 この作業は、次の例で示すように、IF 関数を使用することで行うことができます。

    例1:2つの列を比較して、同じ行に一致または相違がある場合

    Excelで2つの列を行単位で比較するには、通常のIF式を記述します。 最初の2つのセル 同じ行の他の列に数式を入力し、フィルハンドル(選択したセルの右下隅にある小さな四角)をドラッグして他のセルにコピーします。 このとき、カーソルはプラス記号に変化します。

    マッチの計算式

    同じ行の中で同じ内容のセル、この例ではA2とB2を見つけるには、次のような数式になります。

    =IF(A2=B2,"Match","")

    差分の計算式

    同じ行で異なる値を持つセルを見つけるには、等号を非等号()に置き換えるだけです。

    =IF(A2B2, "No match",")

    一致と相違

    もちろん、一つの計算式で一致と相違の両方を見つけることを妨げるものは何もありません。

    =IF(A2=B2, "Match", "No match")

    または

    =IF(A2B2, "No match", "Match")

    結果はこのような感じになるかもしれません。

    ご覧のように、数式で処理する 計数 , 年月日 , テキスト文字列 も同じように。

    ヒント:Excelの高度なフィルタを使用すると、2つの列を行ごとに比較することもできます。 ここでは、2つの列の一致と差異をフィルタリングする方法を示す例です。

    例2.同じ行の大文字小文字を区別した2つのリストの比較

    お気づきのように、上のスクリーンショットの10行目のように、前の例の数式では、テキスト値を比較するときに大文字と小文字が無視されます。 もし、次のように検索したい場合は、次のようにします。 大文字小文字を区別した一致 各行の2列の間にある場合は、EXACT関数を使用します。

    =IF(EXACT(A2, B2), "Match", "")

    見つけるために 大文字小文字の違い を同じ行に入力し、IF関数の第3引数に対応するテキスト(この例では「Unique」)を入力する、例.

    =IF(EXACT(A2, B2), "Match", "Unique")

    同じ行にある複数の列の一致を比較する

    Excelのワークシートでは、以下の基準で複数の列を比較することができます。

    • で同じ値を持つ行を検索します。 全列 (例1)
    • で同じ値を持つ行を検索します。 任意の2列 (例2)

    例1.同じ行内のすべてのセルで一致するものを探す

    表が3列以上あり、すべてのセルに同じ値を持つ行を見つけたい場合、AND文のついたIF式が効果的です。

    =IF(AND(A2=B2, A2=C2), "完全一致", "")

    もし、テーブルに多くの列がある場合は、COUNTIF関数を使用するのがよりエレガントな解決策となるでしょう。

    =IF(COUNTIF($A2:$E2, $A2)=5, "完全一致", "")

    ここで、5 は比較する列の数です。

    例2:同じ行の任意の2つのセルでマッチを探す

    のカラムを比較する方法を探している場合。 セル 同じ行に同じ値がある場合は、IF 式と OR 文を使用します。

    =IF(OR(A2=B2, B2=C2, A2=C2)), "Match", "")

    比較する列が多い場合、OR文のサイズが大きくなりすぎることがあります。 この場合、複数のCOUNTIF関数を追加するのがよい方法です。 最初のCOUNTIFは、1列目と同じ値を持つ列の数を数え、次のCOUNTIFは、残りの列の中で2列目と等しい列がいくつあるか、など。 数が0なら、数式は「一意」を返します。"Match "以外の場合。 例えば

    =IF(COUNTIF(B2:D2,A2)+COUNTIF(C2:D2,B2)+(C2=D2)=0, "Unique", "Match"(ユニーク))

    Excelで2つの列を比較して一致と相違を求める方法

    Excelに2つのデータリストがあり、A列にありB列にないすべての値(数字、日付、テキスト文字列)を見つけたいとします。

    そのためには、IFの論理テストにCOUNTIF($B:$B, $A2)=0関数を埋め込んで、それが0(一致するものがない)かそれ以外の数値(少なくとも1つ一致するものがある)を返すかどうかチェックすればいい。

    たとえば、次の IF/COUNTIF 式は、セル A2 の値を B 列全体で検索します。 一致する値がない場合、この式は "No match in B" を返し、それ以外の場合は空の文字列を返します。

    =IF(COUNTIF($B:$B, $A2)=0, "Bに一致するものがない", "")

    ヒント:テーブルの行数が一定の場合、列全体($B:$B)ではなく、特定の範囲(例:$B2:$B10)を指定すると、大きなデータセットで数式が高速に動作するようになります。

    ISERROR関数とMATCH関数が組み込まれたIF式を使用しても、同じ結果を得ることができます。

    =IF(ISERROR(MATCH($A2,$B$2:$B$10,0)), "No match in B","")

    または、次のような配列式で入力します(Ctrl + Shift + Enterキーで正しく入力することを忘れないでください)。

    =IF(SUM(--($B$2:$B$10=$A2))=0, " Bに一致するものはありません", "")

    一つの数式で、一致(重複)と相違(ユニークな値)の両方を識別したい場合は、上記のいずれかの数式で、空の二重引用符("")の中に一致のためのテキストを入れます。 例えば、以下のようになります。

    =IF(COUNTIF($B:$B, $A2)=0, "No match in B", "Match in B")

    Excelで2つのリストを比較し、一致するものを引き出す方法

    時には、2つの異なるテーブルの2つの列を一致させるだけでなく、ルックアップテーブルから一致するエントリを引き出す必要があるかもしれません。 Microsoft Excelには、このための特別な関数、VLOOKUP関数があります。 代替手段として、より強力で汎用性の高いINDEX MATCH式を使用できます。 Excel 2021およびExcel 365のユーザーは、XLOOKUP関数でタスクを達成することができます。

    例えば、以下の数式では、D列の商品名とA列の商品名を比較し、一致した場合はB列から対応する売上高を引き出し、それ以外の場合は#N/Aエラーを返します。

    =vlookup(d2, $a$2:$b$6, 2, false)

    =index($b$2:$b$6, match($d2, $a$2:$a$6, 0))

    =xlookup(d2, $a$2:$a$6, $b$2:$b$6)

    詳しくは、「VLOOKUPを使って2つの列を比較する方法」をご覧ください。

    数式が苦手な方は、高速で直感的なソリューションであるテーブルのマージウィザードを使用することで、作業を行うことができます。

    2つのリストを比較し、一致点と相違点を強調する

    Excelで列を比較する際、一方の列にはあって他方の列にはない項目を「見える化」したい場合があります。 Excelの条件付き書式機能を使えば、そのようなセルに好きな色で影をつけることができますので、以下の例で詳しい手順を説明します。

    例1.各行の一致と相違を強調する。

    2つの列とExcelを比較し、A列のセルにハイライトを付けるには どうき を同じ行のB列に入力し、以下を実行します。

    • ハイライトしたいセルを選択します(1つの列内のセル、または行全体に色をつけたい場合は複数の列のセルを選択できます)。
    • クリック 条件付き書式設定> 新しいルール.> 書式を使って、どのセルに書式を設定するかを決定する .
    • のような簡単な計算式でルールを作成します。 =$B2=$A2 (上の式のように、相対行参照($記号なし)を使用していることを再確認してください。

    を強調するために 相違点 A列とB列の間に、この式でルールを作成します。

    =$B2$A2

    Excelの条件付き書式を初めて使う方は、「数式を使った条件付き書式ルールの作り方」で手順を確認してください。

    例2.各リストのユニークなエントリーを強調表示する

    Excelで2つのリストを比較する場合、ハイライトできる項目が3種類あります。

    • 1番目のリストにのみ存在する項目(ユニーク)
    • 2番目のリストにしかない項目(ユニーク)
    • 両方のリストに含まれる項目(重複) - 次の例で示します。

    この例では、1つのリストにのみ含まれる項目に色を付ける方法を示します。

    リスト1がA列(A2:A6)、リスト2がC列(C2:C5)にあるとすると、以下の数式で条件付き書式ルールを作成します。

    リスト1(A列)の一意の値を強調表示します。

    =countif($c$2:$c$5, $a2)=0

    リスト2(C列)のユニークな値を強調表示します。

    =countif($a$2:$a$6, $c2)=0

    そして、次のような結果を得る。

    例3:2列間の一致(重複)を強調表示する。

    前の例に忠実に従えば、COUNTIF式が差分ではなく一致を見つけるように調整するのは難しいことではありません。 必要なのは、カウントを0より大きく設定することです。

    リスト1(A列)のマッチをハイライト表示します。

    =COUNTIF($C$2:$C$5, $A2)>0

    リスト2(C列)のマッチをハイライトしてください。

    =COUNTIF($A$2:$A$6, $C2)>0

    複数の列で行の違いや一致を強調する

    複数の列の値を行ごとに比較する場合、一致する値を強調するには条件付き書式ルールを作成するのが最も手っ取り早く、差異を陰で処理するには スペシャルへ 機能を搭載していることを、以下の例で示します。

    例1.複数の列を比較し、行の一致を強調する

    を持つ行を強調表示する。 全列同一値 を選択し、次のいずれかの数式に基づいた条件付き書式ルールを作成します。

    =and($a2=$b2, $a2=$c2)

    または

    =countif($a2:$c2, $a2)=3

    ここで、A2、B2、C2は最上位のセル、3は比較する列の数です。

    もちろん、ANDやCOUNTIFの式は3つの列だけを比較することに限定されるものではなく、4、5、6またはそれ以上の列で同じ値を持つ行を強調するために同様の式を使用することができます。

    例2:複数の列を比較し、行の違いを強調する

    個々の行で異なる値を持つセルを素早く強調表示するには、Excelの スペシャルへ 機能を搭載しています。

    1. 比較したいセル範囲を選択します。 この例では、セルA2〜C8を選択しています。

      デフォルトでは、選択した範囲の一番上のセルがアクティブセルとなり、同じ行の他の選択した列のセルがそのセルと比較されます。 上のスクリーンショットにあるように、アクティブセルは白く、選択した範囲の他のセルはすべてハイライトされています。 この例では、アクティブセルがA2であるため 比較級 はA列です。

      への 比較欄を変更する 選択したセルを左から右へ移動するにはTabキーを、上から下へ移動するにはEnterキーを使用します。

      ヒント:選択するには 非隣接列 アクティブなセルは、最後の列(または隣接する列の最後のブロック)になります。 比較列を変更するには、上記のようにTabキーまたはEnterキーを使用します。

    2. について ホーム タブに移動します。 編集 をクリックします。 検索&選択 > 特集へ... 次に、以下を選択します。 列の違い をクリックしてください。 よっしゃー ボタンをクリックします。
    3. 各行の比較セルと値が異なるセルには色が付けられています。 ハイライトされたセルに何らかの色を付けたい場合は、単に 塗りつぶし色 アイコンをクリックし、お好みの色を選択します。

    Excelで2つのセルを比較する方法

    実際、2つのセルを比較することは、列内の他のセルに数式をコピーする必要がないことを除けば、Excelの行ごとの2列の比較の特殊なケースと言えます。

    たとえば、セルA1とC1を比較する場合、次のような数式を使用します。

    マッチの場合。

    =IF(A1=C1, "Match", "")

    差異について。

    =IF(A1C1, "Difference", "")

    Excelでセルを比較する他のいくつかの方法については、以下をご覧ください。

    • Excelで2つの文字列を比較する方法
    • 2つのセルが一致するか、複数のセルが等しいかどうかをチェックする

    Excelで2つの列/リストを比較する数式不要の方法

    Excelが提供する列の比較とマッチングについてご理解いただけたと思います。 このツールは「2つのテーブルを比較する」という名前で、弊社の究極のスイートに含まれています。

    このアドインは、2つの表やリストを任意の数の列で比較し、(数式で行ったように)一致/差異を特定し、(条件付き書式で行ったように)強調表示することができます。

    今回は、以下の2つのリストを比較し、両方に存在する共通の値を探します。

    2つのリストを比較するために必要な手順は以下のとおりです。

    1. をクリックすることから始めます。 テーブルの比較 ボタンをクリックします。 エイブルビットのデータ タブで表示します。
    2. を選択します。 第一列・第二列 をクリックします。 次のページ アドインで言えば、これが表1です。
    3. 2つ目を選択 列記 をクリックします。 次のページ アドインで言えば、表2であり、同じワークシート、異なるワークシート、あるいは別のワークブックに存在させることができます。
    4. どのようなデータを探すか選択する。
      • デュプリケート 価値観 (matches) - 両方のリストに存在する項目。
      • ユニーク 価値観 (相違点) - リスト1には存在するが、リスト2には存在しない項目。

      目的は一致するものを見つけることなので、最初のオプションを選択して 次のページ .

    5. を選択する重要なステップです。 比較欄 この場合、2つの列を比較するだけなので、選択は自明です。 2000年受賞者 に対して 2021年受賞者 大きな表では、複数の列のペアを選択して比較することができます。
    6. 最後のステップでは、見つかったアイテムの処理方法を選択し、[OK]をクリックします。 仕上がり .

      ここでは、いくつかのオプションが用意されていますが、今回の目的では、この2つが最も便利です。

      • 色で強調する - は、選択された色の一致または相違を示します(Excelの条件付き書式がそうであるように)。
      • ステータス欄で確認する - が挿入されます。 ステータス カラムに "Duplicate "または "Unique "のラベルを付ける(IF式がそうであるように)。

    この例では、以下の色で重複を強調することにしました。

    そして、一瞬で次のような結果が出ました。

    とともに ステータス 列の場合、結果は次のようになります。

    ヒント:比較するリストが異なるワークシートやワークブックにある場合、Excelシートを並べて表示すると便利な場合があります。

    このように、Excelの列を比較して、一致(重複)、相違(ユニークな値)を調べることができます。 このツールを試してみたい方は、以下のリンクから評価版をダウンロードしてください。

    また、他のチュートリアルもぜひご覧ください。)

    ダウンロード可能なもの

    Excelリストの比較 - 例 (.xlsxファイル)

    Ultimate Suite - 体験版 (.exeファイル)

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。