KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

2 つの列を比較してExcel で重複データを検索(完全ガイド)

著者Xiaoyang変更日

Excel で2 つの列にまたがる重複する値を特定するのは、データ分析においてごく一般的な作業です。これにより、データ入力ミスや重複レコードを簡単に見つけ出し、効果的なデータクレンジングが可能になります。本記事では、2 つの列間で重複または一致する値を、より効率的かつ正確に特定する方法をご紹介します。

Excelで2つの列間の重複値が特定されているスクリーンショット。

2 つの列を比較して重複する値を検出

2 つの列を行単位で一致を比較

2 つの列を比較して一致するデータを抽出


2 つの列を比較して重複する値を検出

2 つの列間で重複する値を検出するには、視覚的に把握しやすいように強調表示する方法や、詳細分析のために抽出する方法など、目的に応じたさまざまな手法があります。本セクションでは、Excel でこのタスクを簡単に達成できるテクニックをいくつかご紹介します。

2 つの列で条件付き書式を使用するを使って重複を強調表示

Excel で2 つの列にまたがる重複を強調表示するのは、特に手動での確認が困難な大規模データセットにおいて、重複データを効率的に特定するための優れた方法です。こうした課題には、条件付き書式機能がぴったりの解決策となります。

手順1:重複を強調表示したい列のデータを選択します

この例では、A2:A10 を選択します(下記のスクリーンショットを参照)。
Excelで重複をハイライトするために列Aが選択されているスクリーンショット

手順2:条件付き書式を使用する機能を適用します

  1. 「ホーム」>「条件付き書式を使用する」>「新しいルール」をクリックしてください(下記スクリーンショットをご参照ください)。
    Excelの条件付き書式メニューのスクリーンショット
  2. 「新しい書式設定のルール」ダイアログボックスで、次の操作を行ってください:
    • 2.1「ルールの種類の選択」リストボックスで、「数式を使用して書式設定するセルを決定する」を選択してください。
    • 2.2「次の数式を満たす値の書式設定」テキストボックスに、以下の数式を入力してください。
      =COUNTIF($B$2:$B$10, A2)>0
    • 注:上記の数式において、「B2:B10」は比較対象のデータリストを、「A2」は重複をハイライトしたい列の先頭セルを表します。この数式は、セル A2 の値が列 B 内に存在するかどうかをチェックします。ご自身のデータに合わせてセル参照を適宜修正してください。
    • 2.3 次に、「書式設定」ボタンをクリックしてください。
    • Excelで重複をハイライトするための「新しい書式ルール」ダイアログボックスのスクリーンショット
  3. 表示された「セルの書式設定」ダイアログボックスで、重複するアイテムを強調表示する色を指定し、「OK」をクリックしてください。
    Excelでハイライト色を選択するための「セルの書式設定」ダイアログボックスのスクリーンショット
  4. 「新しい書式設定のルール」ダイアログボックスに戻ったら、「OK」ボタンをクリックしてください。

結果:

これで、列 A と列 B の両方に存在する重複値が、下記スクリーンショットのように列 A 内でハイライトされました。
Excelで条件付き書式を使用して列Aの重複がハイライトされているスクリーンショット

ヒント:
  • 「条件付き書式を使用する」内の重複ルールでは、大文字と小文字は区別されません。そのため、「Apple」と「apple」の両方が重複としてマークされます。
  • 列 B の重複をハイライトしたい場合は、まず列 B を選択し、次に「条件付き書式」で以下の数式を適用してください。
    =COUNTIF($A$2:$A$10, B2)>0

2 つの列で重複を選択して強調表示 — 強力なツール「Kutools」を使用

場合によっては、強調表示にとどまらず、重複するセルを選択してワークブック内の別の場所にコピー&ペーストしたいこともあるでしょう。「Kutools for Excel」の「同じ/異なるセルを選択」機能は、まさにこうしたシーンに最適です。この機能を使えば、重複値や一意の値を簡単に識別でき、必要なセルを瞬時に強調表示・選択できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して創造性と生産性を高めます。AI 機能と統合されたKutools は正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

「Kutools」>「選択」>「同じ/異なるセルを選択」をクリックします。「同じ/異なるセルを選択」ダイアログボックスで、以下の操作を行ってください:

  1. 「値の検索元」ボックスと「基準」ボックスで、それぞれ検索対象データと比較対象データを指定してください。
  2. 「基準」セクションで「各行ごと」を選択してください。
  3. 「検索」セクションで「同じ値」を選択してください。
  4. 「選択結果の処理」セクションで、重複する値を強調表示する背景色を指定します。
  5. 最後に、「OK」ボタンをクリックしてください。
    重複を特定するための「同じ&異なるセルを選択」ダイアログのスクリーンショット

結果:

これで、列 A と列 B の両方に存在する重複値が列 A 内で強調表示され、選択されました。あとは任意のセルにコピー&ペーストするだけです(下記スクリーンショットをご参照ください)。
Kutoolsを使用してExcelで重複がハイライトされ、選択されているスクリーンショット

ヒント:
  • この機能は、「同じ/異なるセルを選択」ダイアログで「大文字と小文字を区別」チェックボックスがオンの場合、大文字と小文字を区別して比較します。
  • 列 B の重複を選択したい場合は、「同じ/異なるセルを選択」ダイアログボックスで、「次の範囲で値を検索」および「基準」の各ボックスに指定されている2 つの列を入れ替えるだけで済みます。
  • この機能をご利用になるには、Kutools for Excel をダウンロードしてインストールしてください。

数式を使って2 つの列で重複を検出して抽出

2 つの列間で重複を検出して抽出するには、数式を使って重複を簡単に特定・抽出できます。

結果を表示したい空のセルに以下の数式をコピー&ペーストし、フィルハンドルを下にドラッグして他のセルにも適用してください。

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

注: 上記の数式において、「A2」は重複を検索したい列の先頭セルを示し、「B2:B10」は比較対象となるデータリストを表します。

結果:

ご覧のとおり、列 A のデータが列 B に存在する場合はその値が表示され、存在しない場合はセルは空白のままになります。
Excelで数式を使用して2つの列間の重複を検索・抽出しているスクリーンショット

ヒント:この数式は大文字と小文字を区別しません。

VBA コードを使用して2 つの列で重複を選択を行う

このセクションでは、2 つの列に含まれる重複する値を特定し、選択するための VBA コードを作成する手順を説明します。

手順1: VBA モジュールエディターを開き、コードをコピーする

  1. 「Alt + F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きましょう。
  2. 開いたウィンドウで、「挿入」>「モジュール」をクリックし、新しい空のモジュールを作成してください。
  3. 次に、以下のコードを空のモジュールにコピー&ペーストしてください。
    VBA コード:2 つの列間の重複する値を検出して選択
    Sub Compare()
    'Update by Extendoffice
    Dim Range1 As Range, Range2 As Range, Rng1 As Range, Rng2 As Range, outRng As Range
    xTitleId = "KutoolsforExcel"
    On Error Resume Next
    Set Range1 = Application.Selection
    Set Range1 = Application.InputBox("Range1 :", xTitleId, Range1.Address, Type:=8)
    Set Range2 = Application.InputBox("Range2:", xTitleId, Type:=8)
    Application.ScreenUpdating = False
    For Each Rng1 In Range1
        xValue = Rng1.Value
        For Each Rng2 In Range2
            If xValue = Rng2.Value Then
                If outRng Is Nothing Then
                    Set outRng = Rng1
                Else
                    Set outRng = Application.Union(outRng, Rng1)
                End If
            End If
        Next
    Next
    outRng.Select
    Application.ScreenUpdating = True
    End Sub
    

手順2: この VBA コードを実行する

  1. このコードを貼り付けたら、「F5」キーを押して実行してください。最初のプロンプトボックスで、重複をチェックする元となるデータリストを選択し、「OK」をクリックします。
    Excelで重複を検索するVBAコードを実行する際に表示される、データリストを選択する最初のプロンプトのスクリーンショット
  2. 2 番目のプロンプトボックスで、比較対象のデータリストを選択し、「OK」をクリックしてください(下記スクリーンショット参照)。
    ExcelでVBAコードを実行する際に表示される、比較用データリストを選択する2番目のプロンプトのスクリーンショット

結果:

これにより、列 A と列 B で重複する値が列 A 内から選択されるため、必要に応じてセルに色を付けたり、コピー&ペーストしたりできます。
ExcelでVBAコードを実行した後、列Aの重複値が選択されているスクリーンショット

ヒント:
  • この VBA コードは「大文字と小文字を区別」します。
  • 列 B の重複を選択したい場合は、データの選択範囲を指定する際に、選択中の2 つの列を入れ替えるだけで OK です。

2 つの列を行単位で一致を比較

Excel では、レコードの照合やデータ傾向の分析など、さまざまな作業で2 つの列を各行ごとに比較し、一致するかどうかを確認することがよくあります。Excel には、簡単な数式から専用機能まで、多彩な比較方法が用意されており、データの要件に最適な手法を柔軟に選べます。ここでは、こうした作業を効果的にこなすためのシンプルで実用的な方法をいくつかご紹介します。

同じ行にある2 つの列を数式で比較

Excel の数式を使えば、列間のデータ比較が簡単かつ強力に実行できます。以下にその使い方をご紹介します。列 A と列 B にデータがあると仮定し、これら2 つの列のデータが一致するかどうかを確認したい場合、次の数式が役立ちます。

