Excelで2つの列の間で一意/重複する値を見つけるにはどうすればよいですか?
日常的なExcelタスクでは、2つのデータリスト(例えば、異なる長さの学生名の列)を比較して、両方のリストに存在する値(重複)や一方のリストにのみ存在する値(一意)を特定することが一般的です。これを手動で行うと、特に大規模なデータセットの場合、エラーが発生しやすく時間がかかります。この記事では、2つの列を迅速に比較し、Excelで一意または重複する値を見つけたりハイライトしたりするための複数の効率的な方法を紹介します。
➤ 数式を使用して2つの列間の一意または重複する値を見つける
➤ Kutools for Excelを使用して一意または重複する値を見つける
➤ Kutoolsの数式を使用して一意または重複する値を見つけてカウントする
➤ VBAを使用して一意/重複する値をハイライトまたは抽出する
➤ 条件付き書式を使用して一意または重複する値を目立たせる
数式を使用して2つの列間の一意/重複する値を見つける
ある列に固有の値をすばやく識別したり、2つの列にまたがる重複を特定したい場合、Excelの数式を利用すると効率的で柔軟に対応できます。このアプローチは、データが変更されたときに自動的に更新される動的なソリューションが必要な場合に特に有用です。
例えば、列Aのどの値が列Cに存在しないか(つまり、列Aに固有の値)を判断するには、次のVLOOKUP関数とISNA関数を使用します:
セルB2に次の数式を入力します:
=IF(ISNA(VLOOKUP(A2,$C$2:$C$13,1,FALSE)),"Yes","")
数式を入力した後、オートフィルハンドルをB2からB15までドラッグして、列Aのデータに隣接する範囲全体に適用します。
列Bの数式が「Yes」を返した場合、列Aの対応する値は列Cに存在しないことを示します—つまり、それは列Aに固有のものです。セルが空白の場合、その値は両方の列に存在することを意味します。この方法は直接的であり、重複のあるなしに関わらずシームレスに動作します。
注意:
- 数式では、A2は列Aで確認したい値を指し、$C$2:$C$13は列Cで比較したい範囲を指定します。実際のデータに基づいてこれらの範囲を必要に応じて調整してください。
- 列Cに固有の値(つまり、列Cには存在するが、列Aには存在しない値)を見つけるには、列Cの隣にある空白セル(例:D2)に次の数式を入力し、下にドラッグします:
=IF(ISNA(VLOOKUP(C2,$A$2:$A$15,1,FALSE)),"Yes","")
- 数式を複数行にコピーする予定がある場合は、すべての関連データを含むように範囲を設定し、比較範囲に対して絶対参照($記号を使用)を使用してください。
実用的なヒント: データセットが大きい場合、この数式ベースのアプローチを使用することで、列が変更された際に自動的に更新されるため、動的なリストに最適な選択肢となります。
よくある問題: データに余分なスペースや大文字小文字の違いがある場合、結果が期待通りにならない可能性があります。このような場合には、TRIMやUPPER/LOWER関数を使用してデータをクリーンアップすることを検討してください。
Kutools for Excelを使用して2つの列間の一意/重複する値を見つける
さらに効率的な方法で2つの列を比較し、瞬時に選択、カウント、または一意または重複する値を強調表示したい場合、Kutools for Excelは実用的な「同じセルと異なるセルを選択」機能を提供します。このユーティリティは、数式や複雑なルールを設定することなく、ユーザーインターフェースを簡単に操作したいユーザーに最適です。頻繁な比較作業を行う際に特に効果的で、一意または重複するセル値を即座に視覚的に識別して選択することができます。
1. 「Kutools」 > 「選択」 > 「同じセルと異なるセルを選択」をクリックします。

