名簿や注文データを開いたら、同じ名前・同じ商品コードの行が何本も並んでいた。集計したら数字が合わない、と思ったら原因は「重複」だった――。そんな経験、ありませんか。エクセル歴が長くなくても、この作業自体はそれほど難しくありません。結論から言うと、Excelには「重複の削除」というボタンが標準で用意されています。ただし、いきなり押すと必要なデータまで一緒に消えてしまうことがあるので、先に「どこが重複しているか」を見える化してから消すのが安全です。
この記事では、①ボタン1つで一気に消す正式な方法、②消す前に確認する安全なやり方、③消さずに色分けだけする方法、④関数で判定する方法の4通りを、症状別の早見表とあわせて順番にご案内します。コピペで使える数式もすべて用意したので、そのまま貼り付けて試してみてください。
結論早見表:あなたはどのタイプ?
まずは自分の状況に近いものを探して、対応する方法へ進んでください。
| 今の状況 | おすすめの方法 | 特徴 |
|---|---|---|
| とにかく早く重複行を消したい | 方法1「重複の削除」 | 一番速いがボタンを押すと即・削除される |
| 消す前に「本当に重複か」確認したい | 方法2 COUNTIFで見える化 | 削除せず件数を確認できるので安全 |
| データは消さず色で目立たせたいだけ | 方法3 条件付き書式 | 元データはそのまま、見た目だけ変わる |
| 1件目だけ残して重複を判定したい | 方法4 関数で判定/UNIQUE関数 | 数式なので元データは残る・自動で更新される |
| 「重複の削除」を実行しても件数が合わない | 「よくあるつまずき」の章 | 全角半角・空白・日付のズレが原因 |

方法1:「重複の削除」機能でボタン1つで一気に消す
もっとも速いのがこの方法です。Excelにあらかじめ組み込まれている機能なので、追加の数式は一切要りません。
手順
- 重複をチェックしたい表の中に、どこでもよいのでカーソルを置く(表全体を選択する必要はありません)
- 上部メニューの「データ」タブをクリック
- 「データツール」グループの中にある「重複の削除」ボタンをクリック
- 「重複の削除」ダイアログが開いたら、どの列を比較対象にするかのチェックボックスが並ぶので確認する
- すべての列にチェックが入った状態が既定。「氏名」と「電話番号」の2列だけが完全一致したら重複とみなしたい、という場合はその2列だけにチェックを残す
- 「OK」を押すと、削除された件数と残った件数がメッセージで表示される
❌ つまずく操作:全列にチェックが入ったまま実行し、「1文字でも違う行は残ってしまう」と誤解する。
✅ こうすれば通る:本当に消したい単位(例:氏名だけで判定したいのか、氏名+住所の両方が一致したときだけ判定したいのか)を先に決め、比較したい列だけにチェックを絞るのがコツです。
手順の公式な説明はMicrosoftサポートにもまとまっています。
方法2:消す前に「見える化」してから確認する(安全策)
方法1は速い反面、実行した瞬間に元に戻せなくなるリスクがあります(あとで「元に戻す」を使う対処は後述しますが、保存してしまうと戻せません)。少しでも不安な方は、先にCOUNTIF関数で「何件重複しているか」を確認する列を作ってから消しましょう。
コピペで使える数式
B列に「氏名」が入っているとして、隣のC列に次の数式を入れてください(C2セルの例)。
=COUNTIF($B$2:$B2,B2)
この数式を最終行までコピーすると、その行までに同じ値が何回登場したかが表示されます。1回目の登場なら「1」、2回目に同じ値が出てきたら「2」と表示されるので、2以上の行だけが「重複している行」です。オートフィルターで「2以上」を絞り込めば、重複している行だけを一覧で確認できます。
「氏名」と「電話番号」の2つの条件が両方一致したときだけ重複とみなしたい場合は、次のように条件を並べます。
=COUNTIFS($B$2:$B2,B2,$D$2:$D2,D2)
❌ つまずく操作:範囲の先頭を「$B$2」のように絶対参照にせず、そのままコピーしてしまい、行によって参照範囲がズレて正しく数えられない。
✅ こうすれば通る:先頭側だけ「$」で固定し、終わり側は固定しない($B$2:B2)のがポイントです。コピーするたびに終わり側の行番号だけが伸びていき、「その行までの累計」を正しく数えられます。

