重複データを処理する方法は3つある

名簿や商品リストなど、マスターデータとなる管理表を扱うときには「重複データ」のチェックが欠かせません。放置しておくとデータの整合性がとれず、深刻な問題の原因にもなります。特に、手軽に共同編集できるGoogleスプレッドシートでは気を付けたいポイントです。

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

重複データ」が含まれた表の例です。ここでは分かりやすく黄色にしていますが、実際に目視で探すのは難しいもの。データの件数が多ければ、並べ替えて削除するのも無理があります。

そこで覚えておきたいのが、本記事で紹介する重複データへの3つの対処法です。以下の3つを状況に応じて使い分けられるよう、以降の解説でマスターしてください。

重複データをチェックのみを行う

元データは残したまま、どのデータが重複しているのか、チェックのみを行う方法です。ここでは会員リストを例に、メールアドレスが一意であることを前提にチェックしてみます。

この方法では、条件に一致するデータを数えるCOUNTIF(カウント・イフ)関数を利用します。構文は以下の通りです。

=COUNTIF範囲, 条件

  • 範囲] ... 検索対象のセル範囲を指定します。
  • 条件] ... 検索条件を指定します。

入力する数式は以下の通り。[メールアドレス]列(D列)全体を検索対象にして、セル(D1)を条件とします。結果が「1」なら重複なし、「2」以上でなら複数回数えられたということなので、重複データと判別できます。

「$D:$D」と絶対参照で指定しているのは、数式をコピーしたときに参照をずらさないためです。「D1」は参照をずらしたいので相対参照としています。

=COUNTIF($D:$D,D1)
1COUNTIF関数を入力する

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

セルF1に「=COUNTIF($D:$D,D1)」と入力します。

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

結果に「1」と表示されました。「メールアドレス」の文字列は1つだけなので当たり前ですね。

2重複データを確認する

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

フィルハンドルをドラッグして数式をコピーしておきます。「2」と表示された10行目のデータが重複していることが分かりました。

なお、この例で気を付けたいのは、同姓同名の別人なのか、同一人物が複数のメールアドレスを利用しているのかです。[氏名]列をCOUNTIF関数でチェックすれば確認も簡単です。セルG1の数式は以下の通りです。

=COUNTIF($B:$B,B1)

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

氏名の重複を確認しました。この例の場合、同姓同名なのか、同一人物が複数のメールアドレスを利用しているのかの確認が必要です。

重複データを取り除いた表を作成する

今度は、元データを残して重複を取り除いた表を作成します。この方法では、セルにUNIQUE(ユニーク)関数を1回入力するだけで完了します。構文は以下の通りです。

=UNIQUE範囲, by_column, exactly_once

  • 範囲] ... 検索対象のセル範囲を指定します。
  • by_column] ... 検索する方向を指定します。TRUE:行方向(右方向)、FALSE:列方向(下方向)。省略すると「FALSE」とみなされます。
  • exactly_once] ... [範囲]に複数回出現するデータの扱い方を指定します。TRUE:一意の値のみ抽出、FALSE:一意の値にまとめる。省略すると「FALSE」とみなされます。

引数[範囲]に重複を除くセル範囲を指定するだけでOKです。一般的な使い方であればオプションの引数[by_column]と[exactly_once]は省略して構いません。

セルF1に入力する数式は以下の通り。「B:D」と指定することで、B~D列全体を指定したことになります。

=UNIQUE(B:D)
1UNIQUE関数を入力する

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

セルF1に「=UNIQUE(B:D)」と入力します。

2重複データを除いた表が表示された

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

B~D列で重複データを除いた表が表示されました。3件の重複データがあったことが分かります。

重複データをまとめて削除する

最後に、重複データをまとめて削除したい場合は、Googleスプレッドシートが備える「データのクリーンアップ」の機能を使います。

ただし、この方法は元の表を更新するため、慎重に作業してください。COUNTIF関数を使った重複チェックやUNIQUE関数で重複データを取り除いた結果を確認してから作業するといいでしょう。

1[重複の削除]画面を表示する

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

表の中のセルを選択しておきます。[データ]-[データクリーンアップ]-[重複の削除]の順にクリックします。

2重複データを判定する列を指定する

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

[重複の削除]画面が表示されました。見出し行のある表では[データにヘッダー行が含まれている]にチェックを付けます。また、重複データと判定する列にチェックを付けます。ここでは、氏名、ふりがな、メールアドレスにチェックを付けました。最後に[重複を削除]をクリックします。

3重複データをの結果を確認する

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

重複データの削除結果のメッセージが表示されました。[OK]をクリックします。

Googleスプレッドシートで重複を確認・削除する方法。COUNTIF、UNIQUE、データクリーンアップを活用

表の末尾を確認すると、97行目まで表示されています。UNIQUE関数で確認した結果と同じです。

重複データのチェックと削除は、よくある作業の1つです。チェックだけしたいときはCOUNTIF関数、別表として取り出したいときはUNIQUE関数、まとめて削除したいときはデータクリーンアップと、上手に使い分けてください。

関連記事