更新: 2026年03月 · 5 分で読める · 2,567 文字
Excelで重複を削除する関数テクニック|実務で使える4つの方法
本記事では、Excelで重複データを効率的に削除・識別する関数の使い方を解説します。UNIQUE関数、COUNTIF関数、FILTER関数を組み合わせた実践的なテクニックで、手作業を大幅に削減できます。
重複削除が必要な場面
データ分析や顧客名簿の作成時に、重複レコードは分析精度を低下させる大きな要因です。Excelの関数を活用すれば、手作業での重複チェックの手間を大幅に削減でき、ミスも防げます。
関数を使うべき場面と使うべきでない場面
使うべき場面:データが定期的に更新される場合、自動化が必要な場合、数百行以上のデータ処理
使うべきでない場面:1回限りの小規模データ(10行未満)、複雑な条件付き重複判定、Excelの古いバージョン(2019以前)を使用している場合
方法1:UNIQUE関数で重複を一発削除
Excel 365またはExcel 2021以降で利用可能なUNIQUE関数は、最も簡潔な方法です。指定した範囲から重複を自動的に除去し、ユニークな値のみを返します。
=UNIQUE(範囲)
基本的な使用例
A列に顧客名が入っているデータから、重複を削除して別の場所に出力する場合:
=UNIQUE(A2:A100)
// A2:A100の範囲から重複を削除し、ユニークな顧客名のみを返す
// 結果は数式が入力されたセルから下方に自動展開される(スピル機能)
複数列での重複削除
顧客名と購入日時の組み合わせで重複判定したい場合:
=UNIQUE(A2:B100)
// A列とB列の両方の値の組み合わせが同じ行を重複と見なす
// 完全に同じ組み合わせの行のみが削除される
よくあるハマりポイント:UNIQUE関数が使えない場合
Excel 2019以前や、Google SheetsでUNIQUEを使おうとしてエラーが出た場合は、方法2のCOUNTIF関数の組み合わせを試してください。UNIQUE関数が未対応のバージョンでは使用できません。
方法2:COUNTIF×IF で重複を判定する(全Excelバージョン対応)
より互換性の高い方法が、COUNTIF関数を使った判定です。このアプローチは古いExcelバージョンでも動作し、重複している行をマークできます。
重複をマークする数式
B列に重複判定結果を出力する場合:
=IF(COUNTIF($A$2:A2,A2)=1,"ユニーク","重複")
// A2から現在行までの範囲でA2の値が何回出現しているかカウント
// 1回目は「ユニーク」、2回目以降は「重複」と表示
// $A$2:A2のように混合参照を使うことで、拡張時に範囲が自動調整される
実装手順
- B2セルに上記の数式を入力
- B2を選択し、Ctrl+Cでコピー
- B3からデータの最終行までを選択してペースト
- 「重複」とマークされた行をフィルタリングまたは削除
ハマりやすいポイント:参照の固定
$A$2:A2のように参照を混合参照(絶対参照+相対参照)にすることが重要です。$A$2:$A2のように完全固定にすると、正しくカウントできません。
方法3:FILTER+COUNTIF で重複を除去
Excel 365でFILTER関数とCOUNTIFを組み合わせると、重複行をまとめて削除できます。UNIQUEが使えない環境でも、同等の結果が得られます。
=FILTER(A2:A100,COUNTIF($A$2:A2,A2:A100)=1)
// COUNTIF で各値が初出かどうかを判定
// 初出(カウント=1)の行のみを FILTER で抽出
// スピル機能で結果が自動的に下方に展開される
複数条件での重複除去
A列とB列の両方を条件にしたい場合は、COUNTIFS関数を使用します:
=FILTER(A2:B100,COUNTIFS($A$2:$A2,A2:A100,$B$2:$B2,B2:B100)=1)
// A列とB列の値の組み合わせが初出の行のみを抽出
方法4:CONCATENATE + COUNTIF で複雑な重複判定
複数列にわたるデータで、特定の列の組み合わせのみを重複判定対象にしたい場合は、CONCATENATE関数を使って判定キーを作成します。
=IF(COUNTIF($D$2:D2,CONCATENATE(A2,"-",B2,"-",C2))=1,"初出","重複")
// A列・B列・C列を"-"で結合して判定キーを作成
// D列に結果が出力される
// 複雑な組み合わせ条件が必要な場合に便利
実装上の注意
この方法は計算量が多くなりやすいため、データ行数が10,000行を超える場合は処理速度が低下する可能性があります。その場合はピボットテーブルやPowerQueryの使用を検討してください。
公式ドキュメント
詳しくはMicrosoft Excelの公式ドキュメント「UNIQUE関数」を参照してください。
よくある質問
A:UNIQUEはExcel 365/2021で利用可能で、シンプルで高速です。Excel 2019以前を使用している場合や、重複マークを残したい場合はCOUNTIFを選択してください。古いバージョンとの互換性が必要なら、COUNTIF一択です。
A:UNIQUE関数は元の順序を保持します。COUNTIF+手動フィルタの場合、フィルタ前に元の行番号を別列に記録しておき、フィルタ後に再ソートしてください。
まとめ
UNIQUE関数が最もシンプル。Excel 365/2021以降で即座に使用可能COUNTIF関数は全バージョン対応で、古いExcel環境でも動作FILTER関数でCOUNTIFと組み合わせると、モダンで効率的な重複削除が可能- 複数列の組み合わせ判定が必要ならCONCATENATE関数を活用
- 100,000行を超える大規模データはPowerQueryの使用を検討