2. 「同じセルと異なるセルを選択 」ダイアログボックスで、以下の手順に従います:
- (1) 「Find Values in」ボックスでチェックしたい最初の列の値を指定します;
- (2) 「According to」ボックスで比較列を設定します;
- (3) 「Based on」で「Each row」オプションを選択します;
- (4) 「Find」内で「Different Values」を選択して、一意の項目を特定します;
- (5) 必要に応じて、「Fill backcolor」を有効にして、結果のハイライト色を選択します;
- (6) 比較を実行するために「OK」をクリックします。
注意: (1) 列にヘッダーがある場合は、「My data has headers」オプションをチェックします。(2) 重複する値を見つけるには、比較ダイアログで「Same Values」を選択します。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
3選択した列内のすべての一意(または重複)する値が即座にハイライトされ、選択されます。一致したセルの数を示すダイアログボックスが表示されます。
列Cに固有の値(列Aにはない値)を見つける必要がある場合、「Range A」と「Range B」の範囲割り当てを入れ替え、上記のプロセスを繰り返します。
このソリューションは、直感的な比較ツールを好むユーザー、および数式を作成したりコピーしたりせずに様々なサイズのデータセットを処理する必要があるユーザーにお勧めです。
ヒント: 背景色のハイライトを使用することで、結果を提示またはレビューする際に、主要なデータの違いを目視で一目で識別できるようになります。これは非常に価値があります。
Kutools for Excelの数式を使用して、2つの列間の一意/重複する値を見つけてカウントする
ある列の値が別の列に何回出現するかを見つけてカウントしたいユーザーのために、Kutools for Excelは「Count times a word appears」数式をFormula Helperを通じて提供しています。このオプションは、IDの照合、製品リスト、出勤記録など、各値の出現頻度を知ることが重要なシナリオに適しています。
1最初の列に隣接する空白セル(例:B2)を選択します。次に、 Kutools > Formula Helper > Count times a word appears.
2「Formula Helper」ダイアログで、比較列(例: $C$2:$C$13)の絶対範囲を Text ボックスに入力し、最初の列のセル(例: A2)を Word ボックスで選択します。次に「 OK.

