Excelで重複を削除する最も手早い方法は、**[データ]→[重複の削除]**です。表を選択し、重複の判定に使う列を選んで[OK]をクリックするだけで、各行の最初の1件だけを残して残りを一度に削除できます。
ただし、このボタンはデータを完全に書き換えます。先に重複を確認したい、元のリストを残しておきたい、あるいは自動で更新されるきれいなリストが欲しいという場合は、以下の4つの方法のほうが向いています。
| 方法 | データは変わる? | 向いている場面 |
|---|---|---|
| [重複の削除]ボタン | はい(行を削除) | 手早く1回だけ整理したいとき |
| UNIQUE関数 | いいえ(新しいリストを作成) | データの変更に合わせてリストを自動更新したいとき |
| フィルターオプション | いいえ(重複しない行をコピー) | 元データを残したいとき、古いバージョンのExcel |
| Power Query | いいえ(読み込むまで変更なし) | 毎週届く新しいデータに同じ整理を繰り返すとき |
| 先に強調表示・カウント | いいえ | 削除する前に重複を確認したいとき |
事前に確認:重複が「見えなくなる」2つの原因
Excelは値が完全に一致した行だけを重複とみなします。「削除したのに何も消えなかった」という相談の多くは、次の2つが原因です。
- 余分なスペース。 「Acme Ltd」と「Acme Ltd 」(末尾にスペースあり)は別の値として扱われます。まず
=TRIM(A2)のような作業用の列で整えてから、結果を値として貼り付け直してください。 - 同じ値でも表示形式が違う。 Excelは表示されている内容で値を比較します。同じ日付でも、あるセルが
2026/3/8、別のセルが2026年3月8日となっていると、別の値として扱われます。重複を削除する前に、列全体の表示形式を統一しておきましょう。
行を削除する方法を使う前には、ブックまたはシートのコピーを保存しておくことをおすすめします。
方法1:[重複の削除]ボタン(最速)
この方法は、WindowsとMac版のMicrosoft 365のExcel、Excel 2021、2019、2016、およびExcel for the webで使えます。
- データ内の任意のセルをクリックします。表全体が自動的に選択されます。一部だけを対象にしたい場合は、範囲を自分で選択してください。
- [データ]タブの[データ ツール]グループにある**[重複の削除]**をクリックします。英語版のExcel(Windows)では、ショートカットキー Alt, A, M でも開けます。
- 先頭行が列見出しの場合は、**[先頭行をデータの見出しとして使用する]**にチェックを入れたままにします。
- 2つの行を重複とみなす基準となる列を選びます。
- すべての列にチェックを入れると、すべての列が同一の行だけが削除されます。
- 一部の列だけにチェックを入れると、その列が一致する行は、他の列が異なっていても削除されます。たとえばメール列だけにチェックを入れれば、顧客ごとに1行だけが残ります。
- [OK]をクリックします。削除された重複値の数と、残った一意の値の数がExcelから通知されます。
Excelは常に最初に出てくる行(いちばん上に近い行)を残し、それより下の行を削除します。操作を取り消したい場合は、すぐに Ctrl+Z を押してください。
最初の行ではなく最新の行を残すには
たとえば、ある顧客が3回登場していて、直近の注文だけを残したいとします。その場合は先に並べ替えて、残したい行が一番上に来るようにします。
- 表を注文日の新しい順(降順)に並べ替えます([データ]→[並べ替え])。
- 顧客列またはメール列だけにチェックを入れて、**[重複の削除]**を実行します。
Excelは一番上の行を残すため、各顧客の最新の注文だけが残ります。
ボタンがグレーアウトしている・動作しないとき
- データに小計またはアウトラインが設定されている。 [重複の削除]はアウトライン付きのデータでは使えません。先に小計を解除してください([データ]→[小計]→[すべて削除])。
- シートが保護されている。 **[校閲]→[シート保護の解除]**で保護を解除します。
- カーソルがデータの外にある。 表内のセルをクリックしてから、もう一度試してください。
方法2:UNIQUE関数(元データを残したまま)
Microsoft 365版のExcel、Excel 2021以降、またはExcel for the webであれば、UNIQUE関数で重複のないコピーを作成できます。元データが変わると、結果も自動で更新されます。
=UNIQUE(A2:A500)
空いているセルに入力してEnterキーを押します。結果は下のセルに「スピル」されるため、その範囲が空いていることを確認してください。

