Googleスプレッドシートで重複データを整理する方法。UNIQUE関数とフィルタの実務的な使い分け
Googleスプレッドシートで重複データを整理したいなら、まずは UNIQUE 関数で重複を除いた一覧を別場所に作る のが基本です。元データを壊さずに整理結果を出せるので、顧客リスト、商品コード、申込一覧の確認で扱いやすくなります。
そのうえで、対象を絞り込みたい場面ではフィルタを使います。全件から一意の値だけ抜き出すのが UNIQUE、条件つきで見たい行だけ残すのがフィルタ、という役割分担で考えると迷いにくいです。
UNIQUEは「重複を除いた一覧を作る」ための関数- フィルタは「今見たい条件だけに絞る」ための機能
- 共有シートでは通常フィルタより フィルタ表示 のほうが安全
- 空白や表記ゆれがあると、見た目は同じでも重複としてまとまらないことがある
まず押さえたい前提
この記事は、Googleスプレッドシートのブラウザ版 を前提にしています。UNIQUE 関数の仕様と、通常フィルタ・フィルタ表示の挙動は、Google のヘルプに沿って整理しています。
UNIQUE は、指定した範囲から重複を除いた行を返す関数です。結果は、元データに最初に出てきた順番で並びます。つまり、並べ替えをしない限り「初出順」で一覧が作られます。
UNIQUE関数の基本の書き方
まずはもっとも単純な形です。
=UNIQUE(A2:A10)
これで A2:A10 にある値から、重複を除いた一覧が返ります。
たとえば元データが次のようになっているとします。
A列
東京
大阪
東京
名古屋
大阪
福岡
このとき =UNIQUE(A2:A7) の結果は次のようになります。
東京
大阪
名古屋
福岡
ここで重要なのは、元データはそのまま残る ことです。整理後の一覧を別セルに作るだけなので、確認用のリストや集計の前処理に向いています。
複数列をまとめて重複判定する
1列だけでなく、複数列の組み合わせで重複を取りたいこともあります。
=UNIQUE(A2:C20)
この場合は、A 列から C 列までの1行全体が同じなら重複として除外されます。
たとえば「会社名は同じでも担当者が違うなら別行として残したい」ような場面では、1列ではなく複数列をまとめて指定するのが実務的です。
1回しか出てこない値だけを取り出す
重複を除くのではなく、重複していない値だけ を見たいなら第3引数を使います。
=UNIQUE(A2:A10,FALSE,TRUE)
これで、同じ値が2回以上出てくるものは除外され、1回だけ出てきた値だけが返ります。
申込一覧の中から「一度しか出ていないメールアドレスだけ確認したい」といったチェックで便利です。
フィルタは「条件で絞る」ときに使う
UNIQUE だけでは「東京支店のデータだけ見たい」「未対応の案件だけ見たい」といった条件付きの整理には足りません。ここで使うのがフィルタです。
ここがポイント: 重複を消すのは
UNIQUE、対象を絞るのはフィルタです。両方を混ぜずに考えると、式も操作もかなり整理しやすくなります。
通常フィルタが向く場面
メニューの「データ」から作る通常フィルタは、次のような確認に向いています。
- 特定の担当者だけ表示したい
- 空白行を除いて見たい
- 状態が「未対応」の行だけ確認したい
- 一時的に並べ替えて傾向を見たい
ただし通常フィルタは、そのシートを共有している他の編集者にも影響しやすい のが注意点です。
共有シートではフィルタ表示が安全
複数人で同じシートを見るなら、通常フィルタより フィルタ表示 を優先したほうが安全です。
フィルタ表示は、自分用の絞り込み条件を保存しつつ、他の人の見え方を変えにくいのが利点です。案件管理表や営業リストのように、同じ表を複数人で触る運用ではこちらが向いています。
UNIQUEとFILTERを組み合わせると実務で強い
関数としての FILTER を組み合わせると、条件を絞ったうえで重複のない一覧を作れます。
たとえば、B列が「東京」の行だけから A列の担当者名を重複なく取り出すなら次のように書けます。
=UNIQUE(FILTER(A2:A20,B2:B20="東京"))
この形が便利なのは、元データをそのまま置いたまま、別の場所に「東京案件の担当者一覧」だけを自動で作れることです。
入力例
A列: 担当者 B列: 拠点
佐藤 東京
田中 大阪
佐藤 東京
鈴木 東京
高橋 大阪
出力例
=UNIQUE(FILTER(A2:A6,B2:B6="東京"))
佐藤
鈴木
この1式で、条件抽出と重複排除をまとめて処理できます。月次レポートや拠点別の確認リストを作るときに手数が減ります。
よくある使いどころ
顧客リストの名寄せ前チェック
顧客マスタに同じ会社名が何度も入っていないかを見るとき、まず UNIQUE で一覧を作ると全体像をつかみやすくなります。
ただし、会社名に全角半角の差や末尾スペースがあると、同じ会社でも別データとして残ることがあります。重複が減らないときは、式より先にデータの揺れを疑ったほうが早いです。
商品コードの一覧作成
受注データから商品コードだけを一意に取り出せば、取扱商品の一覧やマスタ照合用リストをすぐ作れます。
複数列を指定すれば、「商品コードは同じだがサイズ違いは別扱い」にも対応できます。
フォーム回答の整理
Googleフォームの回答シートでは、同じ部署名や拠点名が何度も出てきます。UNIQUE で候補一覧を作っておくと、集計シート側の入力規則や確認用リストに流用しやすくなります。
うまく重複が消えないときの確認ポイント
見た目では同じでも、実際には別データになっているケースがあります。
- 末尾や先頭に空白が入っている
- 全角と半角が混ざっている
- 数値と文字列が混在している
- 通貨、日付、パーセントなどの表示形式がそろっていない
- 見出し行まで範囲に含めてしまっている
- 結果の展開先に既存データがあり、配列結果を出せない
特に多いのは、コピペ由来の余計な空白です。TRIM や CLEAN を先に当てると、UNIQUE の結果が安定しやすくなります。
代替手段と使い分け
重複整理といっても、やりたいことは1つではありません。目的ごとに使い分けると無駄が減ります。
- 一覧を作りたい:
UNIQUE - 件数だけ知りたい:
COUNTUNIQUE - 条件をつけて絞りたい: フィルタ、または
FILTER - 共有シートで自分だけ見方を変えたい: フィルタ表示
「重複を消したい」だけで操作を始めると、元データまで触ってしまいがちです。まずは別セルに UNIQUE で結果を出す、共有中なら フィルタ表示を使う。この2点を先に決めるだけで、シート事故はかなり減らせます。
まとめ
Googleスプレッドシートで重複データを整理する基本は、UNIQUE で一意の一覧を作り、必要に応じてフィルタで対象を絞る流れです。
最後に、実務で確認しておきたい点を短くまとめます。
- 元データを直接削る前に、別セルで
UNIQUEの結果を作る - 複数列で判定したいなら範囲全体を指定する
- 条件付きの一覧は
UNIQUE(FILTER(...))が便利 - 共有シートでは通常フィルタよりフィルタ表示を優先する
- 重複が消えないときは、まず空白と表記ゆれを確認する
「式は合っているのに結果が変だ」と感じたら、関数よりデータの中身を先に見直すべき場面が少なくありません。重複整理は式のテクニックだけでなく、元データの整え方まで含めて考えると失敗しにくくなります。
