Excel一覧 Excel操作 検索・抽出 重複データの処理と可視化 重複データの削除

【Excel】重複を削除して1つだけ残す方法|削除・抽出・自動化までの完全ガイド

Excelで大量のデータを扱っていると、同じ値が複数行にわたって記載されている「重複データ」に出会うことは多々あります。
たとえば、次のような場面です:

  • 名簿に同じ人の名前が複数回記録されている

  • 顧客リストに同じIDのデータが複数行ある

  • 商品マスタに重複した商品コードが含まれている

このような場合、「重複しているデータを1つだけ残して削除」することで、正しいデータ整理や集計が可能になります。

本記事では、Excelで重複データを削除して1件だけ残す方法について、初心者から上級者まで対応できる内容を、複数の手法で丁寧に解説していきます。

目的の明確化:「重複の削除で1件残す」とは?

重複を「削除」と言っても、その意味はさまざまです。

処理結果
完全一致を削除同じ行がすべて除去されて0件になる(完全重複)
一部重複を1件だけ残す同じ値の中で最初の1件を残し、他を削除
キー列の重複を1件残す氏名やIDなど指定した列に対する重複のみを削除

本記事では「重複している値を1件だけ残す」という前提で、以下の処理を行います。

Excelの「重複の削除」機能を使う方法(基本機能)

最も手軽なのが、Excelの「重複の削除」ボタンを使う方法です。

手順:

  1. 対象のデータ範囲を選択(例:A1:B100)

  2. 「データ」タブ →「重複の削除」をクリック

  3. 対象となる列(氏名やIDなど)にチェックを入れる

  4. 「OK」を押す

これで、重複データが自動で削除され、最初に出現した1件だけが残ります。

特徴:

  • 数クリックで実行できる手軽さ

  • 複数列で組み合わせ条件も指定可能

  • 元のデータが直接上書きされるため、コピーやバックアップ必須

【Excel】重複を色付けして視覚的にわかりやすくする方法|条件付き書式・関数・応用設定まで徹底解説

COUNTIF関数とフィルターで重複を抽出→削除する方法

「元データを残したまま、重複を取り除きたい」「削除する前に確認したい」という場合は、COUNTIF関数とフィルターの併用が便利です。

手順:

  1. B列に次の式を入力:

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

  2. 「TRUE」の行だけが初出のデータ

  3. フィルターで「TRUE」のみを表示 → コピー&別シートへ貼り付け

メリット:

  • 元のデータを残して別の場所に一意なリストを作成できる

  • 複数条件での制御も可能(例:COUNTIFS)

  • バージョン問わず使用可能

【Excel】最新の日付だけを残して他は削除する方法|関数・Power Query・VBAでの実務対応テクニック

Power Queryで重複を削除して1件だけ残す方法(自動更新対応)

Power Queryを使えば、重複を削除して1件だけ残すクエリ処理を自動化できます。

手順:

  1. 対象範囲を選択 →「データ」→「テーブルまたは範囲から」

  2. Power Queryエディタが起動

  3. 重複除去対象の列を右クリック →「重複の削除」

  4. 「閉じて読み込む」で別シートに出力

特徴:

  • 更新ボタンを押せば、新しいデータに合わせて再処理が可能

  • 元データに影響を与えずに済む

  • 複数列をキーにした処理も可能

【Excel】削除せずに最新データだけを別シートへ出力する方法|関数・Power Query・VBAによる自動抽出テクニック

UNIQUE関数を使用する方法(Excel 365/2021以降)

最新のExcelには、重複のないデータを自動で抽出できるUNIQUE関数が用意されています。

使用例:

=UNIQUE(A2:A100)

この関数を使えば、指定列に含まれる一意な値だけを縦に並べて表示してくれます。

特徴:

  • データ範囲を変更するたびに自動反映

  • ソートや並び替えとの併用も可能

  • 複数列に対応(横方向にも可能)

重複データを1件だけ残す方法は、データ整理の基本となる代表的な手法です。
「完全に削除したい」「最新データだけを残したい」「複数列を条件にしたい」など、目的別の削除方法をまとめて確認したい場合は、次の総合ガイドもあわせて参考にしてください。

【Excel】重複データ削除の完全ガイド|複数列・最新データ・1つだけ残す方法まで徹底解説

VBAで重複を削除して1件だけ残す自動処理の方法

大量データを一気に処理したい場合や、繰り返し作業を効率化したい場合には、VBAを使ったマクロ処理が最適です。

サンプルコード:

Sub 重複を削除して1件残す()

Dim dict As Object
Dim ws As Worksheet
Dim lastRow As Long, i As Long
Dim key As String

Set ws = ActiveSheet
Set dict = CreateObject("Scripting.Dictionary")
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

For i = lastRow To 2 Step -1

key = ws.Cells(i, 1).Value
If dict.exists(key) Then

ws.Rows(i).Delete

Else

dict.Add key, 1

End If

Next i

MsgBox "重複削除が完了しました。"

End Sub

特徴:

  • 最初に出現した1件を残して、それ以降を削除

  • 別シートにも適用可能(コードを少し調整)

  • フィルターや関数よりも大量データに強い

・実務における活用例と注意点

活用シーン実際の処理内容
名簿管理同じ名前の登録が複数あれば最初の1件だけを残す
顧客データのクレンジング顧客IDの重複を取り除いて整理
商品リストの重複排除商品コードが重複しているものを1行に統一
アンケート集計同じ意見の重複を1件にしてユニーク回答を抽出する

注意点

  • 重複の削除は元データが変わる処理なので、必ずコピーを作ってから操作する

  • 空白セルや数値と文字列(例:"1"と1)は異なる扱いになるため注意

  • スペースや記号などで見た目が同じでも実際は異なるケースもあり得る

・まとめ:重複を1件だけ残して削除する処理はExcelの基本かつ強力な整理手法

Excelでの「重複削除」は、単なるデータの整形にとどまらず、集計やレポート作成、名寄せ処理などの土台となる重要な作業です。
複数の方法を使い分けられるようになると、あらゆる業務に柔軟に対応できるようになります。

方法対応バージョン特徴
重複の削除ボタンExcel 2007以降最も簡単で即実行可能。元データが変わる点に注意
COUNTIF+フィルター全バージョン安全に抽出可能。元データを保持したまま利用可能
Power QueryExcel 2016以降推奨自動化・再利用に強い。高度な整形も可能
UNIQUE関数Excel 365 / 2021自動展開&動的抽出に最適
VBAマクロ全バージョン大量処理・自動化・反復作業に最適

    -Excel一覧, Excel操作, 検索・抽出, 重複データの処理と可視化, 重複データの削除