「重複を削除する」のではなく、「重複しているデータだけを取り出したい」場面もあります。たとえば、同じ顧客が二重に登録されていないかを確認するときです。
この記事では、COUNTIFで判定列を作ってフィルターで絞り込む方法と、FILTER関数で一括抽出する方法を説明します。
判定列を作ってフィルターで抽出する
どのバージョンでも使える、基本の方法です。重複しているかどうかを判定する列を作り、フィルターで絞り込みます。

手順1|B2に上の式を入力し、下の行へコピーする

手順2|表の中のセルを選び、「データ」タブの「フィルター」をクリックする

手順3|B列の「▼」から「重複」だけにチェックを入れて「OK」をクリックする

フィルターで絞り込むと、重複した行だけが表示されます。解除するときは、もう一度「フィルター」をクリックします。
FILTER関数で重複を一括抽出する
Microsoft 365とExcel 2021以降なら、FILTER関数を使って、判定列を作らずに抽出できます。
=FILTER(A2:A7,COUNTIF(A2:A7,A2:A7)>1)
この式は、名前の列の中で、同じ名前が2件以上あるものだけを返します。結果は、式を入力したセルから下に自動で広がります。
重複を1件だけ取り出したいとき
同じ名前が何回出てきても、1件ずつだけ取り出したいときは、UNIQUE関数と組み合わせます。
=UNIQUE(FILTER(A2:A7,COUNTIF(A2:A7,A2:A7)>1))
佐藤と鈴木が、それぞれ1回ずつ表示されます。
| 方法 | 対応バージョン | 特徴 |
|---|---|---|
| 判定列+フィルター | すべて | 手順はやや多いが確実。元の表に残したまま確認できる |
| FILTER関数 | Microsoft 365・Excel 2021以降 | 1つの式で別の場所に一括抽出できる |
| UNIQUEと組み合わせ | Microsoft 365・Excel 2021以降 | 重複している値を1件ずつ取り出せる |
うまく抽出できないときの確認ポイント
- 範囲が絶対参照になっているか:下にコピーしたとき範囲がずれると、判定が正しくなりません
- スペースや全角・半角の違い:見た目が同じでも別データと判定されます
- FILTER関数が使えない:古いバージョンでは「#NAME?」になるため、判定列とフィルターの方法を使います
- スピル範囲に値がある:FILTERの結果が広がる先に他のデータがあると、「#SPILL!」になります
まとめ
- COUNTIFで件数を数え、2件以上を「重複」と判定する
- 判定列にフィルターをかけると、重複した行だけが表示される
- FILTER関数なら、1つの式で重複を別の場所に抽出できる
- 1件ずつにまとめたいときは、UNIQUEと組み合わせる
- スペースや全角・半角の違いがあると、判定がずれる
抽出して内容を確認したあとで、必要に応じて削除や統合を進めると、安全に整理できます。


コメント