Excelで重複データを削除する
Excelでは、重複データを削除する方法をいくつか提供しています。Excelで重複データを削除するには、「重複の削除」機能を使用するのが一般的です。「重複の削除」機能は、使用するにあたって注意すべき点があります。ここでは、これらの違いを確認しながら図解していきます。
重複するデータの削除方法
まず初めに、重複するデータの削除方法として「重複の削除」機能を解説します。今回は、次のシートを用いて解説を進めていきます。
このシートは、4行目と7行目の名簿が重複しています(①)。またA~D列が重複しますが、重複行に一部のセルが異なる状況として、E列の年齢を誤って入力した状況を例にとって解説していきます(②)。
「重複の削除」機能を使うには、次のようにセルの範囲を指定し(①)、メインタブの「データ」から「データツール」に表示される「重複の削除」アイコンをクリックします(②③)。
「重複の削除」アイコンをクリックすると、「重複の削除」の画面が表示されます。ここで「重複の削除」で対象とする列を指定します。列名は、1行目の従業員番号・姓・名・性別・年齢の5つが表示されます。重複の判断に使用する列を指定し(④)、「OK」をクリックします(⑤)。
この例では年齢が一致しないため、完全には重複しません。すべての列をチェックすると、「重複する値は見つかりませんでした」が表示され、削除はされません。年齢を外すと、次のように1件が重複し、6件のデータを残したことがポップアップ表示されます(①)。
削除が完了すると指定した範囲から1行のデータが行ごと削除されたことが分かります(②)。ここで、A列の従業員番号を見ると、1番目に現れた4行目のデータが残り、重複した7行目が削除されたことが分かります。
「重複の削除」機能の注意点
先の例の通り、「重複の削除」機能では最初の重複行が残り、2番目以降のデータが削除されたことが分かりました。
ここで、4行目と7行目ではどちらのデータが正しいデータなのか、どちらが残すべきデータなのかは、指定することができない点が問題点として挙げられます。下を残すなど1つ残す場合に削除ルールの変更をしたいところですが、このルールは固定で変更できません。この例のように、どちらのデータが正しいか確認する方法もないので注意が必要です。
また、削除の確認メッセージがなく、元のデータを残さないで即座に削除されるため、事前にシート全体を保存するなどの対策が必要です。また、どの行が削除されたのか確認できないので、何らかの印を事前につけるなど区別する必要もあるでしょう。
なお、値が同じでも書式設定などで表示形式が異なるセルは、削除されないため、重複行の削除漏れがないように書式を統一するなども必要です。
重複するデータの確認と削除の方法
Excelでは、「重複の削除」機能に加えて、重複したデータを削除する方法をいくつか提供しています。ここでは、代表的な重複するデータの確認と削除の方法を学んでいきます。ここでも「重複の削除」機能で用いたデータを使用します。削除の見落としを防ぐためには、連番や通し番号などを設定し、削除の前に昇順ソートしておくのが望ましいでしょう。
「条件付き書式」で強調表示する
Excelでは、「条件付き書式」で重複する値を強調表示することができます。重複する値を強調表示するには、次のようにセルの範囲を指定し(①)、メインタブの「ホーム」からスタイルに表示される「条件付き書式」をクリックします(②③)。
「条件付き書式」で表示されるメニューから「セルの強調表示ルール」にカーソルを合わせ(④)、サブメニューの「重複する値」をクリックします(⑤)。
サブメニューの「重複する値」をクリックすると、次のように色付けされたシートと「重複する値」の画面が表示されます。
「重複する値」では、「重複」と重複のない「一意」から選択できます。書式は、デフォルトの「濃い赤の文字、明るい赤の背景」のほか合計6種類が定義されています。ユーザ設定の書式も使用することができます。ここで、「OK」で色分けがシートに反映されますし、「キャンセルで」元の状態に戻ります。
表示を見ると、4行目と7行目は、年齢を除いて一致していることが簡単に分かります。このように、重複する値をセル単位で強調表示することで簡単に識別できるため、おすすめの確認方法です。
重複データを集計する
重複データを集計するには、COUNTIF関数を使用します。COUNTIF関数は条件付き集計関数で、集計範囲と検索条件を指定します。この例は、重複しやすい姓と名を集計します。
具体的には、次のように集計結果を格納するセルG2で、「=COUNTIF(B$2:B$8,B2)」のように列の指定と、値の指定を行います(①)。入力が進むと、用法がポップアップ表示されますので参考にしながら入力します(②)。
入力した行数に「$」を指定しましたが、行を固定するために入力します。最初のセルG2の入力が完了したら、セルを選択し、表示されるつまみをドラッグアンドドロップし、縦方向と横方向にオートフィル機能で数式をコピーします(①②)。
その結果、重複数を集計した表が完成します(③)。このように姓と名がともに重複するのは4行目と7行目だということが分かります。なお6行目と8行目は姓は同じですが、名が異なるため重複行には該当しないこともすぐに分かります。
【参考】:Microsoft サポート: COUNTIF 関数
フィルターオプションを使用する
「重複の削除」機能では即座に削除が実行され、どの行が削除されたか分からないことが問題でした。フィルターオプションを使用すると、元データを残した状態で、別のセル範囲に重複レコードを除いたデータを抽出することができます。
具体的には、メインタブの「データ」から「並べ替えとフィルター」に表示される「詳細設定」をクリックします(①②)。フィルターオプションでは、事前にセルの範囲を指定する必要はなく、「フィルターオプションの設定」で行います。
「フィルターオプションの設定」が表示されたら、抽出先を「指定した範囲」にします(③)。
ここで、元データの範囲をリスト範囲で指定します(④)。この例ではリスト範囲を、列名を含む「$A$1:$D$8」とし、重複しない列名は除外しておきます。抽出範囲は、フィルター処理したデータの保存先です(⑤)。この場合の抽出範囲は、列の最初を示す「$G$1:$J$1」または「$G$1」のように指定します。
リスト範囲と抽出範囲が指定できたら、「重複するレコードは無視する」にチェックし(⑥)、「OK」をクリックします(⑦)。
このフィルターオプションによって、抽出結果が次のようにG~J列に表示されます(①)。
この例で示すように、特に追加の作業を行うことなく、セルの書式もコピーされます。元のデータが従来のセルにそのまま残りますので、「重複の削除」機能を使うよりも安全です。
重複しない行を関数で抽出する
Microsoft 365では、UNIQUE関数と呼ばれる関数が追加されています。UNIQUE関数は、重複しない行を抽出する関数です。使い方は、簡単で値を入力するセルから「=UNIQUE(A2:E8)」のように範囲を指定します(①)。この場合も、関数の用法がポップアップ表示されます(②)。
UNIQUE関数では、セルの書式はコピーされません。「=UNIQUE(A1:E8)」のように、列名を含めてコピーすることもできますが、書式をコピーする目的で事前にA~Dの列名をコピーしています。「=UNIQUE(A2:E8)」は、1度の入力ですべての対象範囲が次のようにコピーされます(①)。
オートフィル機能のように、ドラッグアンドドロップなどでコピーする必要がありませんので、抽出範囲が広い場合は、手間を省くことができます。
【参考】:Microsoft サポート: UNIQUE 関数
Excelで重複したデータを削除するには安全な方法を使いましょう
Excelで重複したデータを削除するには、「重複の削除」機能が一般的です。「重複の削除」機能は、どの行が削除されたか分からない上に削除する行をルール決めすることができない欠点があります。代替策としては「条件付き書式」で強調表示するのが、実際の重複削除の確認手順としても安全性が高いものです。
特に企業のデータを保全する場合などは、安全性に配慮する必要があります。「条件付き書式」の強調表示を使い、セル全体のバックアップなどを行うなど、慎重に作業を進めると良いでしょう。
マイナビエージェントに無料登録して
転職サポートを受ける
その他のExcel関連記事
その他、Excelに関連する内容は、下記の記事でもご紹介しています。ぜひ参考にご覧ください。
Excelのチェックボックスを作るには?新機能と従来機能を解説
Excelのプルダウンを作成するには?初心者向けに3ステップで解説
Excelのセル内改行方法を解説!実務で使える活用テクニック
Excelで日付から曜日を算出するには?基本からカスタマイズまで
PDFファイルを簡単にExcelに変換する方法と注意点などを解説
Excelの文字を縦書きにするには?基本操作と表示の調整を図解
Excelで掛け算をマスターしよう!初心者向けにやさしく解説
Excelで文字列を結合するには?文字列演算子や関数の使い方
Excelのマクロとは?初心者向けに概要からできること・作り方を解説
エクセルで色付きセルをSUMIF関数で合計するには?方法を解説
Excelを読み取り専用にするには?解除できない場合の対処も解説
Excelで複数条件の合計!SUMIFS関数OR条件をやさしく解説
ChatGPTをエクセルで活用?おすすめのアドインソフトを紹介
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから