スプレッドシートのUNIQUE関数の使い方|重複を瞬時に除去

スポンサーリンク

「リストから重複を取り除いて、一覧を整理したい」。データ整理をしていると、こんな場面がよくありますよね。

手作業で1行ずつ確認して削除するのは、件数が多いと現実的ではありません。しかも、元データを壊してしまうリスクもあります。

そんなときに便利なのが UNIQUE関数 です。範囲を指定するだけで、重複のないリストを自動で作成してくれます。

この記事では、UNIQUE関数の基本から、SORT・FILTER・COUNTIFとの組み合わせまで実例つきで紹介します。

UNIQUE関数とは?

UNIQUE関数は、指定した範囲から 重複する値を取り除いて、一意のリストを返す 関数です。
読み方は「ユニーク関数」です。

たとえば、売上データの「商品名」列にノートPCが5回出てきたとします。UNIQUE関数を使えば1回だけ表示されます。
元データはそのまま残るので安心です。

結果は数式を入力したセルから自動で展開(スピル)されます。

NOTE

UNIQUE関数はGoogleスプレッドシート独自の関数です。ExcelにもUNIQUE関数がありますが、引数名が異なります(後述)。また、Excelでは Microsoft 365 または Excel 2021 以降でしか使えません。

UNIQUE関数の書き方

構文

