Excelを使用していると、新旧のデータが混在して重複してしまうことがあります。古いデータに気づかず作業を続けていると、後で膨大な確認作業がかかります。
この記事では、Excelで重複したデータを削除する方法について解説します。重複削除できないときの対処法も紹介するので、参考にしてみましょう。
Excelで重複削除する場面とは?
Excelで重複削除する場面は、下記の通りです。
- 同じ内容を複数回入力してしまったとき
- 入力すべきリストより項目数が多く重複が疑われるとき
- 顧客コードや商品番号の二重登録を調べたいとき
- 住所や電話番号で登録の重複を調べたいとき
「ヒューマンエラーによる入力重複ミスを修正したい」「ユーザーの重複登録を見つけたい」というときに便利です。
商品番号や電話番号など、明確な重複を見つけたいときに役立ちます。しかし「高橋」と旧漢字の「髙橋」など表記ゆれはExcel上で見つけにくいため、プルダウンを設定するなどして対策しておきましょう。
関連記事:【2023年最新】Excelのプルダウンを設定する方法!表記ブレや入力ミス予防に最適 | OneChat Blog
Excelで重複削除するステップ
ここからは、Excelで重複削除するステップを解説します。どのような場面でも使いやすい方法を紹介するので、困ったときは試してみましょう。下記では、Excel2021年版を利用して解説します。
ステップ1:重複削除したい表を選択
まずは、重複を削除したい表を選択します(重複箇所には色をつけています)。
■条件
- 「田中陽介・男性・25歳」が3人いる
- 「田中陽介・男性・25歳」かつ「A005」が2人いる
- 「A001」が2人いる
- 「A005」が3人いる
重複項目を削除するため、下記のように表の全てをドラッグして選択しておきましょう。
ステップ2:重複の削除ボタンを選択
データタブのなかにある「データツール」を選択し、「重複の削除」ボタンをクリックします。
ステップ3:重複削除した項目を選択
「重複の削除」ボタンを選択すると、上記のようなウインドウが表示されるので重複削除したい項目を選択しましょう。削除したい範囲・項目に合わせて、選択する必要があるので注意が必要です。
- 全項目にチェックを入れて重複削除した場合
ID・氏名・性別・年齢の全てが重複しているデータのみ、削除されます。今回の場合、「A005・田中陽介・男性・25歳」の1行だけが削除されました。一方で、「IDだけ重複しているデータ」は削除されません。そのため、完全重複を削除したい場合におすすめの方法です。
- IDだけにチェックを入れて重複削除した場合
IDだけにチェックを入れて重複を削除すると、IDが被っていた「A001 横尾良子」と「A005 田中陽介」「A005 横浜大樹」が削除されました。削除された数も事前に表示されるので便利です。
ただし、重複する情報のうちどちらを残すべきかは、Excel上で自動判断されてしまうので注意しましょう。「A001 田中陽介」と「A001 横尾良子」のどちらを残すべきか判断したくても、上段のセルが優先されてしまいます。
- 氏名だけにチェックを入れて重複削除した場合
氏名だけにチェックを入れて重複削除すると、その名の通り氏名の重複だけを削除してくれます。3人いた「田中陽介」を削除できますが、一方でIDの重複には対応できません。
「同姓同名で年齢が異なる他人」を削除してしまう可能性もあるので、注意しましょう。
- 性別だけにチェックを入れて重複削除した場合
性別だけにチェックを入れて重複を削除してしまうと、上段にいる2人しか表示されなくなりました。「男」か「女」かの2択で上段のみを表示してしまうので、顧客リストの精査などには向きません。
- 年齢のみにチェックを入れて重複削除した場合
年齢のみにチェックを入れて重複削除すると、同じ年齢の人を省くことができます。最も若い人(最も高齢な人)を抽出するのに便利ですが、フィルタ機能で代替した方が早いでしょう。
Excelで重複削除できない場合の対処法
Excel上にあらかじめ設定されている「重複の削除」ボタンを使った手法を解説しましたが、下記のような問題があるとわかりました。
- 全項目が一致するデータの重複削除にしか向かない
- 一部が重複するデータのうちどれを削除すべきか判定する機能がない
「IDと氏名が被っている」「IDだけが被っている」など複雑な重複を削除する際には、向かない機能です。
全項目が重複しているデータを削除したいときのみ、活用するよう意識しておきましょう。
下記では、「重複の削除」ボタンだけで希望通りに削除できない場合の対処法を紹介します。
関数を活用する
関数を活用する場合は、下記の手順で進めます。
- 重複チェック列を作成する
- 重複チェック用の関数を入力する(今回の場合は「=COUNTIF($A$2:$A$11,A2)」)
A2からA11までのID列において、A2と重複する数値があるかをチェックする関数です。氏名の重複を調べたいときはB列が対象となるため、「=COUNTIF($B$2:$B$11,B2)」と入力しましょう。
- 重複チェックが「2」以上になった場合、重複が疑われると判断できます。
該当セルだけで重複がない場合は、「1」と表示されます。
同様の関数を他のセルにもコピーして入力することで、同じチェックができます。「A001」が2つある行には「2」が、「A005」が3つある行には「3」が自動入力されているので、当該データのうちどれを残すか目視で確認しながら作業を進めましょう。
Excelで重複削除する際の注意点
関数を使って重複をチェックする場合、確認できるのはチェックすることのみです。重複している内容のうちどのデータを削除するかは、自分で判断する必要があるので注意しましょう。
「全ての項目が重複しているから削除して問題ない」という場合は「重複の削除」ボタンを使用します。一方で、複雑な重複や一括での削除以外に対応したい場合は関数を使用、と使い分けることがポイントです。
まとめ
Excel上のデータが重複していそうな場合、「重複の削除」ボタンを使った一括削除か、関数を使った重複のチェックがおすすめです。それぞれに注意点があるので、シーンに応じて使い分けましょう。
- 全項目が重複するデータを削除したい場合は「重複の削除」ボタン
- 削除データを個別に判断したいため重複チェックをしたい場合は関数
重複データがあると、データの整合性が取れず適切な分析ができなくなってしまいます。また、顧客リストや在庫リストに誤りが生じてしまい、大きなトラブルに発展してしまうことも考えられます。早い段階でデータの整理を行い、常に正しい状態になるようメンテナンスするのがポイントです。
よくある質問
最後に、Excelの重複削除に関する「よくある質問」を解説します。
スプレッドシートでも重複削除できますか?
スプレッドシートでも、同様の手法で重複削除が可能です。ただし名称が少し異なっており、データタブ内にある「データクリーンアップ」から「重複を削除」となっているので注意しましょう。
マクロを組んで簡単に重複削除できますか?
マクロを組んで、重複を削除することも可能です。
Sub duplicateDelete()
Worksheets(1).Range(“A:D”).RemoveDuplicates Columns:=Array(1, 2, 3, 4), Header:=xlYes
End Sub
上記のコードを入力することで、全項目が完全に重複しているセルを自動で削除してくれます。面倒な作業が要らず、一瞬で完了するのがメリットです。日頃から重複入力を避けたいときに設定しておくと便利でしょう。
Excelの重複削除に関する用語集
用語 | 意味 |
重複 | 同じ内容が入力されてしまっている状態 |
重複の削除ボタン | 重複しない値を抽出、または重複する値を削除できるボタン |