3. 塗りつぶしハンドルを使用して、Column Bの他のセルに数式の結果をドラッグします。これで、Column Aの各値がColumn Cに何回表示されるかがわかります。
結果が0の場合、その値はColumn Aに固有であることを意味します。1以上の場合は、その値が両方の列に存在することを示し、数字は出現回数を表します。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
操作のヒント: 範囲参照には絶対アドレスを使用して、数式が列内に正しく埋め込まれるようにし、各行の対応するアイテムをチェックしてください。
シナリオに関するアドバイス: この方法は、メンバーリスト、製品SKU、または2つのデータソースで頻度分析が必要なあらゆるケースに理想的です。
エラーメモ: 範囲が実際のデータと一致していない場合、またはデータ型に不整合がある場合(数字をテキストとして扱うなど)、数式を使用する前にリストを標準化してください。
デモ: Excelで2つの列間の一意/重複する値を見つける
VBAを使用して2つの列間の一意/重複する値をハイライトまたは抽出する
頻繁に自動化された反復可能なプロセスを必要とする場合、VBA(Visual Basic for Applications)を使用することで、2つの列間の一意または重複する値をハイライトまたは抽出するハンズフリーのソリューションを提供できます。VBAスクリプトを使用すると、長さの異なる列を即座に処理し、フラグを立てたり、色付けしたり、さらには別の場所にリスト化することもでき、大規模なデータセットや頻繁に更新されるデータセットの効率を大幅に向上させます。
このアプローチは、マクロに慣れ親しみ、手動での操作を最小限に抑えたい、または複数のシートやワークブックにわたってソリューションを適用したいユーザーに特に適しています。
1. Excelファイルを開きます。次に、Excelリボンで「Developer」>「Visual Basic」に移動してVBAエディターを開きます。エディターで「Insert」>「Module」をクリックし、次のコードをモジュールウィンドウに貼り付けます:
例:選択された2つの列間の重複値をハイライトする。
Sub HighlightDuplicatesBetweenColumns()
Dim rngA As Range, rngB As Range
Dim cell As Range
Dim ws As Worksheet
Dim xTitleId As String
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
' Ask user to select the first range
Set rngA = Application.InputBox("Select the first range (e.g., Column A):", xTitleId, , , , , , 8)
If rngA Is Nothing Then Exit Sub
' Ask user to select the second range
Set rngB = Application.InputBox("Select the second range (e.g., Column C):", xTitleId, , , , , , 8)
If rngB Is Nothing Then Exit Sub
' Highlight duplicates in both ranges
For Each cell In rngA
If cell.Value <> "" And WorksheetFunction.CountIf(rngB, cell.Value) > 0 Then
cell.Interior.Color = RGB(255, 255, 0) ' Yellow
End If
Next cell
For Each cell In rngB
If cell.Value <> "" And WorksheetFunction.CountIf(rngA, cell.Value) > 0 Then
cell.Interior.Color = RGB(255, 255, 0) ' Yellow
End If
Next cell
MsgBox "Duplicate values have been highlighted in yellow.", vbInformation, xTitleId
End Sub
2. コードを貼り付けたら、エディターを閉じます。Excelに戻り、「Alt + F8」を押してマクロリストから「HighlightDuplicatesBetweenColumns」を選択し、「Run」をクリックします。プロンプトが出たら、ターゲットとなる2つの範囲を選択します。
💡 一意の値をハイライトする場合: 両方のIf
ステートメントで比較条件を > 0
から = 0
に変更し、必要に応じて異なる色(例:緑)を選択します。
ヒント: マクロを実行する前に必ずワークシートをバックアップしてください。セルの書式設定の変更はCtrl+Zで元に戻せません。また、好みに合わせてカラーコード(例:RGB(255,255,0)
)を調整することもできます。
トラブルシューティング: エラーが発生した場合は、以下を確認してください:
- Excelで「Developer」タブが有効になっていること。
- マクロの実行が許可されていること。
- 選択した範囲が有効で、比較可能な値が含まれていること。
利点: 完全に自動化され、異なるファイルサイズに対応可能。
欠点: マクロの実行許可と基本的なVBAの知識が必要。
条件付き書式を使用して2つの列間の一意または重複する値を目立たせる
条件付き書式は、2つの列間で重複または一意の値を目立たせるための直感的で動的な方法を提供します。これは素早い比較に最適で、追加の列やVBAコードを必要としません。すべての書式設定は、ソースデータが変更されるとリアルタイムで更新されます。
2つの列間の重複をハイライトする:
- 最初の列で書式設定したい範囲を選択します(例:A2:A15)。
- 「Home」>「Conditional Formatting」>「New Rule」に移動します。
- 「Use a formula to determine which cells to format」を選択します。
- 次の数式を入力します:
=COUNTIF($C$2:$C$13, A2)>0
- 「Format」をクリックし、ハイライト色(例:黄色)を選択して「OK」をクリックします。
これにより、列Cにも存在する列Aのセルがハイライトされます。
ある列の一意の値をハイライトする:
- 同じ範囲(例:A2:A15)を選択します。
- 上記の手順を繰り返して新しいルールを作成します。
- 数式を入力します:
=COUNTIF($C$2:$C$13, A2)=0
- 一意の値を区別する別の色を選択します。
必要に応じて、同じロジックを列Cに適用するために数式の参照を逆にします(例:A2:A15に基づいてC2:C13をハイライトします)。
✔ 利点: 即時の視覚的なフィードバック;ヘルパーカラムが不要;データの変更に伴い動的に更新される。
⚠ 注意: 大規模なデータセットに多くの書式設定ルールがあると、パフォーマンスが低下する可能性があります。特に列が隣接していない場合は、範囲参照を常に再確認してください。
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得