=UNIQUE(範囲, [列方向], [1回のみ])
引数必須/任意説明
範囲必須重複を除去したいセル範囲(例: A2:A100
列方向任意TRUE = 列単位で重複除去 / FALSE = 行単位(デフォルト)
1回のみ任意TRUE = 1回だけ出現する値のみ返す / FALSE = 通常の重複除去(デフォルト)

TIP

引数が3つありますが、ほとんどの場面では 範囲だけ指定すればOK です。=UNIQUE(A2:A100) のように使います。

引数「列方向」と「1回のみ」の意味

列方向(第2引数) は、データの並び方に合わせて切り替えます。

  • FALSE(デフォルト): データが縦に並んでいる場合。行単位で重複を判定します
  • TRUE: データが横に並んでいる場合。列単位で重複を判定します

通常のスプレッドシートではデータは縦に並んでいるので、この引数は省略して大丈夫です。

1回のみ(第3引数) は、少し特殊な使い方です。

  • FALSE(デフォルト): 重複している値も、最初の1つだけ残します
  • TRUE: 元データで ちょうど1回しか出現しない値だけ を返します。2回以上出現する値はすべて除外されます

「重複していないデータだけ見たい」という場面で TRUE が役立ちます。

UNIQUE関数の基本的な使い方

1列の重複を削除する

次のような売上データで説明します。

 A列(商品名)B列(金額)
2行目ノートPC150000
3行目モニター45000
4行目ノートPC140000
5行目キーボード8000
6行目モニター32000
7行目マウス3000

A列の商品名から重複のないリストを作るには、空いているセル(たとえばD2)に次の数式を入力します。

=UNIQUE(A2:A7)

結果はこうなります。

D列
ノートPC
モニター
キーボード
マウス

「ノートPC」と「モニター」がそれぞれ2回ずつ出てきていますが、UNIQUE関数が1つにまとめてくれました。

複数列の組み合わせで重複削除する

範囲に複数列を指定すると、すべての列が完全に一致する行 を重複と判定します。

たとえば「担当者 + 商品名」の組み合わせで重複を除去する場合です。

 A列(担当者)B列(商品名)
2行目田中ノートPC
3行目佐藤モニター
4行目田中ノートPC
5行目田中キーボード
=UNIQUE(A2:B5)
D列E列
田中ノートPC
佐藤モニター
田中キーボード

3行目の「田中 + ノートPC」は2行目と完全一致するため除外されました。
一方、「田中 + キーボード」は商品名が異なるので残っています。

NOTE

UNIQUE関数は 大文字と小文字を区別しません。「Apple」と「apple」は同じ値として扱われます。

UNIQUE関数の実践的な使い方・応用例

パターン1:SORT+UNIQUEで五十音順のリストを作る

UNIQUE関数の結果は元データの並び順のままです。
五十音順やアルファベット順に並べたいときは、SORT関数と組み合わせましょう。

=SORT(UNIQUE(A2:A100))

UNIQUE関数で重複を取り除き、SORT関数で昇順に並べ替えます。プルダウンの選択肢リストを作るときに便利です。

パターン2:FILTER+UNIQUEで条件付きの一意リストを作る

「東京支店の商品名だけのユニークリスト」のように、条件を付けたい場合です。
FILTER関数で先に絞り込んでからUNIQUEに渡します。

=UNIQUE(FILTER(C2:C100, B2:B100="東京"))

FILTER関数でB列が「東京」の行だけを抽出します。そのC列(商品名)の重複を除去する流れです。
FILTER → UNIQUE の順番がポイントです。

パターン3:COUNTIF+UNIQUEで重複チェック表を作る

各値が元データに何回出現するかを一覧表にできます。COUNTIF関数と組み合わせます。

D2に次の数式を入力して、ユニークリストを作ります。

=UNIQUE(A2:A100)

E2に、そのユニーク値ごとの出現回数を表示します。

=COUNTIF(A$2:A$100, D2)

E2を下方向にコピーすれば、各値の件数が一覧で確認できます。

TIP

もっとスマートに書くなら、1つの数式でまとめる方法もあります。=COUNTIF(A2:A100, UNIQUE(A2:A100)) とすると、UNIQUEの結果に対応するカウントが自動でスピルします。

パターン4:プルダウンの選択肢を自動更新する

UNIQUE関数を使えば、データの入力状況に応じて プルダウンの選択肢を自動更新 できます。

  1. 空いているセル(例: Z2)に =SORT(UNIQUE(A2:A100)) と入力
  2. データの入力規則を設定するセルを選択
  3. メニューから「データ」→「データの入力規則」を開く
  4. 条件を「プルダウン(範囲内)」にして、Z2から始まる範囲を指定

商品名や担当者名が増えても、プルダウンの選択肢が自動で更新されます。

パターン5:ユニーク件数をカウントする

重複を除いた件数(種類数)だけを知りたい場合は、COUNTA関数やROWS関数を使います。

=COUNTA(UNIQUE(A2:A100))

たとえば商品名が100行あっても、種類が5つなら「5」が返ります。

空白セルが混ざっている可能性がある場合は、先にFILTERで除外しておきましょう。

=COUNTA(UNIQUE(FILTER(A2:A100, A2:A100<>"")))

よくあるエラーと対処法

エラー / 症状原因対処法
#REF!結果を展開するセルにデータがあるスピル先のセルをクリアするか、数式を空き領域に移動する
空白行が結果に含まれる元の範囲に空白セルがある=UNIQUE(FILTER(A2:A100, A2:A100<>"")) で空白を除外する
「Apple」と「apple」が1つになる大文字小文字を区別しない仕様区別が必要な場合はEXACT関数で個別に判定する
期待より多くの値が除外される第3引数が TRUE になっている引数を FALSE に戻すか省略する

TIP

#REF! エラーはスピル関数で最もよくあるエラーです。UNIQUE関数の結果が展開される先にデータがあると発生します。出力先の下方向に十分な空きを確保してください。

ExcelのUNIQUE関数との違い

スプレッドシートとExcelのUNIQUE関数は、基本的な動作は同じですが引数名が異なります。

比較項目GoogleスプレッドシートExcel(Microsoft 365)
構文=UNIQUE(範囲, 列方向, 1回のみ)=UNIQUE(配列, 列の比較, 回数指定)
引数名by_columnby_col
利用可能な環境全ユーザーで利用可能Microsoft 365 / Excel 2021 以降のみ
大文字小文字区別しない区別しない
スピル動作すべての関数でスピル可能動的配列対応版(365〜)のみ

最大の違いは 利用できる環境 です。スプレッドシートではすべてのユーザーが使えます。
一方、Excelでは永続ライセンス版(Excel 2019以前)では使えません。

機能面ではほぼ同じなので、スプレッドシートでUNIQUE関数に慣れておけば、Excelでもそのまま使えます。

まとめ

この記事では、GoogleスプレッドシートのUNIQUE関数の使い方を解説しました。

  • UNIQUE関数: 範囲から重複を除去して一意のリストを返す
  • 基本の使い方: =UNIQUE(A2:A100) で範囲を指定するだけ
  • SORT連携: =SORT(UNIQUE(...)) で五十音順のリストを作成
  • FILTER連携: =UNIQUE(FILTER(...)) で条件付きの一意リスト
  • COUNTIF連携: 各値の出現回数を一覧表にできる
  • プルダウン: UNIQUE+SORTで選択肢を自動更新

まずは =UNIQUE(A2:A100) から試してみてください。1列の重複除去ができれば、SORT・FILTERとの組み合わせもすぐに使いこなせます。


この記事を書いた人

biz-tactics編集部。事務職の現場で本当に使えるExcel・スプレッドシート・AIの技を発信しています。

関連記事

タイトルとURLをコピーしました