GPT Workspace GPT Workspace

Google Sheetsで重複データを見つけて削除する方法

Google Sheetsの重複データを、標準機能・数式・Apps Scriptで検出、ハイライト、削除する方法を解説します。データをすばやくクリーンアップしましょう。

Mathias Gilson
Mathias Gilson
著者
2026年9月23日

共有

Google Sheetsで重複データを見つけて削除する方法

共有されたGoogle Sheetを開くと、同じ顧客・注文・リード情報が複数の行にわたって重複している場面に出くわすことがあります。大文字・小文字、書式設定、数式、埋め込み画像だけが異なるエントリもあり、ぱっと見ただけでは何を安全に削除できるのか判断できません。Google Sheetsの重複データのクリーンアップは、統制されたワークフローとして進めるのが最も確実です。一致のルールを定義し、データを壊さずに重複を検出し、結果を吟味して、内容に納得して初めて削除や自動化に進みましょう。

目次

シートに重複データが紛れ込む理由

マーケティングチームがフォームからリードをエクスポートし、運用担当者がその下に更新済みリストを貼り付け、さらに別の同僚が同じタブにCRMファイルを読み込む。シートの見た目は変わらないのに、同じ人物が微妙に異なる名前、メールアドレスの形式、流入元ラベルで複数登録されてしまいます。後日のレポートが一意のレコードではなく行数を集計すれば、誰も気づかないうちに合計が水増しされてしまいます。

重複が紛れ込む経路は、フォーム回答、コピーアンドペースト、インポート、外部連携、共同編集など多岐にわたります。照合作業の最中に同じ範囲を二重に貼り付けてしまうこともあれば、自動化処理のリトライで行が追加されることもあります。お互いの更新に気づく前に、二人が同じ注文を入力してしまうこともあるでしょう。これらは特別なミスではありません。スプレッドシートを入力フォーム兼共有データベースとして扱えば、ごく自然に起こりうる結果なのです。

難しいのは、そのデータセットにおいて「重複」が何を意味するかを決めることです。同じメールアドレスを持つ2行が1人の連絡先を表すこともあれば、同じ会社名を持つ2行が別々の人物を表すこともあります。製品コードの重複はエラーの可能性が高い一方で、ステータスの重複はむしろ通常どおりです。正しいキーは、都合のよい列ではなく、ビジネスルールから決まります。

問題に対処する3つの実践的な方法

  • 標準機能による削除: 範囲が明確で、選択した列を確認したうえで一致する行を削除する準備が整っている場合は、Google Sheetsの標準機能を使いましょう。
  • 数式によるレビュー: 元データを変更する前に、目に見えて元に戻せる監査証跡が必要な場合は、COUNTIFUNIQUEQUERYを使いましょう。
  • 自動化: 同じクリーンアップが繰り返し発生する場合や、一貫したルールが必要なワークフローにまたがる場合は、Apps Scriptが適しています。

目視確認だけではうまくいきません。書式設定や数式が、本来の比較対象を覆い隠してしまうからです。見た目が異なる行が、Sheets上では関連する値が重複と評価されることもあれば、逆に見た目が似ていても重要な識別子が異なることもあります。まず「2つのレコードを同一とみなすフィールド」を定義し、その問いに答えられる最も破壊的でない方法を選びましょう。

Google Sheetsにおける「重複」の定義

Google Sheetsの「重複」の定義は、見た目の完全一致よりも広いものです。公式の重複削除ガイドによれば、セルは大文字・小文字、書式設定、数式が異なっていても、重複として扱われる場合があります。実際には、画面上では異なるように見える2行でも、内部的には同じ値のセットとして評価されることがあるのです。

これは、列に数式、インポートした値、不統一な書式が含まれる場合に重要になります。フォント、表示形式、数式の見せ方を変えたからといって、別のレコードが生まれるとは限りません。Sheetsは、目に見える見た目だけに頼らず、独自の重複判定ロジックに基づいて選択されたデータを評価します。

