ExcelとGoogleスプレッドシートで重複を削除する方法
ExcelとGoogleスプレッドシートの標準機能と、単純なリストをもっと早く片づける方法。
重複はどんなリストにも紛れ込みます。2つの書き出しの貼り合わせ、2回送信されたフォーム、古いメールリストと新しいリストの統合。重複をいちばん早く取り除く3つの方法と、注意すべき落とし穴を紹介します。
Excelで
- 見出し行を含めてデータを選択します。
- 「データ」→「重複の削除」を選びます。
- 2つの行を重複とみなす基準の列にチェックを入れます。完全に一致する行だけを消すならすべてにチェックを、メールアドレスごとに1行残すならメールの列だけにチェックを入れます。
- OKをクリックすると、削除した重複の数と残った一意の値の数が表示されます。
Excelは各重複の最初のものを残し、残りを削除します。保存すると変更は元に戻せないので、先にシートのコピーを作っておきましょう。
Googleスプレッドシートで
- 範囲を選択します。
- 「データ」→「データクリーンアップ」→「重複を削除」を選びます。
- 見出し行があるかを指定し、比較する列を選んで確定します。
元のデータに手を付けずに重複を除いたコピーを作るなら、UNIQUE関数も使えます。=UNIQUE(A2:C500)
単純なリストなら
メールアドレス、商品コード、名前、URLなどのリストだけなら、表計算ソフトを開くのは大げさです。重複を削除するツールに貼り付け、大文字小文字や余分な空白を無視するかを選び、整理されたリストをコピーするだけです。元の順番は保たれ、見つかった重複の数も分かります。
落とし穴
| 落とし穴 | 例 | 対処法 |
|---|---|---|
| 大文字と小文字の違い | Ada@Example.comとada@example.com | 大文字小文字を区別しない設定にするか、先に小文字にそろえる |
| 見えない空白 | 末尾に空白がある「ada@example.com 」 | 前後の空白を除くか、シートでTRIM関数を使う |
| ほぼ重複 | 山田太郎と山田 太郎 | 厳密には重複ではないので目で確認する |
| 比較する列が多すぎる | メールアドレスは同じで登録日が違う | そのレコードを識別する列だけで比較する |
Excelの「重複の削除」は大文字と小文字を区別しませんが、末尾の空白は別物として扱います。重複を削除するツールなら、どちらもオプションで対応できます。
1つの列で重複を判定する
他の列が違っても顧客ごとに1行だけ残したいなら、識別に使う列だけで比較します。Excelではその列だけにチェックを入れます。Excelで開きたくないCSVなら、列を抽出するツールでその列を取り出してから重複を削除します。
メールリストの場合
メールアドレスなら、メールリストを整理するツールがさらに一歩進んだ処理をします。小文字化、無効なアドレスの除去、重複の削除を一度に行い、乱雑に貼り付けた文章からもアドレスを取り出せます。