2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

重複したデータの削除でキレ散らかさないためのスプシ芸

Last updated at Posted at 2020-04-29

#概要
仕事してて、重複したデータを削除しなければならない局面って結構あると思います。
時間もない、データ削除機能も信じられないそんな時に毎回「あーこれどうやってやるんだっけ」ってなってググる時間を減らすための記事です。

##前提
前回同様、主にスプシ(Google Spreadsheet)を使ってピボットテーブルのやり方についてまとめます。
そして前回、

スプシとExcelは、基本的な操作に大きな違いはありません。

と抜かしたばかりですが、重複データの操作については、仕様が大きく異なっており、スプシでしか使えない関数なども出てきます。
なので今回は、Excelで同じ技は使えないと思っていてください。

##定義
本記事における重複したデータをどうにかしたい時とは、こういう↓ユーザー情報とかを扱う時です(データはサンプルです1)。
サイト登録やフォーム記入などは、間違えて2回送信するなどのユーザーが出てきやすく、
スクリーンショット 2020-04-29 16.51.32.png

このようにデータが重複する場合が多々あります。
スクリーンショット 2020-04-29 16.51.32のコピー.png
この程度の数なら視認できるかもしれませんが、データの母数が大きくなればなるほど誤差も出やすくしんどいので、小技を使った方が楽です。
中の人がよく使うものをいくつか紹介していきます。
また、結局は正確なデータを得るという目的が遂げられることが大切なので、ここで紹介しない方法を使ってももちろん良いし、ご自身で「こっちの方が圧倒的に楽だろ」という方法をお持ちならそちらを採用してください。

#重複したデータを抽出する
##COUNTIF関数を実行する
選択範囲内にそのデータがいくつ存在するかをカウントします。
1と出れば、そのデータは範囲内に1つだけ = 重複していないことがわかります。
1以外の数字が出れば、範囲内にその数だけ同じデータが存在していることになります。
スクリーンショット 2020-04-29 17.42.49.png

=COUNTIF($A$2:$A$21,A2)

※データの選択範囲に絶対参照をかけ忘れると、選択範囲がずれるので気を付ける

####余談
関数を複数のデータに対して一気に実行したい場合、
スクリーンショット 2020-04-29 17.54.40.png
この右下の青い四角形にカーソルを合わせてダブルクリックすると早いです。

#重複したデータを削除する
##UNIQUE関数を使う
UNIQUE関数とは、2

エクセルにはない関数なのですが、指定したセルの範囲について重複をカットし、文字どおりユニークなデータをリアルタイムで表示してくれる関数です。

というわけで、重複していたデータが削除され、ユニークなデータだけが残りまs…
スクリーンショット 2020-04-29 18.44.17.png

エッ??????
I列とJ列が残念な感じになってしまいました。キレそう。

スクリーンショット 2020-04-29 18.44.17のコピー.png

これは、

  • 同じ生年月日のユーザーがいる
  • 重複している上に住所の書式が違うユーザーがいる

ことが原因でした。
UNIQUE関数について書いて終了するつもりだったのに、こういう事案もあることを身をもって知ってしまった…。
スクリーンショット 2020-04-29 16.51.32.png

C列とD列についてはUNIQUE関数では処理できないようなので、VLOOKUP関数を使っていきます。

##VLOOKUP関数を使う
スクリーンショット 2020-04-29 19.08.50.png

=VLOOKUP(H2,$B$2:$D$21,2,0)

VLOOKUP関数は、選択範囲内のデータに検索をかけて、検索値に対応するデータを出力してくれるものです。
検索値は、出力する値の検索基準になる値です。
ここでは、フリガナ(H2)を検索値として置き、「フリガナの隣の列に入ってる情報を取得する」みたいなことをやっています。
検索値が1列目に当たるように範囲選択をし、選択した範囲の何列目のデータを取得したいのか記述します。選択範囲内だと誕生日は2列目になるので、2とします。最後の0は、完全一致を指定するものです。これを1にすると、類似のデータを取得します。
こうすれば、誕生日が同じでも、ユーザーに紐づいた誕生日が削除されることなく出力されます。

住所でも同様の作業を行います(選択範囲内だと住所は3列目になるので、3とする)。

#まとめ
いろんな関数を駆使してデータと仲良くやっていきたk

  1. サンプルデータはこちらのサイト様の練習ファイルから拝借したものです。

  2. 横方向にも対応できる! Googleスプレッドシートで重複を削除する一番簡単な方法

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?