ヒント:これらの数式は汎用性が高く、テキストだけでなく、数値や日付、時刻にも対応しています。
等号演算子(=)の使用:

以下の数式を入力またはコピーし、「Enter」キーを押した後、フィルハンドルを下にドラッグしてすべての結果を取得してください。列 A と列 B の同じ行の値が一致する場合は TRUE、そうでない場合は FALSE を返します。スクリーンショットをご参照ください。

=A2=B2

Excelで等号(=)演算子を使用して2つの列を比較した結果のスクリーンショット

IF 関数:

比較結果をより分かりやすくしたい場合は、IF 関数でカスタムメッセージを表示できます。

以下の数式を入力またはコピーし、「Enter」キーを押した後、フィルハンドルを下にドラッグしてすべての結果を取得してください。値が一致する場合は「一致」、異なる場合は「不一致」を返します。スクリーンショットをご参照ください。

=IF(A2=B2, "Match", "No Match")
ヒント:「一致」や「不一致」は、必要に応じて他の表現に置き換えることができます。

ExcelでIF関数を使用して2つの列を比較し、「一致」または「不一致」と表示した結果のスクリーンショット

EXACT 関数:

大文字と小文字を区別して比較したい場合は、「EXACT 関数」をご利用ください。

以下の数式を入力またはコピーし、「Enter」キーを押した後、フィルハンドルを下にドラッグしてすべての結果を取得してください。値が完全に一致する場合は「一致」、異なる場合は「不一致」と表示されます。スクリーンショットをご参照ください。

=IF(EXACT(A2,B2), "Match", "No match")   
ヒント:「一致」や「不一致」は、必要に応じて他の表現に置き換えることができます。

Excelで大文字小文字を区別するEXACT関数を使用して2つの列を比較した結果のスクリーンショット


便利なツール「Kutools」で同じ行の一致を選び出して強調表示

比較結果を別の列に出力する代わりに、2 つの列の各行ごとに一致するセルを直接選択して色付けしたいなら、Kutools for Excel の「セルの比較」機能が最適です。この機能を使えば、各行内で値が一致または相違するセルを素早く選択し、塗りつぶし色を簡単に適用できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して創造性と生産性を高めます。AI 機能と統合されたKutools は正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

「Kutools」>「セルの比較」をクリックし、「セルの比較」ダイアログボックスで以下の操作を行ってください。

  1. 「値の検索元」と「基準」の各ボックスで、それぞれ対応する2 つの列のデータを選択してください。
  2. 「検索」セクションで「同じセル」を選択してください。
  3. 「選択結果の処理」セクションで、一致項目を強調表示する背景色を指定します。
  4. 最後に、「OK」ボタンをクリックしてください。
    Kutools for Excelの「セルを比較」ダイアログボックスで、同じ行の一致をハイライトしているスクリーンショット

結果:

これにより、同じ行の一致セルが列 A 内でハイライトされ、選択されるため、任意のセルにコピー&ペーストできます。スクリーンショットをご参照ください。
Kutools for Excelの「セルを比較」機能を使用して、同じ行の一致がハイライトされているスクリーンショット

ヒント:
  • この機能は、「セルの比較」ダイアログボックスで「大文字と小文字を区別」オプションをオンにすると、「大文字と小文字を区別」して比較します。
  • 列 B の一致項目を選択したい場合は、「セルの比較」ダイアログボックスで、「次の範囲で値を検索」および「基準」ボックスに指定されている2 つの列を入れ替えるだけで済みます。
  • この機能をご利用になるには、Kutools for Excel をダウンロードしてインストールしてください。

2 つの列を比較して同じ行の一致を強調表示

Excel では、条件付き書式を使用するを使用して2 つの列を比較し、同じ行の一致セルを効率的にハイライトできます。以下に、行単位の一致を特定してハイライトする手順を示します。

手順1: データ範囲を選択する

データ範囲を選択して、その行内の一致するセルをハイライトしましょう。

手順2: 条件付き書式を使用する機能を適用する

  1. 「ホーム」>「条件付き書式を使用する」>「新しいルール」をクリックします。「新しい書式設定のルール」ダイアログボックスで、以下の操作を行ってください。
    • 2.1「ルールの種類の選択」リストボックスで、「数式を使用して書式設定するセルを決定する」を選択してください。
    • 2.2「次の数式を満たす値の書式設定」テキストボックスに、以下の数式を入力してください。
      =$B2=$A2
    • 2.3 次に、「書式設定」ボタンをクリックしてください。
    • Excelで条件付き書式を使用して行内の一致をハイライトするための「新しい書式ルール」ダイアログボックスのスクリーンショット
  2. 表示された「セルの書式設定」ダイアログボックスで、一致するアイテムを強調表示する色を指定し、「OK」をクリックしてください。
    Excelでハイライト色を選択するための「セルの書式設定」ダイアログボックスのスクリーンショット
  3. 「新しい書式設定のルール」ダイアログボックスに戻ったら、「OK」ボタンをクリックしてください。

