Excelで重複削除する方法5選!

Excelで重複削除する方法5選!
Excelでデータの重複を削除したいことはないでしょうか?

けど、そんな中で悩むことは、

  • データの重複を簡単に削除する方法がわからない
  • 特定の列を基準に重複を削除したい
  • 自動で重複を削除する方法が知りたい

ですよね。

今回はそんなお悩みを解決する

    • Excelの「重複の削除」機能を使う方法
    • 条件付き書式・フィルター・関数・VBAを使った応用的な方法

についてまとめます!

重複削除の完成イメージ

Excelでデータの重複を処理する方法は、目的によって使い分けるのが鉄則です。
元のデータを直接上書きしていいのか、それとも確認しながら慎重に消したいのかによって、最適な方法が変わります。

例えば、

POINT
  • 「重複の削除」機能を使って一瞬で削除
  • 条件付き書式で重複を見つけて手動で削除
  • フィルターを使って重複データのみを削除
  • 関数を使って重複データを判定し、別の列に抽出
  • VBAで自動的に重複を削除
のようなアプローチがあります。

今回はこのようなサンプルデータを使います。

それでは、具体的な方法を解説していきます。

1. 「重複の削除」機能を使う方法

Excelに標準搭載されている、最もシンプルかつ強力な機能です。「元データをそのまま書き換えて構わないから、とにかく早く不要な重複を消したい」という場合は、この方法が一番お手軽でおすすめです。

手順

  1. 重複を削除したい範囲(または表全体)を選択します。

  2. 「データ」タブの中にある「重複の削除」をクリックします。

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

重複排除されましたね。

POINT
すべての列にチェックを入れると、すべての列が同じデータを持つ「完全一致の行」のみが削除されます。
「社員番号」や「商品ID」など1列だけを基準に重複を削除することも可能です。その場合、他の列に違う値が入っていても、下に登場する重複データが自動的に削除されます。

2. 条件付き書式で重複を見つける

「いきなりデータを消してしまうのは怖い」「入力ミスがないか、どこが重複しているのかを事前に把握したい」という場合におすすめの方法です。

手順

  1. 重複を確認したい範囲(例:A列や表全体など)を選択します。

  2. 「ホーム」タブにある「条件付き書式」から「セルの強調表示ルール」に進み、「重複する値」を選択します。

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

 

POINT
この段階ではデータは削除されず、重複しているセルが自動で色付けされます。
目で見てしっかり確認しながら、不要な行を手動で削除したり、入力内容を修正したりしたい場合に非常に便利です。

ほかの列も含めた複合キーとする場合は対象列を含めて選択しましょう。

3. フィルターを使って重複データを削除

条件付き書式で重複に色をつけた後や、特定のキーワードで絞り込んでから、該当する重複データだけをスマートに一括削除したい場合に有効な方法です。

手順

  1. 表を選択し、「データ」タブにある「フィルター」の「詳細設定」をクリックします。

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

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

POINT
特定の条件で絞り込んで削除可能なため、「ステータスが完了になっているデータの中から重複だけを消す」といった、一歩踏み込んだ細かいデータ管理ができます。

4. 関数を使って重複を判定し削除

関数を使えば、元のデータを一切傷つけることなく、複数列の組み合わせ(複合キー)から「どれが2回目以降に登場した重複データか」を自動で判定させることができます。

例えば、「A列(商品ID)」と「B列(やさいの名前)」と「C列(産地)」の3つがどちらも一致しているデータを重複とみなす場合は、複数条件に対応できる「COUNTIFS関数」を使用します。

構文

=COUNTIFS(A$2:A2, A2, B$2:B2, B2, C$2:C2, C2)>1

手順

  1. データの隣の列(例:D2セルなど)に 上記数式を入力し、下の行まで数式をコピーします。

  2. 1回目に登場した組み合わせは「FALSE」、2回目以降の重複は「TRUE」と表示されます。

  3. あとは、フィルターで「TRUE」の行だけを絞り込んで削除します。

POINT
範囲の最初を「A$2」とドルマークで固定して下に向かって数えさせることで、「上から順に見ていって、これが何回目の登場か」を正確にカウントできます。常に最新の1件だけを残したいときなどに、条件付き書式と組み合わせると非常に便利です。

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

手順

  1. キーボードの「Alt + F11」を押してVBAエディタを開き、メニューの「挿入」から「標準モジュール」を作成します。

  2. 上記のコードを貼り付け、重複削除したいシートを開きます

  3. 範囲(A列とB列とC列)に合わせてコードの「Array(1, 2, 3)」を修正し実行します。

実行結果は問題なく重複分が削除されていますね。

POINT
シート上に開発ボタンを作成してマクロを登録すれば、ワンクリックで重複削除が可能になります。他部署から送られてくるCSVデータを貼り付けた後、一瞬でデータクレンジングを終わらせたいときに強力な力を発揮します。

さいごに

いかがでしょうか。

今回は、

  • Excelの「重複の削除」機能を使う方法
  • 条件付き書式・フィルター・関数・VBAを使った応用的な方法

についてまとめました。

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



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA ImageChange Image