便利なバリエーションは次のとおりです。
- 複数列にわたる重複しない行:
=UNIQUE(A2:C500)は、3列の組み合わせごとに重複を除いた結果を返します。 - 並べ替えた重複なしリスト:
=SORT(UNIQUE(A2:A500))。 - ちょうど1回だけ出てくる値:
=UNIQUE(A2:A500,,TRUE)。重複のある値をすべて除外するため、1件だけのデータを見つけたいときに便利です。 - 増え続ける列から重複なしの値を取得: 先にデータをテーブルに変換(Ctrl+T)し、
=UNIQUE(Table1[Email])のように列を参照すると、新しい行も自動的に含まれます。
結果をそのままの値として使いたい場合は、スピルした範囲をコピーして**[形式を選択して貼り付け]→[値]**を使います。
方法3:フィルターオプション(古いバージョンでも使える)
フィルターオプションの設定を使うと、重複しない行を別の場所にコピーでき、元のデータはそのまま残ります。UNIQUE関数のないバージョンを含め、デスクトップ版のExcelならどれでも使えます。
- データ内をクリックします。
- [データ]タブの[並べ替えとフィルター]グループにある**[詳細設定]**をクリックします。
- **[指定した範囲]**を選びます。
- **[リスト範囲]**に、見出し行を含むデータ全体が指定されていることを確認します。
- **[抽出範囲]**に、きれいなリストの開始位置となる空のセルをクリックして指定します。
- **[重複するレコードは無視する]**にチェックを入れて、[OK]をクリックします。
方法4:Power Query(繰り返す整理に最適)
CRMやネットショップからのエクスポートなど、同じ種類のファイルを毎週取り込むなら、Power Queryで整理の手順を一度設定しておけば、ワンクリックで再実行できます。
- データ内をクリックして、**[データ]→[テーブルまたは範囲から]**を選びます。Power Queryエディターが開きます。
- 重複の基準となる列を選択します。複数選ぶには Ctrl を押しながらクリックします。
- **[ホーム]→[行の削除]→[重複の削除]**を選びます。
- **[閉じて読み込む]**をクリックして、整理したテーブルを新しいシートに読み込みます。
次回からは、新しいデータを貼り付けて**[データ]→[すべて更新]**をクリックするだけです。
1点注意が必要なのは、Power Queryは大文字と小文字を区別することです。「ACME」と「Acme」は別の値として扱われます。一方、[重複の削除]ボタンは大文字と小文字を区別せず、同じ値とみなします。大文字・小文字の表記がそろっていない場合は、重複を削除する前に、列を小文字に変換する手順を追加してください([変換]→[書式]→[小文字])。
方法5:先に重複を見つけて強調表示(何も削除しない)
何を重複とみなすべきか迷うときは、削除する前にまず確認しましょう。
条件付き書式で重複を強調表示する
- チェックしたい列を選択します。
- **[ホーム]→[条件付き書式]→[セルの強調表示ルール]→[重複する値]**を選びます。
- 色を選んで[OK]をクリックします。
最初の1件も含め、2回以上出てくる値がすべて強調表示されます。続いて色でフィルター(**[データ]→[フィルター]**から、列をセルの色で絞り込み)すれば、重複をまとめて確認できます。
![セルの強調表示ルールの[重複する値]を開いた状態の条件付き書式メニューと、B列で繰り返されているメールアドレスがすべて薄い赤で塗りつぶされているExcelの画面](/blog/covers/how-to-remove-duplicates-in-excel/image-highlight-duplicates.webp)
各値が何回出てくるかを数える
データの隣に作業用の列を追加し、次の式を入力します。
=COUNTIF($A$2:$A$500, A2)
結果が1より大きければ重複です。最初の1件にはマークを付けず、2件目以降だけにフラグを立てたい場合は、範囲の開始位置を固定し、終了位置が伸びるようにします。
=COUNTIF($A$2:A2, A2)>1
この式は2回目以降の出現でTRUEを返します。作業用の列でTRUEを絞り込み、行を確認して、本当に重複であれば削除してください。
複数の列にまたがる重複(たとえば同じ姓と名)を調べるには、COUNTIFSを使います。
=COUNTIFS($A$2:$A$500, A2, $B$2:$B$500, B2)
どの方法を選ぶべき?
- 1回限りの整理で、結果に自信がある:[重複の削除]ボタン。
- **元のデータを残したい:**UNIQUE(新しいExcel)またはフィルターオプション(どのバージョンでも可)。
- **同じ乱れたファイルが毎週届く:**Power Query。
- **削除する前に確認したい:**先に重複を強調表示するか、数える。
Googleスプレッドシートで重複を削除する
データがGoogleスプレッドシートにある場合は、**[データ]→[データ クリーンアップ]→[重複を削除]**を使います。Googleスプレッドシートにも、Excelと同じように使えるUNIQUE関数があります:=UNIQUE(A2:A500)。
よくある質問
[重複の削除]は行全体を削除しますか?それともセルだけですか? 選択した範囲内の行全体を削除します。選択範囲の外にある列は変更されません。各行のデータがばらばらにならないよう、表全体を選択してください。
Excelはどの重複を残しますか? 最初の1件、つまり一番上に近い行です。新しい行など別の行を残したい場合は、先にデータを並べ替えてください。
[重複の削除]は大文字と小文字を区別しますか? 区別しません。「Apple」と「APPLE」は同じ値として扱われます。これに対して、Power Queryは大文字と小文字を区別します。
[重複の削除]は元に戻せますか? はい、ブックを閉じていなければ Ctrl+Z で元に戻せます。念のため、事前にシートのコピーを作成しておくと安心です。
目に見えている重複をExcelが見つけてくれないのはなぜですか? 多くの場合、余分なスペース、文字列として保存された数値、または同じ値が異なる形式で表示されていることが原因です。TRIMを使い、列の表示形式を統一してから、もう一度試してください。
重複を削除しつつ1件だけ残すには? [重複の削除]とUNIQUEは、もともとそのように動作します。各値が1件ずつ残ります。複数回出てくる値をすべて削除したい場合は、ちょうど1回だけ出てくる値のみを返す =UNIQUE(範囲,,TRUE) を使います。
乱れたデータを日本語で指示してAIで整える
乱れたリストの問題は、重複だけとは限りません。名前の大文字・小文字の表記が不統一だったり、国名の表記が3通りあったり、日付の形式がばらばらだったりします。CoreGPT for Excelなら、「メールで顧客の重複を削除し、最新の注文を残して」のように、やりたい整理を言葉で伝えるだけで、ブックの中で実行してくれます。自分で数式を作りたい場合は、数式を書いてもらうこともできます。無料で始められ、Excel for the web、Windows、Macで使えます。
完了しました。次の変更を行いました:
- 重複行を12件削除
- 「US」「DE」などを正式名称に変更
- 電話番号の書式を統一
ぜひお試しください:CoreGPT for Excel
関連記事:



