【Excel】エクセルで重複を削除して1つ残す方法
エクセルで大量のデータを扱っていると、「同じデータが複数行に入力されてしまった」「重複を削除して1件だけ残したい」という場面はよく発生します。手作業で重複を探して削除するのは非常に手間がかかるでしょう。
今回は、エクセルで重複を削除して1つ残す方法について、重複の削除機能・COUNTIF関数・フィルターを使った方法まで、状況に応じた手順を解説していきます。ぜひ参考にしてみてください。
エクセルの「重複の削除」機能を使って1つ残す方法
それではまず、エクセルに標準搭載されている「重複の削除」機能を使う方法について解説していきます。この機能は数クリックで重複行を一括削除できる最もシンプルな方法です。
重複の削除機能を使う手順
手順1:重複を削除したいデータ範囲内のセルをクリックする
手順2:「データ」タブ →「重複の削除」をクリックする
手順3:重複判定に使う列にチェックを入れる(全列・特定列を選択可能)
手順4:OKをクリックする
→ 重複行が削除されて1件だけ残った状態になる

重複の削除機能は上にある行を残して下の重複行を削除する仕様です。残したい行が上にある状態で実行するようにしましょう。実行前に必ずバックアップを取っておくことをおすすめします。
特定の列だけを基準に重複を削除する方法
例:A列の「氏名」だけが重複している行を削除したい場合
手順3で「氏名」列のみにチェックを入れてOKをクリックする
→ 氏名が同じ行のうち、最初の1行だけが残される

複数列にチェックを入れると「全ての列が一致している行」だけが重複と判定されます。1列だけにチェックを入れるとその列の値だけで重複判定が行われるため、目的に応じて使い分けましょう。
重複削除前に確認・バックアップする方法
重複削除前の準備:
・元データを別シートまたは別ファイルにコピーしてバックアップを取る
・COUNTIF関数で重複件数を事前に確認しておく
・削除後はCtrl+Zで元に戻せるが、保存後は戻せないため注意する
エクセルでCOUNTIF関数を使って重複を確認・削除する方法
続いては、COUNTIF関数を使って重複を確認してからフィルターで削除する方法を確認していきます。どの行が重複しているかを目で確認してから削除したい場合に適した方法です。
COUNTIF関数で重複を検出する数式
書式例:=COUNTIF($A$2:$A2, A2)
→ A列で同じ値が何回目に登場するかを返す
結果が「1」の行 → 最初の出現(残す行)
結果が「2以上」の行 → 2回目以降の出現(削除する行)
この数式は範囲の終点だけを相対参照にするのがポイントです。「$A$2:$A2」のように記述することで、数式を下にコピーするたびに参照範囲が1行ずつ広がり、何回目の出現かを正確にカウントできます。
フィルターで重複行を絞り込んで削除する手順
手順1:補助列にCOUNTIF数式を入力して下にコピーする
手順2:補助列にフィルターをかけて「2以上」の値だけを表示する
手順3:表示された行を全て選択して行を削除する
手順4:フィルターを解除して補助列を削除する
→ 重複行が削除されて最初の出現行だけが残る
この方法は削除前に重複行を目視確認できるため、誤って必要なデータを削除してしまうリスクを減らせるのが大きなメリットです。
COUNTIFS関数で複数条件の重複を検出する方法
| 関数 | 用途 | 数式例 |
|---|---|---|
| COUNTIF | 1列の重複を検出 | =COUNTIF($A$2:$A2,A2) |
| COUNTIFS | 複数列の組み合わせで重複検出 | =COUNTIFS($A$2:$A2,A2,$B$2:$B2,B2) |
「氏名と電話番号の両方が一致する行を重複とみなす」など複数列の組み合わせで重複判定したい場合はCOUNTIFSを使うことで柔軟に対応できます。
エクセルでUNIQUE関数を使って重複なしのリストを作成する方法(Excel 2021以降)
続いては、Excel 2021・Microsoft 365で使えるUNIQUE関数を使って重複のないリストを別の場所に抽出する方法を確認していきます。元データを変えずに重複なしのリストを作成できる便利な関数です。
UNIQUE関数の基本的な使い方
書式:=UNIQUE(配列, 列の比較, 回数)
=UNIQUE(A2:A100) → A列から重複を除いたリストを縦に表示する
=UNIQUE(A2:C100) → 複数列で重複を除いたリストを表示する
第3引数にTRUEを指定すると1回しか出現しない値だけを返す
UNIQUE関数はスピル機能によって1つのセルに入力するだけで結果が自動的に複数セルに展開されます。元データが更新されると自動的にリストも更新されるため、常に最新の重複なしリストを保持できます。
SORT関数と組み合わせて並び替えた重複なしリストを作る方法
=SORT(UNIQUE(A2:A100))
→ A列から重複を除いて昇順に並び替えたリストを表示する
=SORT(UNIQUE(A2:C100), 1, 1)
→ 複数列で重複除去して1列目を基準に昇順で表示する
UNIQUE関数とSORT関数を組み合わせることで、重複なし・並び替え済みのリストを1つの数式で作成できます。ドロップダウンリストの元データや集計用マスタの作成に非常に役立つでしょう。
UNIQUE関数が使えない場合の代替方法
| 方法 | 対応バージョン | 特徴 |
|---|---|---|
| UNIQUE関数 | Excel 2021・Microsoft 365 | 自動更新・元データ保持 |
| 重複の削除機能 | 全バージョン対応 | 元データを直接編集する |
| COUNTIF+フィルター | 全バージョン対応 | 削除前に目視確認できる |
| ピボットテーブル | 全バージョン対応 | 重複なしの集計が可能 |
まとめ
今回は、エクセルで重複を削除して1つ残す方法について、「重複の削除」機能を使った方法、COUNTIF関数とフィルターを組み合わせた方法、UNIQUE関数を使った方法まで解説しました。
手軽に削除するなら「重複の削除」機能、削除前に確認したいならCOUNTIF+フィルター、元データを保持したいならUNIQUE関数が適しています。状況に応じた方法を選んでみてください。
作業前のバックアップを忘れずに行いながら、今回紹介した方法をぜひ活用してみてください。