方法3:条件付き書式で重複セルに色をつける(消さずに確認だけ)
「今はまだ消したくない、まず目で見て確認したい」というときは、条件付き書式が便利です。データそのものには一切手を加えず、見た目だけを変えるので、何度でもやり直せる安心感があります。
手順
- 重複を確認したい範囲(例:B2:B100)を選択する
- 「ホーム」タブ→「条件付き書式」→「セルの強調表示ルール」→「重複する値」を選ぶ
- ダイアログが開くので、色の組み合わせ(既定は「濃い赤の文字、明るい赤の背景」)を選んで「OK」
- 重複しているセルだけが色付きで表示される
この状態で色のついたセルを見ながら、本当に削除してよいか一件ずつ確認できます。確認が終わったら、条件付き書式は「ホーム」→「条件付き書式」→「ルールのクリア」→「シート全体からルールをクリア」でいつでも元に戻せます。
方法4:関数で「初出だけ残す」を判定する/UNIQUE関数
「重複の削除」で元データを直接いじるのではなく、別の場所に「重複を除いた一覧」を作りたいときは関数を使います。
Excel 2019以前・Excel 2016などの場合
先ほどのCOUNTIFの結果(C列)が「1」の行だけが初出です。次の数式をD2セルに入れれば、初出のときだけ氏名を表示し、それ以外は空欄にできます。
=IF(C2=1,B2,"")
Microsoft 365 / Excel 2021以降の場合
スピル機能に対応したバージョンなら、UNIQUE関数を使うだけで、重複を除いた一覧を一発で作成できます。
=UNIQUE(B2:B100)
これをE2セルなどの空いているセルに入力すると、元のデータには一切手を加えずに、重複を除いたリストが自動的に展開されます。元データを直接編集する不安がある方には、この方法が最も安全です。
よくある「消えない・消えすぎる」つまずきと対策
「重複の削除」を実行したのに件数が思っていたのと違う、というときは、次のいずれかが原因であることがほとんどです。
| 症状 | 原因 | 対策 |
|---|---|---|
| 見た目は同じ文字なのに重複と判定されない | 末尾に見えない半角スペース・全角スペースが混ざっている | TRIM関数(=TRIM(B2))で余計な空白を除去した列を作ってから比較する |
| 「Excel」と「excel」が別物扱いされない | COUNTIF・重複の削除は大文字小文字を区別しない仕様 | 区別したい場合はEXACT関数(=EXACT(B2,B3))を併用する |
| 日付なのに重複判定がズレる | 一方が日付形式、もう一方が文字列(見た目だけ日付)になっている | ISNUMBER関数でシリアル値かどうかを先に確認する(文字列の直し方は下記の内部リンク記事も参考に) |
| 結合セルがあると範囲選択がうまくいかない | 結合セルは重複チェックと相性が悪い | 結合を解除してから作業する |

誤って消してしまったときの対処
「重複の削除」を実行した直後であれば、あわてずCtrl + Z(元に戻す)を押してください。保存前であれば、たいていはこれで復元できます。すでに上書き保存してしまった場合は、次の手段を試してください。
- OneDriveやSharePoint上のファイルなら「バージョン履歴」から以前の状態を復元できることがあります(ファイル→情報→バージョン履歴)
- 自動回復用ファイルの保存先(オプション→保存)に、直前の自動保存が残っていないか確認する
- 今後のために、重複チェックの前に「別名で保存」して作業用コピーを作っておく習慣をつけると安心です
重複を未然に防ぐ設定:入力の時点でブロックする
削除を繰り返すより、そもそも重複した値が入力できないようにしてしまうのが根本対策です。「データの入力規則」を使えば、同じ値を二重に入力しようとした瞬間にエラーで止められます。
手順
- 重複を防ぎたい列(例:B2:B1000)を選択
- 「データ」タブ→「データの入力規則」
- 「設定」タブの「入力値の種類」で「ユーザー設定」を選ぶ
- 数式欄に次を入力する
=COUNTIF($B$2:$B$1000,B2)=1
- 「エラーメッセージ」タブで「同じ値はすでに入力されています」など、分かりやすい文言を設定しておく
- 「OK」で確定
これで、既存の値と同じものを入力しようとすると、その場でエラーメッセージが表示されるようになります。名簿や在庫管理表など、あとから複数人でデータを追加していくファイルには特に有効です。
よくある質問
Q. 一部の列だけを見て重複を判定したいのですが?
「氏名」だけ、あるいは「氏名+電話番号」の組み合わせだけを見て判定したい場合は、方法1の「重複の削除」ダイアログで比較したい列だけにチェックを残すのが最も簡単です。数式で判定したい場合は、方法2で紹介したCOUNTIFS関数に条件の列を追加していけば、何列でも組み合わせて判定できます。
Q. 重複を削除せず、件数だけをサッと知りたいときは?
次の数式をどこか空いているセルに入れれば、表全体の中で重複している行の合計件数がすぐに分かります。
=SUMPRODUCT((COUNTIF(B2:B100,B2:B100)>1)*1)
削除も色分けもせず、まず「どれくらい重複があるのか」を把握したいときに便利です。数が多ければ方法1、少なければ方法2で一件ずつ確認する、といった判断の目安にもなります。
Q. ピボットテーブルでも重複は分かりますか?
分かります。重複を確認したい列を「行ラベル」に、同じ列(または任意の列)を「値」エリアに「個数」の集計方法でドラッグすると、各項目が何回登場したかが一覧で表示されます。2以上の行が重複です。関数を使わずに素早く全体像をつかみたいときはこの方法もおすすめです。
まとめ:焦らず、まず「見える化」から
重複データの整理は、地味な作業に見えて、集計ミスや二重発送・二重請求といった実害を防ぐ大切な工程です。今日ご紹介した4つの方法のうち、迷ったら方法2(COUNTIFで見える化してから確認する)から始めてみてください。データを壊す心配がなく、落ち着いて判断できます。慣れてきたら方法1のワンボタン削除も、きっと怖くなくなります。
今日まで「なんとなく目視でチェックしていた」という作業が、たった1つの数式で見える化できると分かっただけでも、大きな一歩です。あなたのペースで、少しずつで大丈夫。今日の作業がまた1つ、あなたの自信になりますように。
あわせて読みたい記事はこちらです。





コメント