Googleスプレッドシートでデータを管理していると、重複した行が混入してしまうことはよくあります。手作業で削除するのは時間がかかるだけでなく、見落としも発生しやすいものです。この記事では、Googleスプレッドシートの標準機能を使って重複行を一括で削除する方法を詳しく解説します。関数やフィルタを使った代替手段も紹介しますので、状況に合わせて最適な方法を選んでください。
【要点】重複行削除には「データ」メニューの「重複を削除」機能が最も簡単です。関数を使う方法やフィルタを使う方法も併せて覚えておきましょう。
- 「データ」→「データクレンジング」→「重複を削除」: 数クリックで重複行を削除できる標準機能です。削除する列を指定することで、特定の列の値が重複している行だけを削除できます。
- UNIQUE関数: 重複のない一意のデータを新しい範囲に抽出します。元データを残したい場合や、自動更新が必要な場合に便利です。
- QUERY関数のSELECT DISTINCT: 重複行を除外したデータを取得できます。複雑な条件と組み合わせて、必要なデータだけを抽出したい場合に使います。
ADVERTISEMENT
目次
重複行が発生する原因と削除の基本
重複行が発生する主な原因としては、手入力ミスによる同じデータの重複登録、複数のデータソースを結合した際の重複、CSVファイルの取り込み時に発生する重複などが挙げられます。重複行を放置すると、集計や分析の結果が歪んでしまうため、定期的なデータクレンジングが必要です。Googleスプレッドシートには、重複行を削除するための方法がいくつか用意されています。最も簡単なのはメニューからの「重複を削除」機能で、数クリックで実行できます。UNIQUE関数やQUERY関数を使う方法もあります。それぞれの特徴を理解して、目的に合った方法を選びましょう。
標準機能「重複を削除」を使った手順
まずは最も簡単な方法から解説します。
- 削除する範囲を選択する
重複行を含むセル範囲をドラッグで選択します。見出し行がある場合は、その行も含めて選択してください。範囲が広い場合は、Ctrl+Aで全選択しても構いません。 - メニューから「データクレンジング」を開く
上部メニューの「データ」をクリックし、「データクレンジング」→「重複を削除」を選択します。ダイアログが表示されます。 - 重複の基準となる列を指定する
ダイアログの「見出し行がある」にチェックを入れます。削除の基準にする列にチェックを入れます。すべての列にチェックが入っていると、すべての列の値が完全一致する行だけが重複と見なされます。特定の列だけを基準にしたい場合は、該当する列のみチェックしてください。 - 「重複を削除」ボタンをクリックする
設定が完了したら「重複を削除」ボタンをクリックします。確認のダイアログが表示されるので「はい」を選択します。処理が完了すると、削除された行数が通知されます。実際のシートから重複行が削除されます。
この方法は、元のデータを直接編集するため、削除前にシートのコピーを取っておくことをおすすめします。元に戻したい場合は、Ctrl+Zで直前の操作を元に戻せますが、大量のデータを削除した後は戻せない場合もあります。
UNIQUE関数を使う手順
元データを残したまま、重複のないリストを別の場所に作成したい場合に便利な方法です。
- 結果を表示するセルを選択する
重複のないデータを出力したいセルをクリックします。例えば、シートの右側や別のシートを出力先にします。 - UNIQUE関数を入力する
セルに「=UNIQUE(元の範囲)」と入力します。元の範囲は重複を含むデータ範囲を指定します。例えば、A1:C100のように指定します。 - Enterキーで確定する
関数が実行され、重複のない一意の行が自動的にスピル(隣接セルに拡張)して表示されます。元データはそのまま残るため、安全に作業できます。
UNIQUE関数の注意点として、元の範囲に空白行があると、結果にも空白行が含まれます。また、大文字と小文字は区別されるため、「abc」と「ABC」は別のデータとして扱われます。
QUERY関数を使う手順
条件を指定して重複を排除したい場合に有効です。
- 結果を表示するセルを選択する
出力先のセルをクリックします。 - QUERY関数を入力する
次のように入力します。「=QUERY(範囲, “select distinct *”, 見出し行数)」。範囲にはすべての列を含めます。見出し行数は、見出し行が1行目にある場合は1を指定します。 - Enterキーで確定する
重複が排除されたデータが表示されます。distinctキーワードにより、すべての列の値が重複する行が除外されます。
QUERY関数は、特定の列だけを対象に重複を排除することも可能です。例えば、「select distinct A, B」とすれば、A列とB列の値が重複する行を排除できます。また、where句と組み合わせれば、特定の条件を満たす行の中から重複を排除することもできます。
重複削除で失敗しないための注意点
削除前に必ずバックアップを取っておく
重複削除機能は元データを直接変更するため、誤って必要なデータまで削除してしまうリスクがあります。必ずシートのコピーを作成してから実行してください。シート名を右クリックして「コピーを作成」を選択すれば、簡単にバックアップが取れます。
重複の基準を正しく設定する
すべての列を基準にするか、特定の列だけを基準にするかで結果が変わります。例えば、顧客リストでメールアドレスの列だけを基準にすれば、同じメールアドレスを持つ行のうち最初の行だけが残ります。住所や名前が異なっても、メールアドレスが同じであれば重複と見なされます。
大文字小文字の違いに注意する
「重複を削除」メニューは大文字と小文字を区別しません。つまり、「abc」と「ABC」は同じと見なされます。しかし、UNIQUE関数やQUERY関数はデフォルトで大文字小文字を区別するため、意図しない結果になることがあります。必要に応じて、LOWER関数やUPPER関数で文字を統一してから処理すると良いでしょう。
データの並び順が保持されない場合がある
「重複を削除」メニューを使用すると、削除後のデータは元の並び順を保ちます。しかし、QUERY関数でdistinctを使用した場合、結果の並び順は保証されません。元の並び順を維持したい場合は、先に並べ替えを行ってから削除するか、UNIQUE関数を使ってください。
ADVERTISEMENT
重複削除の各方法の比較
| 方法 | メリット | デメリット | こんな場合に適している |
|---|---|---|---|
| 「重複を削除」メニュー | 操作が簡単で高速、大量データでも数秒で処理可能 | 元データを直接編集するため元に戻せないリスク | とにかくすぐに削除したい場合、初心者でも使いやすい |
| UNIQUE関数 | 元データを残せる、自動更新される | 結果が別の場所に表示される、空白行が含まれることも | 元データを保持しつつ重複なしのリストを常に最新に保ちたい場合 |
| QUERY関数 | 条件指定が可能、複雑な抽出と重複排除を同時に行える | 構文を覚える必要がある、大文字小文字を区別する | 特定の条件で絞り込みつつ重複を排除したい場合 |
| フィルタビュー+手動削除 | 視覚的に重複を確認しながら削除できる | 手間がかかる、大量データには不向き | 少量のデータを慎重に処理したい、重複を目視確認したい場合 |
まとめ
この記事では、Googleスプレッドシートで重複行を一括削除する方法を解説しました。最も手軽なのは「データ」メニューの「重複を削除」機能です。UNIQUE関数やQUERY関数を使えば、元データを残したまま重複排除ができ、条件付きの処理も可能です。状況に応じてこれらの方法を使い分けてください。定期的に重複チェックを行い、データの品質を維持することを習慣にしましょう。Googleスプレッドシートのデータクレンジング機能を活用して、効率的なデータ管理を実現してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】複合グラフで棒と折れ線を同時表示!2軸グラフの作り方
- 【Googleスプレッドシート】FILTER関数で条件に合う行だけ抽出!数式1つで動的な絞り込み
- 【Googleスプレッドシート】フィルタ表示で他の人の表示を変えずに絞り込み!共有時の使い分け
- 【Googleスプレッドシート】重複データを抽出して表示!COUNTIFと条件付き書式の併用
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】ARRAYFORMULAで列全体に数式を一括適用!セル分の入力を不要に
- 【Googleスプレッドシート】データ範囲を動的に伸縮させる!INDIRECTと参照範囲のコツ
- 【Googleスプレッドシート】共有解除と権限の取り消し!アクセスを完全に閉じる手順