Google Sheetsが2つのセルの値を重複として判定するか、異なると判定するかの仕組みを解説するインフォグラフィック。

比較範囲は意図的に選ぶ

標準機能のワークフローでは、比較に使う列を選択できます。範囲を選び、ヘッダー行の有無を指定し、重複判定の基準となる列を選択します。AblebitsによるGoogle Sheetsの重複削除手順でも、この選択ロジックと、削除された重複値のレポートについて解説されています。

レコードの厳密な整合性を保ちたいときは、行全体の比較を使いましょう。これは、選択したすべてのフィールドが一致するかどうかを問うものです。メールアドレスや注文IDのような絞り込んだキーは、そのフィールドが業務プロセス上の正式な一意識別子である場合にのみ使ってください。名前の列だけを選ぶと、たまたま同名である有効なレコードまで削除してしまうおそれがあります。

画像には別途の確認が必要です。Google Workspaceの画像に関するアップデート情報で説明されているとおり、Googleは**「セル内の画像」と「セル上の画像」**の両方をサポートしています。セル内の画像はスプレッドシートのコンテンツとして扱われ、セルに収まるよう自動的にリサイズされます。一方、セル上の画像はグリッドから独立して配置されます。また、Googleの画像に関するヘルプドキュメントには、1つのセルに含められる画像は1つだけと明記されています。ビジュアルがレコードの識別に重要な場合は、画像を構造化された列にまとめ、削除前にそれらの行を確認しましょう。

標準機能で重複を削除する方法

単発のクリーンアップなら、標準機能が通常は最速の選択肢です。まずスプレッドシートのコピーを作成するか、ワークシートを複製しましょう。次に、行を削除したときにも整合が保たれるべきすべてのフィールドを含む、完全なデータ範囲を選択します。1つの列だけを選ぶと、レコード全体を反映しない一致判定になりかねません。

データ > データクリーンアップ > 重複を削除を開きます。この正確なパスは、Googleヘルプセンターのワークフローに記載されています。

続けてGoogle Sheetsは、選択した範囲にヘッダー行が含まれるかどうかの確認を求めます。また、比較に使用できる列も表示されます。厳密な行全体のクリーンアップを行うなら、関連するすべての列を選択したままにします。ビジネスルール上、1つのフィールドが一意性を定義する場合は、そのフィールドを意図的に選び、先に進む前にその判断を記録しておきましょう。

安全な削除手順

  1. 元データをコピーする: ルールが広すぎた場合に比較・復元できるよう、元のタブを残しておきます。
  2. 範囲を選択する: 表示されている識別子列だけでなく、テーブル全体を含めます。
  3. ヘッダーを確認する: 先頭行が列名かどうかをSheetsに伝えます。
  4. 比較列を選ぶ: このデータセットで重複を定義するフィールドを選択します。
  5. クリーンアップを実行する: 削除された重複値の件数を報告する確認メッセージを確認します。

このツールは、選択した列の組み合わせに基づいて行を削除します。シート全体で繰り返されている値を片っ端から削除するわけではなく、業務上の文脈も理解してくれません。連絡先リストなら重複データになるメールアドレスも、注文履歴テーブルでは複数の正当な注文に属している場合があるのです。

実践ルール: 選択した列がなぜ2つのレコードを同一とみなすのかを自分の言葉で説明できないなら、まだ削除してはいけません。まずハイライトするか、確認用のコピーを抽出しましょう。

削除後は、行数、数式、フィルタ、合計値、画像を含むレコードを確認します。特に、行の位置を参照する数式に注意してください。残ったデータがきれいに見えても、削除された行によって、下流の範囲に含まれる内容が変わることがあります。

数式で重複をハイライト・フィルタリングする方法

何を重複とみなすかまだ決めていない段階では、数式による検出のほうが安全です。元の行をそのまま残し、ルールを共同作業者に見える形にし、削除前のレビューを可能にしてくれます。

