同じ顧客が2回登録されている、フォーム回答を統合したらメールアドレスが重なった、商品コードの一覧が膨らんでしまった。こうした場面で役立つのが、Google スプレッドシート 重複 削除 方法です。ただし、重複を消す操作は一度実行すると元に戻しにくく、判定する列を誤ると必要な行まで失うことがあります。最初に「何を同一データとみなすか」を決めることが、安全な整理への近道です。
Google スプレッドシートで重複を削除する前の確認
重複には、完全に同じ行が複数あるケースと、一部の列だけが重なるケースがあります。たとえば顧客名簿で「氏名」だけが同じでも、別人である可能性があります。一方で、メールアドレスや社員番号、注文番号は原則として一意であるべき項目です。
削除の対象範囲は、見出しを含めて選択します。A列のメールアドレスだけを基準にしたいならA列だけ、氏名と電話番号の組み合わせで判定したいなら、その2列をまとめて選択してください。表全体を選ぶと、すべての列の値が一致した行だけが重複として扱われます。
業務データや共有中のシートでは、操作前にシートの複製を作成しておくと安心です。画面下部のシートタブを右クリックし、「複製」を選べば、元データを残したまま作業できます。特にGoogleフォームの回答一覧や、他部署から受け取ったCSVを貼り付けた直後のデータでは、このひと手間が重要です。
メニューから重複を削除する基本手順
最も手早い方法は、スプレッドシートの標準機能である「重複を削除」を使う方法です。実際にデータを整理して行数を減らしたいときに向いています。
まず、重複を確認したいデータ範囲をドラッグして選択します。次に上部メニューから「データ」-「データの整理」-「重複を削除」を選びます。表示された設定画面では、選択範囲に見出し行が含まれる場合、「データにヘッダー行が含まれます」にチェックを入れてください。
続いて、重複判定に使う列を選択します。メールアドレスだけで判定するならメールアドレス列だけにチェックを入れます。氏名、会社名、電話番号のすべてが一致するレコードだけを削除したい場合は、3列すべてを選びます。設定後に「重複を削除」を実行すると、削除された重複数と残った一意の行数が表示されます。
この機能では、同じ値が複数ある場合、基本的に先に並んでいる行が残り、後ろの行が削除されます。最新の登録情報を残したい場合は、削除前に更新日時の列で並べ替えを行い、残すべきレコードを上側に配置しておきましょう。
表全体を消さず、特定列だけで判定するコツ
「メールアドレスが同じ行を1件だけ残したいが、住所やメモの内容は違う」という場面では、判定対象をメールアドレス列だけに限定します。表全体を選んだまま全列にチェックを入れると、住所やメモの違いによって別データと判定され、期待どおりに削除されません。
ただし、重複するメールアドレスのうち、どの行を残すかは自動では選べません。最終購入日、対応状況、更新日時など、残す基準になる列を準備して並べ替えてから実行する運用が確実です。
削除せずに一覧を作るならUNIQUE関数
元データを保持しながら、重複のない一覧だけを別の場所に表示したいなら、UNIQUE関数が便利です。たとえばA2からA1000にメールアドレスが入っている場合、空いているセルに次の式を入力します。
`=UNIQUE(A2:A1000)`
これで、A列にある重複なしのメールアドレス一覧が自動作成されます。元データに新しい行が追加されても、参照範囲内なら一覧に反映されます。イベント参加者リスト、商品カテゴリの候補、部署名の抽出など、原本を壊したくない業務に適した方法です。
複数列の組み合わせで重複を除きたい場合は、範囲をまとめて指定します。
`=UNIQUE(A2:C1000)`
この式では、A列からC列までの内容がすべて同じ行を1件にまとめます。氏名とメールアドレスの組み合わせをユニークにしたい場合にも使えます。ただし、UNIQUE関数が返す結果は数式による表示です。結果を直接編集したいときは、必要に応じてコピーし、「値のみ貼り付け」で別の場所に固定してください。
UNIQUE関数と「重複を削除」の使い分け
実データそのものを整理して不要な行を減らすなら、メニューの「重複を削除」が適しています。反対に、集計や確認用として一意のリストを作りたいだけなら、UNIQUE関数を選びます。
毎週更新されるフォーム回答から部署一覧を作るような用途では、UNIQUE関数のほうが管理しやすくなります。一度だけ受け取った名簿を整えてCRMへ取り込む前処理なら、バックアップを取ったうえで重複を削除するほうが実務的です。
消えない重複は空白と表記ゆれを確認する
見た目は同じなのに重複として扱われない場合、セル内に余分な空白、改行、全角と半角の違いが含まれていることが少なくありません。たとえば「info@example.com」と「info@example.com 」は、末尾に空白があるだけで別の値です。
余分な前後の空白を取り除くには、別列でTRIM関数を使います。
`=TRIM(A2)`
コピー元が外部システムやCSVの場合、通常の空白ではない文字が混じることもあります。その場合はCLEAN関数を組み合わせると、不要な制御文字を除去しやすくなります。
`=TRIM(CLEAN(A2))`
氏名や会社名では、「株式会社」と「(株)」、「Google合同会社」と「グーグル合同会社」のような表記ゆれも起こります。これは単純な重複削除では解決できません。取り込み前の入力ルールを定めるか、置換機能で表記を統一してから判定する必要があります。メールアドレスや顧客IDなど、できるだけ明確な識別子を基準にするのが基本です。
共有シートでの削除ミスを防ぐ運用
Google Workspaceで共同編集しているシートでは、他のメンバーが更新している最中に行を削除すると、確認が難しくなることがあります。まず複製したシートで重複件数を確認し、問題がなければ管理者や担当者の合意を得て本番データへ反映する流れが安全です。
また、フィルタで一部の行だけを表示している状態では、見えているデータだけを対象にしているつもりでも、選択範囲の取り方によっては想定外の行に影響することがあります。削除前にはフィルタ条件を見直し、対象範囲と判定列をもう一度確認してください。
重複削除は単なる掃除ではなく、データの信頼性を守る作業です。まずは複製シートで試し、残す基準を決めてから実行する。この順番を習慣にすれば、名簿でもフォーム回答でも、必要な情報を失わずに整えられます。