こんにちは、PC時短ナビゲーターです。Excelで重複データを抽出したいときは、やりたいことに合わせて関数を使い分けるのが最短です。まず結論からお伝えすると、重複しているか判定したいならCOUNTIF関数、重複を除いた一覧を作りたいならUNIQUE関数、条件付きで重複行を見つけたいならFILTER関数との組み合わせが便利ですよ。この記事では、仕事中でもすぐ使える形で、関数の書き方とクリック手順をまとめていきます。
まず結論:Excelで重複を抽出する基本の関数
一番よく使うのは、次の3パターンです。
- 重複しているか判定:=COUNTIF($A$2:$A$100,A2)>1
- 重複を除いた一覧を作成:=UNIQUE(A2:A100)
- 重複しているデータだけ抽出:=FILTER(A2:A100,COUNTIF(A2:A100,A2:A100)>1) ※Microsoft 365 / Excel 2021以降向け
まずはこの3つを覚えておけば、実務の大半は対応できます。
COUNTIF関数で重複を判定する方法
「この列の中で、同じ値が2回以上あるものを見つけたい」という場面では、COUNTIF関数が定番です。たとえばA列の商品コードに重複があるか確認したいなら、B列に判定用の式を入れましょう。
使う関数
=COUNTIF($A$2:$A$100,A2)
この式は、A2:A100の中にA2と同じ値が何件あるか数えます。結果が2以上なら重複です。
「重複」と表示する式
=IF(COUNTIF($A$2:$A$100,A2)>1,"重複","")
操作手順
- A列に対象データが入っていることを確認します。
- B2セルをクリックします。
- 数式バーに =IF(COUNTIF($A$2:$A$100,A2)>1,"重複","") と入力します。
- Enterキーを押します。
- B2セル右下の小さい四角を下にドラッグして、必要な行までコピーします。
これで、重複しているデータの行にだけ「重複」と表示されます。あとで並べ替えやフィルターを使えば、重複行だけすぐ確認できますよ。
UNIQUE関数で重複を除いた一覧を作る方法
「重複を見つけたい」というより、「重複を除いてユニークな一覧が欲しい」という場合は、UNIQUE関数が最速です。名簿や商品一覧の整理でかなり便利です。
使う関数
=UNIQUE(A2:A100)
この関数を入れるだけで、重複を除いた値が自動で一覧表示されます。
操作手順
- 空いているセルをクリックします。たとえばC2セルを選びます。
- =UNIQUE(A2:A100) と入力します。
- Enterキーを押します。
- 重複を除いた一覧が下方向に自動で展開されるのを確認します。
元データが更新されると、一覧も連動して変わるので、手作業で重複削除するよりかなり時短になります。
重複しているデータだけを関数で抽出する方法
「重複ありの行だけを別の場所に一覧表示したい」ときは、FILTER関数とCOUNTIF関数を組み合わせる方法が便利です。
使う関数
=FILTER(A2:A100,COUNTIF(A2:A100,A2:A100)>1)
この式で、A2:A100の中から2回以上登場する値だけを抽出できます。
操作手順
- 抽出結果を表示したい空きセルをクリックします。
- =FILTER(A2:A100,COUNTIF(A2:A100,A2:A100)>1) と入力します。
- Enterキーを押します。
- 重複している値だけが一覧で表示されることを確認します。
ただし、このままだと同じ値が複数回表示されます。重複している値を1回ずつだけ出したいなら、次のようにUNIQUE関数を重ねます。
=UNIQUE(FILTER(A2:A100,COUNTIF(A2:A100,A2:A100)>1))
これで「重複している値の種類だけ」を抽出できます。
行全体を重複判定して抽出したいときの考え方
実務では、1列だけでなく「氏名と部署の組み合わせ」「商品コードと日付の組み合わせ」のように、複数条件で重複を確認したいことがあります。この場合は、判定用の列を1本作るのが分かりやすいです。
例:A列が氏名、B列が部署の場合
C2セルに次の式を入れます。
=A2&"_"&B2
そのうえでD2セルに次の式を入れます。
=IF(COUNTIF($C$2:$C$100,C2)>1,"重複","")
操作手順
- 結合用の空き列を用意します。
- C2セルに =A2&"_"&B2 と入力します。
- 下までコピーします。
- D2セルに =IF(COUNTIF($C$2:$C$100,C2)>1,"重複","") と入力します。
- 下までコピーして、重複行を確認します。
この方法なら、複数列の組み合わせ重複も簡単に見つけられます。
関数を使わずクリック操作で重複を見つける方法
「今すぐ色付けして見つけたい」なら、条件付き書式も便利です。関数より早く見つけたいときに向いています。
クリック手順
- 重複チェックしたい範囲をドラッグして選択します。
- 上部メニューのホームをクリックします。
- 条件付き書式をクリックします。
- セルの強調表示ルールをクリックします。
- 重複する値をクリックします。
- 色を選んでOKをクリックします。
これで、重複データだけ色付きで表示されます。抽出まではしなくても、まず目視確認したいときに便利ですよ。
うまくいかない場合のチェックポイント
関数を入れたのにうまく抽出できないときは、次のポイントを確認してみてください。ここで引っかかるケースがかなり多いです。
- 全角と半角が混ざっている
たとえば「ABC」と「ABC」は別の値として扱われます。見た目が似ていても一致しないので注意しましょう。
- 前後に余分なスペースがある
「山田」と「山田 」は別物です。必要ならTRIM関数で余分なスペースを削除しましょう。
- 数値と文字列が混在している
同じ「100」でも、数値の100と文字列の"100"は一致しないことがあります。表示形式だけでなく、実際のデータ型も確認したいですね。
- 絶対参照がずれている
COUNTIFの範囲は $A$2:$A$100 のように固定しておくのが基本です。$が外れていると、コピーしたときに判定範囲がずれてしまいます。
- FILTER関数やUNIQUE関数が使えないバージョン
古いExcelでは対応していないことがあります。その場合はCOUNTIFで判定列を作り、フィルターで「重複」だけ絞り込む方法に切り替えましょう。
- 空白セルが混ざっている
空白も同じ値として数えられる場合があります。空白を除いて判定したいなら、別条件を加えると安心です。
古いExcelで重複データを抽出する実用手順
UNIQUE関数やFILTER関数が使えない環境では、判定列+オートフィルターが安定です。
- B2セルに =IF(COUNTIF($A$2:$A$100,A2)>1,"重複","") を入力します。
- 下までコピーします。
- 表内のどこかをクリックします。
- データタブをクリックします。
- フィルターをクリックします。
- B列の▼をクリックします。
- 「重複」だけにチェックを入れてOKをクリックします。
これなら古いバージョンでも、重複行だけをすぐ一覧できます。
最後に:一緒に覚えたい時短ワザ
重複抽出とセットで使うと便利な時短ワザも紹介しておきます。
- Ctrl + Shift + L:フィルターのオン・オフを切り替え
- Ctrl + C / Ctrl + V:抽出結果のコピー・貼り付け
- Ctrl + H:不要なスペースや記号を一括置換
- Ctrl + ↓:データ末尾まで一気に移動
特に、重複チェック前に Ctrl + H でスペースを整えるだけでも、判定ミスをかなり減らせます。
Excelの重複抽出は、まずCOUNTIF関数で判定、必要に応じてUNIQUE関数やFILTER関数を使う流れが一番実務向きです。まずは自分のシートで1列だけ試して、うまくいったら複数列の重複判定にも広げてみてください。作業時間をしっかり短縮できますよ。
