こんにちは、PC時短ナビゲーターです。Excelで重複データを抽出したいときは、やりたいことに合わせて関数を使い分けるのが最短です。まず結論からお伝えすると、重複しているか判定したいならCOUNTIF関数重複を除いた一覧を作りたいならUNIQUE関数条件付きで重複行を見つけたいならFILTER関数との組み合わせが便利ですよ。この記事では、仕事中でもすぐ使える形で、関数の書き方とクリック手順をまとめていきます。

まず結論:Excelで重複を抽出する基本の関数

重複を見つける基本は =COUNTIF(範囲,対象セル)>1 です。重複を除いた一覧は =UNIQUE(範囲)、重複している値だけ抽出したいときは FILTER関数とCOUNTIF関数を組み合わせましょう。

一番よく使うのは、次の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,"重複","")

操作手順

  1. A列に対象データが入っていることを確認します。
  2. B2セルをクリックします。
  3. 数式バーに =IF(COUNTIF($A$2:$A$100,A2)>1,"重複","") と入力します。
  4. Enterキーを押します。
  5. B2セル右下の小さい四角を下にドラッグして、必要な行までコピーします。

これで、重複しているデータの行にだけ「重複」と表示されます。あとで並べ替えやフィルターを使えば、重複行だけすぐ確認できますよ。

UNIQUE関数で重複を除いた一覧を作る方法

「重複を見つけたい」というより、「重複を除いてユニークな一覧が欲しい」という場合は、UNIQUE関数が最速です。名簿や商品一覧の整理でかなり便利です。

使う関数

=UNIQUE(A2:A100)

この関数を入れるだけで、重複を除いた値が自動で一覧表示されます。

操作手順

  1. 空いているセルをクリックします。たとえばC2セルを選びます。
  2. =UNIQUE(A2:A100) と入力します。
  3. Enterキーを押します。
  4. 重複を除いた一覧が下方向に自動で展開されるのを確認します。

元データが更新されると、一覧も連動して変わるので、手作業で重複削除するよりかなり時短になります。

重複しているデータだけを関数で抽出する方法

「重複ありの行だけを別の場所に一覧表示したい」ときは、FILTER関数とCOUNTIF関数を組み合わせる方法が便利です。

使う関数

=FILTER(A2:A100,COUNTIF(A2:A100,A2:A100)>1)

この式で、A2:A100の中から2回以上登場する値だけを抽出できます。

操作手順

  1. 抽出結果を表示したい空きセルをクリックします。
  2. =FILTER(A2:A100,COUNTIF(A2:A100,A2:A100)>1) と入力します。
  3. Enterキーを押します。
  4. 重複している値だけが一覧で表示されることを確認します。

ただし、このままだと同じ値が複数回表示されます。重複している値を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,"重複","")

操作手順

  1. 結合用の空き列を用意します。
  2. C2セルに =A2&"_"&B2 と入力します。
  3. 下までコピーします。
  4. D2セルに =IF(COUNTIF($C$2:$C$100,C2)>1,"重複","") と入力します。
  5. 下までコピーして、重複行を確認します。

この方法なら、複数列の組み合わせ重複も簡単に見つけられます。

関数を使わずクリック操作で重複を見つける方法

「今すぐ色付けして見つけたい」なら、条件付き書式も便利です。関数より早く見つけたいときに向いています。

クリック手順

  1. 重複チェックしたい範囲をドラッグして選択します。
  2. 上部メニューのホームをクリックします。
  3. 条件付き書式をクリックします。
  4. セルの強調表示ルールをクリックします。
  5. 重複する値をクリックします。
  6. 色を選んでOKをクリックします。

これで、重複データだけ色付きで表示されます。抽出まではしなくても、まず目視確認したいときに便利ですよ。

うまくいかない場合のチェックポイント

関数を入れたのにうまく抽出できないときは、次のポイントを確認してみてください。ここで引っかかるケースがかなり多いです。

  • 全角と半角が混ざっている

    たとえば「ABC」と「ABC」は別の値として扱われます。見た目が似ていても一致しないので注意しましょう。

  • 前後に余分なスペースがある

    「山田」と「山田 」は別物です。必要ならTRIM関数で余分なスペースを削除しましょう。

  • 数値と文字列が混在している

    同じ「100」でも、数値の100と文字列の"100"は一致しないことがあります。表示形式だけでなく、実際のデータ型も確認したいですね。

  • 絶対参照がずれている

    COUNTIFの範囲は $A$2:$A$100 のように固定しておくのが基本です。$が外れていると、コピーしたときに判定範囲がずれてしまいます。

  • FILTER関数やUNIQUE関数が使えないバージョン

    古いExcelでは対応していないことがあります。その場合はCOUNTIFで判定列を作り、フィルターで「重複」だけ絞り込む方法に切り替えましょう。

  • 空白セルが混ざっている

    空白も同じ値として数えられる場合があります。空白を除いて判定したいなら、別条件を加えると安心です。

古いExcelで重複データを抽出する実用手順

UNIQUE関数やFILTER関数が使えない環境では、判定列+オートフィルターが安定です。

  1. B2セルに =IF(COUNTIF($A$2:$A$100,A2)>1,"重複","") を入力します。
  2. 下までコピーします。
  3. 表内のどこかをクリックします。
  4. データタブをクリックします。
  5. フィルターをクリックします。
  6. B列の▼をクリックします。
  7. 「重複」だけにチェックを入れてOKをクリックします。

これなら古いバージョンでも、重複行だけをすぐ一覧できます。

最後に:一緒に覚えたい時短ワザ

重複抽出とセットで使うと便利な時短ワザも紹介しておきます。

  • Ctrl + Shift + L:フィルターのオン・オフを切り替え
  • Ctrl + C / Ctrl + V:抽出結果のコピー・貼り付け
  • Ctrl + H:不要なスペースや記号を一括置換
  • Ctrl + ↓:データ末尾まで一気に移動

特に、重複チェック前に Ctrl + H でスペースを整えるだけでも、判定ミスをかなり減らせます。

Excelの重複抽出は、まずCOUNTIF関数で判定、必要に応じてUNIQUE関数やFILTER関数を使う流れが一番実務向きです。まずは自分のシートで1列だけ試して、うまくいったら複数列の重複判定にも広げてみてください。作業時間をしっかり短縮できますよ。

おすすめの記事