結果:

これにより、同じ行にある一致する値が一括でハイライトされます。スクリーンショットをご参照ください。
Excelで条件付き書式を使用して行の一致がハイライトされているスクリーンショット

ヒント:
  • 条件付き書式で使用する数式は、大文字と小文字を区別しません。
  • 値が異なるセルをハイライトしたい場合は、以下の数式を適用してください。
    =$B2<>$A2

2 つの列を比較して一致するデータを抽出

Excel で2 つのデータセットを扱い、一方のリストに含まれる項目がもう一方にも存在するかを確認したい場合、こうした一致を取得するにはルックアップ数式が最適な解決策です。

Excel で列 A に果物のリスト、列 B にその販売数量が記録されており、列 D にある特定の果物リストと照合して対応する販売数量を取得したい場合、列 B から該当する値をどのように返せばよいでしょうか?
Excelで一致するデータを比較・取得するために使用される2つのデータリストのスクリーンショット

必要な数式を次のいずれかから選んで適用し、その後フィルハンドルを下にドラッグして他のセルにも同じ数式を適用してください。

  • すべてのExcel バージョン対応
    =VLOOKUP(D2, $A$2:$B$6, 2, FALSE)
  • Excel 365 およびExcel 2021
    =XLOOKUP(D2, $A$2:$A$6, $B$2:$B$6)

結果:

一致が見つかった場合、すべての対応する値が表示されます。見つからない場合は#N/A エラーが返されます。スクリーンショットをご参照ください。
ExcelでVLOOKUPを使用して一致するデータを取得した結果のスクリーンショット

ヒント:
  • 上記の数式では、列 D に列 A と一致しない果物が含まれている場合、エラーが返されます。こうしたエラーをよりわかりやすく表示するには、IFERROR 関数で数式をラップしましょう。
    • すべてのExcel バージョン
      =IFERROR(VLOOKUP(D2,$A$2:$B$10,2,FALSE), "No match found")
    • Excel 365 およびExcel 2021
      =IFERROR(XLOOKUP(D2, $A$2:$A$10, $B$2:$B$10),"No match found")
  • 高度な検索機能をお探しの方へ!「Kutools for Excel」には、従来の VLOOKUP 関数をさらに進化させた多彩な高度検索関数が豊富にラインナップされており、データ管理タスクの精度と効率を飛躍的に高めます。
    Kutools for Excelの高度な検索ツールを使用して一致するデータを取得しているスクリーンショット
    Kutools for Excel には、生産性を大幅にアップさせる300 以上の便利ツールが収録されています。今すぐ全機能を体験して、スプレッドシート作業を次のレベルへ引き上げましょう!今すぐ入手!

関連記事:

  • 範囲内で重複行を検索・ハイライト
  • ワークシートのデータ範囲内には重複レコードが含まれている場合があり、次のようなスクリーンショットのように、範囲内の重複行を検索したりハイライトしたりしたいことがあります。もちろん、行を1 つずつ確認すれば見つけられますが、数百行もあると非効率です。ここでは、このタスクをより効率的にこなすためのいくつかの便利な方法をご紹介します。
  • 重複する値を異なる色でハイライト
  • Excel では、条件付き書式を使って列内の重複値を簡単に1 色でハイライトできますが、次のようなスクリーンショットのように、重複をより素早く簡単に識別できるよう、重複する値をそれぞれ異なる色でハイライトしたい場合もあるでしょう。Excel でこのタスクをどのように実現すればよいでしょうか?
  • Excel で重複を検索・ハイライト・フィルター・カウント・削除
  • Excel では、手動でのデータ入力や他のソースからのコピーなど、さまざまな理由で重複データが繰り返し発生します。場合によっては、こうした重複が有用で必要なケースもありますが、一方でエラーや誤解を招くこともあります。ここでは、Excel の数式や条件付き書式、サードパーティのアドインなどを活用し、重複データを素早く識別・強調表示・フィルター・カウント・削除する方法をご紹介します。
  • 重複を削除して空白セルに置き換える
  • 通常、Excel の「重複の削除」コマンドを適用すると、重複する行全体が削除されます。しかし、場合によっては重複する値だけを空白セルに置き換えたいこともあります。こうしたケースでは、「重複の削除」コマンドは使えません。本記事では、Excel で重複する値を削除し、その代わりに空白セルに置き換える方法をご紹介します。