Excelで顧客リストや在庫表を扱っていると、同じデータが二重に登録されてしまうことがあります。重複を放置すると、二重集計や誤発送などのミスにつながります。この記事では、エクセルの重複データを削除する方法を、目的別に5パターン解説します。

「とにかく速く消したい」「消す前に中身を確認したい」「元データを壊さず一意のリストだけ作りたい」——状況によって最適な方法は違います。さらに、多くの解説が触れない「重複の削除」の判定の落とし穴残したい行を選んで残すコツスマホでの操作削除できないときの対処まで一気に押さえます。

はじめに:削除の前に必ずバックアップを

重複削除はデータが減る操作です。特に「重複の削除」機能は元データをその場で書き換え、どの行が消えたかは表示されません。実行前に必ずファイルのコピーを保存するか、シートを複製しておきましょう。「消す」より先に、次章の条件付き書式で色を付けて中身を確認するのが安全です。

方法①:条件付き書式で重複を「見える化」する(まず確認)

エクセルの重複削除で目的別に最適な方法を選ぶフローチャートエクセルの重複削除で目的別に最適な方法を選ぶフローチャート

削除の前に、どこが重複しているかを目で確認する方法です。関数も不要で一番手軽です。

  1. チェックしたい範囲(列)を選択する
  2. 「ホーム」タブ →「条件付き書式」→「セルの強調表示ルール」→「重複する値」
  3. 色を選んで「OK」

重複しているセルに色が付きます。ただしこの方法は1件目にも色が付くため、「どれを残すか」をこの色だけで判断すると、残すべき行まで消しかねません。2件目以降だけを色付けしたいなら、次の数式で新しいルールを作ります。

=COUNTIF($A$2:A2, A2) > 1

範囲の起点だけを $ で固定するのがポイントです。これで2回目以降の重複だけが色付きになり、安全に削除できます。

方法②:「重複の削除」ボタンで一括削除する(最速)

とにかく速く消したいときの定番です。

  1. 表の中のセルをどこか1つ選択する
  2. 「データ」タブ →「重複の削除」
  3. 先頭行が見出しなら「先頭行をデータの見出しとして使用する」にチェック
  4. 重複を判定したい列だけにチェックして「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関数の使い方も合わせてご覧ください。

ABOUT ME
IT解決チャンネル編集部
ExcelやWord、Windows、Googleスプレッドシートなど、ビジネスで使うITツールの使い方を初心者にもわかりやすく解説しています。関数の使い方から実務で役立つ応用テクニックまで、画像付きでていねいに紹介。パソコン操作で困ったときの頼れる情報源を目指しています。