1つの列をチェックするには、対象範囲を選択し、形式 > 条件付き書式設定を開いて、カスタム数式を選択し、次の数式を使います。

=COUNTIF(A:A, A1)>1

このルールは、現在の値がA列に何回出現するかを数えます。結果が1より大きければ、そのセルがハイライトされます。範囲が決まっているデータセットでは、列全体の参照を実際の範囲に置き換え、比較範囲を固定しつつ行の参照は相対のままにします。たとえば、選択したブロックに適用するルールでは、比較範囲を絶対参照、セルを行相対参照にした同等のパターンが使えます。

数式を使ってGoogle Sheetsの重複エントリを見つけてハイライトする4ステップのインフォグラフィック。

ハイライトは確認のため、削除のためではない

条件付き書式設定は見た目を変えるだけで、元のデータは変更しません。ハイライトされた範囲をフィルタして、各グループを確認します。行が同じエンティティを表すかどうかを判断する前に、空白文字、大文字・小文字、識別子、日付、関連フィールドをチェックしましょう。

複数列のロジックが必要な場合は、正規化したフィールドを組み合わせたヘルパーキーを作成するか、対象範囲全体にルールを適用します。Zapierが文書化しているCOUNTIFによる重複検出方法には、定番の数式パターンと、同じアプローチをより広い範囲に応用する方法が紹介されています。ヘルパーキーを使うと、どのフィールドが一致判定を左右するのかを同僚が正確に確認できるため、比較の監査が容易になります。

元に戻せるクリーンなコピーを作るには、複製したワークシートでUNIQUEを使います。まずデータを並べ替えたり正規化したりしてから、選択した列から重複のない行を取り出せます。フィルタリングや特定の列構成での出力が必要な場合は、QUERYを使うとより制御された結果が得られます。クリーンな結果を確認するまで、元のテーブルは変更しないでおきましょう。

実際の監査手順は次のとおりです。

  • コピーを作成する: 数式の出力は別のタブに置きます。
  • 件数を比較する: 元データ、ハイライトされたグループ、クリーンな出力を突き合わせます。
  • 例外を確認する: 書式が異なるレコードや、識別子が不完全なレコードをレビューします。
  • 意図的に置き換える: 検証を終えてからのみ、クリーンな値を元データに上書きします。

並べ替えれば繰り返し行がまとまって表示されますが、それだけでは重複の証明にはなりません。数式による明示的な方法のほうが再現性が高く、ロジックがシート内に残るためです。スプレッドシートの数式を日常的に作成・トラブルシュートするチームには、Excel数式の作成ガイドも参考になります。自然言語のルールを、確認可能な数式に変換する助けになるでしょう。

UNIQUEQUERYは、きれいな比較テーブルが欲しいときに使うものであり、表記ゆれのある名前のあいまい一致には向きません。これらの数式は、選択したフィールドの完全一致で判定します。キーが不完全だと、本当の重複を見逃したり、本来別々にすべきレコードを統合してしまったりするおそれがあります。

以下の動画では、数式によるレビューの流れを実際に見ることができます。

Apps ScriptとAIで重複削除を自動化する方法

同じシートに定期的なインポート、フォーム回答、同期データが流入するなら、自動化が理にかなっています。最も安全なパターンは「似ているものを何でも削除する」ではなく、文書化されたキーを使って選択範囲を定義どおりにスキャンし、削除前に一致フラグを立てられるようにしておくことです。

Apps Scriptでの基本的な流れはシンプルです。

  1. 対象のシートから値を読み取る。
  2. 選択した列からキーを作成する。
  3. すでに出現したキーを記録する。
  4. 同じキーを持つ後続の行にフラグを立てる、または収集する。
  5. レビューモードを通過した後でのみ、それらの行を削除する。

