エクセルの重複データを削除する5つの方法|消す前の確認・残す行の選び方まで完全ガイド
Excelで顧客リストや在庫表を扱っていると、同じデータが二重に登録されてしまうことがあります。重複を放置すると、二重集計や誤発送などのミスにつながります。この記事では、エクセルの重複データを削除する方法を、目的別に5パターン解説します。
「とにかく速く消したい」「消す前に中身を確認したい」「元データを壊さず一意のリストだけ作りたい」——状況によって最適な方法は違います。さらに、多くの解説が触れない「重複の削除」の判定の落とし穴、残したい行を選んで残すコツ、スマホでの操作、削除できないときの対処まで一気に押さえます。
はじめに:削除の前に必ずバックアップを
重複削除はデータが減る操作です。特に「重複の削除」機能は元データをその場で書き換え、どの行が消えたかは表示されません。実行前に必ずファイルのコピーを保存するか、シートを複製しておきましょう。「消す」より先に、次章の条件付き書式で色を付けて中身を確認するのが安全です。
方法①:条件付き書式で重複を「見える化」する(まず確認)
エクセルの重複削除で目的別に最適な方法を選ぶフローチャート削除の前に、どこが重複しているかを目で確認する方法です。関数も不要で一番手軽です。
- チェックしたい範囲(列)を選択する
- 「ホーム」タブ →「条件付き書式」→「セルの強調表示ルール」→「重複する値」
- 色を選んで「OK」
重複しているセルに色が付きます。ただしこの方法は1件目にも色が付くため、「どれを残すか」をこの色だけで判断すると、残すべき行まで消しかねません。2件目以降だけを色付けしたいなら、次の数式で新しいルールを作ります。
=COUNTIF($A$2:A2, A2) > 1
範囲の起点だけを $ で固定するのがポイントです。これで2回目以降の重複だけが色付きになり、安全に削除できます。
方法②:「重複の削除」ボタンで一括削除する(最速)
とにかく速く消したいときの定番です。
- 表の中のセルをどこか1つ選択する
- 「データ」タブ →「重複の削除」
- 先頭行が見出しなら「先頭行をデータの見出しとして使用する」にチェック
- 重複を判定したい列だけにチェックして「OK」
結果として「○個の重複する値が削除され、○個の一意の値が残ります」と表示されます。連番のID列など、重複していない列のチェックは外すのがコツです(外さないと全行が「一意」と判定され、何も消えません)。
残したい行を確実に残すには「並べ替え」を先に
「重複の削除」は並び順で最初に出てくる行を残し、それ以降を消します。どちらを残すかは選べません。たとえば「最新の登録日を残したい」なら、先に登録日で降順に並べ替えてから重複の削除を実行すれば、最新行が先頭に来て残ります。この一手間で「残すべき行を消した」という事故を防げます。
【重要】「重複の削除」の判定の落とし穴
競合記事があまり書かない、でも実務で必ずハマるポイントです。
- 大文字・小文字は区別されません。「Apple」「APPLE」「apple」はすべて同じ重複として扱われます。
- 途中や前後にスペースがあると別データ扱い。「山田太郎」と「山田 太郎」は重複と判定されず、消えません。気になる場合は事前に
=TRIM()や置換でスペースを除去しておきます。 - 全角・半角の違いも別物。「ABC123」と「ABC123」は別データです。
=ASC()で半角に統一してから処理します。
方法③:UNIQUE関数で「元データを壊さず」一意リストを作る(おすすめ)
競合3記事のいずれも紹介していない、Microsoft 365・Excel 2021以降で使える便利な方法です。元の表に手を加えず、重複を除いたリストを別の場所に自動生成できます。
=UNIQUE(A2:A100)
これだけで、A列から重複を除いた一覧が下方向に展開されます。元データが増減しても結果は自動で更新されるので、マスタを壊したくない場合や、定期的に一意リストが欲しい場合に最適です。複数列をまとめて重複判定したいときは、範囲をそのまま指定します。
=UNIQUE(A2:C100)
結果を確定値として使いたいときは、生成されたリストをコピーして「値として貼り付け」ておきましょう。
方法④:COUNTIF関数で重複を抽出してから削除する(確認しながら)
UNIQUE関数が使えない古いExcelや、「どれを消すか自分で判断したい」ときはこちらです。重複チェック用の列を作り、COUNTIF関数で出現回数を数えます。
=COUNTIF($A$2:$A$100, A2)
結果が 2以上なら重複です。範囲は $ で絶対参照に固定します。さらに「2件目以降だけ」を狙い撃ちしたいなら、起点だけ固定した次の式が便利です。
=COUNTIF($A$2:A2, A2)
この値が 2以上の行=2回目以降の重複です。あとはフィルターでこの列を絞り込み、該当行を削除すれば、1件目を残したまま重複だけを消せます。
複数の列の組み合わせで重複を判定したいとき
「氏名と電話番号の両方が一致したときだけ重複とみなす」のように複数条件で判定したい場合は、COUNTIFS関数を使います。
=COUNTIFS($A$2:A2, A2, $B$2:B2, B2) > 1
これにより、同姓同名の別人(電話番号は違う)を誤って消してしまう事故を防げます。COUNTIFSが使えない場合は、作業列に =A2&B2 で値を連結し、その列をCOUNTIFで数える方法でも代用できます。
方法⑤:スマホ(Excelアプリ)で重複を削除する
スマホのExcelアプリには「重複の削除」ボタンがありません。外出先で対応するなら、次のどちらかが現実的です。
- 関数で代用:作業列に
=COUNTIF(範囲, セル)を入れ、2以上の行を手動で削除する。 - PCで開き直す:確実に処理したい場合は、OneDrive経由でPC版Excelを開いて「重複の削除」を使うのが安全です。
重複の削除ができないときの対処
「重複の削除」ボタンが押せない・効かないときは、たいてい次のいずれかです。
- セルが結合されている:結合があると実行できません。結合を解除してから操作します。
- テーブル/フィルターで絞り込み中:抽出表示のままだと意図しない結果になります。フィルターを解除してから実行します。
- 範囲が正しく認識されていない:表内のセルを1つ選んでから実行すると、範囲が自動認識されます。
- そもそも一致していない:前述のスペース・全角半角の違いで「重複なし」と判定されているケース。先にデータを整えます。
どの方法を選ぶ?目的別の早見表
| やりたいこと | おすすめ |
|---|---|
| 消す前にどこが重複か確認したい | ①条件付き書式 |
| とにかく速く一括で消したい | ②重複の削除 |
| 元データを壊さず一意リストが欲しい | ③UNIQUE関数 |
| どれを消すか自分で判断したい | ④COUNTIF+フィルター |
| 複数列の組み合わせで判定したい | ④COUNTIFS |
まとめ
エクセルの重複削除は、「消す前に確認」「残す行を意識」「元データはバックアップ」の3点を押さえれば失敗しません。手早く済ませたいなら「重複の削除」、安全に進めたいなら条件付き書式やCOUNTIFで可視化してから、元データを保ちたいならUNIQUE関数、と使い分けましょう。
特に「重複の削除」は大文字小文字を区別しない・スペースや全角半角の違いは別データ扱いという判定の癖があります。思った通りに消えない・消えすぎたと感じたら、まずこの点を疑ってください。
関連して、COUNTIF関数の使い方、UNIQUE関数の使い方も合わせてご覧ください。