Excelでデータの重複を削除したいことはないでしょうか?
けど、そんな中で悩むことは、
- データの重複を簡単に削除する方法がわからない
- 特定の列を基準に重複を削除したい
- 自動で重複を削除する方法が知りたい
ですよね。
今回はそんなお悩みを解決する
-
- Excelの「重複の削除」機能を使う方法
- 条件付き書式・フィルター・関数・VBAを使った応用的な方法
についてまとめます!
重複削除の完成イメージ
Excelでデータの重複を処理する方法は、目的によって使い分けるのが鉄則です。
元のデータを直接上書きしていいのか、それとも確認しながら慎重に消したいのかによって、最適な方法が変わります。
例えば、
- 「重複の削除」機能を使って一瞬で削除
- 条件付き書式で重複を見つけて手動で削除
- フィルターを使って重複データのみを削除
- 関数を使って重複データを判定し、別の列に抽出
- VBAで自動的に重複を削除
今回はこのようなサンプルデータを使います。

それでは、具体的な方法を解説していきます。
もくじ
1. 「重複の削除」機能を使う方法
Excelに標準搭載されている、最もシンプルかつ強力な機能です。「元データをそのまま書き換えて構わないから、とにかく早く不要な重複を消したい」という場合は、この方法が一番お手軽でおすすめです。
手順
-
重複を削除したい範囲(または表全体)を選択します。
-
「データ」タブの中にある「重複の削除」をクリックします。

-
対象となる列(重複の基準にしたい列)にチェックを入れて「OK」をクリックします。

重複排除されましたね。

「社員番号」や「商品ID」など1列だけを基準に重複を削除することも可能です。その場合、他の列に違う値が入っていても、下に登場する重複データが自動的に削除されます。
2. 条件付き書式で重複を見つける
「いきなりデータを消してしまうのは怖い」「入力ミスがないか、どこが重複しているのかを事前に把握したい」という場合におすすめの方法です。
手順
-
重複を確認したい範囲(例:A列や表全体など)を選択します。
-
「ホーム」タブにある「条件付き書式」から「セルの強調表示ルール」に進み、「重複する値」を選択します。

-
割り当てる色(ライト赤や黄色など)を選択して「OK」をクリックします。

目で見てしっかり確認しながら、不要な行を手動で削除したり、入力内容を修正したりしたい場合に非常に便利です。
ほかの列も含めた複合キーとする場合は対象列を含めて選択しましょう。

3. フィルターを使って重複データを削除
条件付き書式で重複に色をつけた後や、特定のキーワードで絞り込んでから、該当する重複データだけをスマートに一括削除したい場合に有効な方法です。
手順
-
表を選択し、「データ」タブにある「フィルター」の「詳細設定」をクリックします。

-
フィルターオプションの設定で「重複するレコードは無視する」でフィルタリング(絞り込み)を行います。

フィルターで絞込されます。※非表示となっただけで物理的に削除はされていません。

4. 関数を使って重複を判定し削除
関数を使えば、元のデータを一切傷つけることなく、複数列の組み合わせ(複合キー)から「どれが2回目以降に登場した重複データか」を自動で判定させることができます。
例えば、「A列(商品ID)」と「B列(やさいの名前)」と「C列(産地)」の3つがどちらも一致しているデータを重複とみなす場合は、複数条件に対応できる「COUNTIFS関数」を使用します。
構文
=COUNTIFS(A$2:A2, A2, B$2:B2, B2, C$2:C2, C2)>1
手順
-
データの隣の列(例:D2セルなど)に 上記数式を入力し、下の行まで数式をコピーします。

-
1回目に登場した組み合わせは「FALSE」、2回目以降の重複は「TRUE」と表示されます。
-
あとは、フィルターで「TRUE」の行だけを絞り込んで削除します。
5. VBAを使って自動で重複を削除
毎日・毎週発生する定型レポートの作成など、ボタン一つで一瞬で重複削除を終わらせたいシステムライクな運用に向いています。
コード
Sub RemoveDuplicates()
Dim ws As Worksheet
Dim targetRange As Range
' 現在開いているシートを対象にする場合
Set ws = ActiveSheet
' A1セルからつながっている表全体を自動で取得
Set targetRange = ws.Range("A1").CurrentRegion
' 1列目、2列目、3列目のすべてが一致した場合に重複削除
targetRange.RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes
End Sub
手順
-
キーボードの「Alt + F11」を押してVBAエディタを開き、メニューの「挿入」から「標準モジュール」を作成します。
-
上記のコードを貼り付け、重複削除したいシートを開きます
-
範囲(A列とB列とC列)に合わせてコードの「Array(1, 2, 3)」を修正し実行します。
実行結果は問題なく重複分が削除されていますね。

さいごに
いかがでしょうか。
今回は、
- Excelの「重複の削除」機能を使う方法
- 条件付き書式・フィルター・関数・VBAを使った応用的な方法
についてまとめました。
手軽さ重視なら標準機能、安全に進めるなら条件付き書式や関数、定型業務の自動化ならVBAといったように、Excelにはさまざまな方法で重複データを削除できる機能が備わっています。
データの性質や作業の重要度に合わせて、自分に合った最適な方法を試してみてください!







コメントを残す