スクリプトはヘッダーを保持し、必要に応じて空のキーをスキップし、行を削除する場合は下から上へ処理する必要があります。こうすることで、スクリプトの処理中に行番号がずれるのを防げます。定期的なクリーンアップには、時間ベースのトリガーを追加するか、カスタムメニューから関数を実行しますが、選択範囲、キー列、実行した操作のログは必ず残しましょう。

GPT Workspaceは、Google Workspaceのワークフローの中でApps Scriptのドラフト作成と解説ができます。Google Sheets向けAIデータクリーニング機能は、列と一致ルールを自然言語で記述し、適用前に提案された変換をレビューしたい場合に役立ちます。

画像には明示的な対処が引き続き必要です。セル内に保存された画像は行のレイアウトの一部ですが、セル上に配置された画像は独立して存在します。各セルがサポートする画像は1つだけなので、ビジュアル層がレコードを確実に識別できるとは考えないでください。安定したテキストキーまたは数値キーを使い、画像は、スクリプトが画像参照そのものを比較する設計になっていない限り、レビュー用のシグナルとして扱いましょう。

自動化は削除モードではなくフラグモードから始めるべきです。コピーに対して実行し、フラグが立った行を確認し、件数を比較して、そこで初めて破壊的な操作を許可します。間違ったキーで黙々と実行され続けるスクリプトは、手作業のクリーンアップよりも大きな問題を引き起こしかねません。

シートを重複のない状態に保つベストプラクティス

優れた重複削除は、その大半が準備です。削除のクリック自体は簡単です。データセットを守るのは、正しいキーの選択、元データの保全、結果の確認なのです。

共有シートをクリーンアップするときは、次のルーティンを実行しましょう。

  • コピーで作業する: 行を変更する前に、ファイルまたはワークシートを複製します。
  • 先に正規化する: 比較の前に、大文字・小文字、空白文字、日付、識別子の書式を標準化します。
  • キー列を慎重に選ぶ: 正式な識別子があればそれを使い、なければ行全体を比較します。
  • 目視でレビューする: ハイライトされたグループ、数式、書式、画像を含む行を確認します。
  • 件数を検証する: 元のテーブルを置き換える前に、元データとクリーンな出力を比較します。
  • 元に戻せる数式を優先する: ルールがまだ検証中なら、UNIQUEQUERY、ヘルパーキーを使います。
  • 繰り返し作業を自動化する: 安定したルールは、手動での検証を終えてからApps Scriptに移します。

データの入力規則を使えば入力時点での表記の不一致を減らせますし、フォームのフィールドを制御すれば回答の統一性も保てます。レビュー用タブで定期的にUNIQUEの出力を確認すれば、元データを変更せずに新たな重複を発見できます。より広範なスプレッドシートのメンテナンスには、GPT WorkspaceのGoogle Sheets AIツールが役立ちます。数式サポート、選択範囲の分析、データクリーニング、分類、Apps Scriptのドラフト作成などの機能が含まれています。

元のテーブルを唯一の正として、派生的なチェックはその隣か別タブに置きましょう。この分離によって、検出された重複と削除済みの重複を区別しやすくなり、シートが変更されたときにも共同作業者に明確な監査証跡を残せます。

信頼できる習慣はシンプルです。まず検出、次に確認、最後に削除。同じ問題が繰り返されるなら、出力を何度も修正するのではなく、入力プロセスを改善するか、レビュー可能なルールを自動化しましょう。


GPT Workspaceは、AIサポートをGoogle Sheetsやその他のGoogle Workspaceアプリに直接組み込み、数式の作成、選択範囲の分析、データクリーニング、Apps Scriptのドラフト作成を支援します。重複削除のルールをレビュー可能なワークフローに変えるために活用し、GPT Workspaceで利用可能なツールをぜひ確認してみてください。

インストール無料

ワークフローを強化する準備はできましたか?

すでにGPT Workspaceを使用して生産性を高めている700万人のユーザーに参加しましょう。

GPT Workspace をインストールすることにより、以下に同意したものとみなされます:
利用規約 および プライバシーポリシー