cellio

ExcelのUNIQUE関数の使い方:重複を除いた一意のリストを抽出

ExcelやGoogleスプレッドシートのUNIQUE関数を使って重複しない値を抽出・カウント・並び替えする方法を解説。データ追加にも自動対応する便利な集計表の作成手順も紹介します。

著者 Ayoub Farid · · 4 分で読めます

UNIQUE関数は、指定したセル範囲から重複を除いた一意(ユニーク)な値のリストを抽出し、元データが変更されると自動的に結果を更新してくれる便利なExcel関数です。カテゴリー一覧、顧客リスト、商品マスターなどを素早く作成するのに最も簡単な方法といえます。

この関数は、Microsoft 365、Excel 2021以降、Excel for the web、およびGoogleスプレッドシートで利用可能です。

構文

=UNIQUE(array, [by_col], [exactly_once])

基本的な使い方の例

C2:C200の範囲にカテゴリー名が入力されている場合:

=UNIQUE(C2:C200)

数式を入力したセルを起点として、結果が下方向に自動展開(スピル)されます。展開されるセル範囲に別の文字や数値が入力されていると#SPILL!エラーが発生するため、下のセルは空けておいてください。

並び替えたリストを抽出する

=SORT(UNIQUE(C2:C200))

重複を除いたデータ件数をカウントする

=COUNTA(UNIQUE(C2:C200))

対象のセル範囲に空白セルが含まれている場合、UNIQUE関数は空白を1件として抽出し「0」と表示します。空白を除外して抽出したい場合は、次のように組み合わせます:

=UNIQUE(FILTER(C2:C200,C2:C200<>""))

1度しか現れない値のみを抽出する

=UNIQUE(C2:C200,FALSE,TRUE)

第3引数にTRUEを指定すると、リスト内で重複せず「完全に1回だけ現れる」項目のみを返します。

自動更新される集計表を作成する

  1. F2セルに入力:=SORT(UNIQUE(C2:C200))
  2. G2セルに入力:=SUMIFS(D2:D200,C2:C200,F2#)

F2#という記述は「F2セルからスピルされた範囲全体」を意味します。そのため、元データに新しいカテゴリーが追加されても、自動的に集計行が拡張されます。詳細はSUMIFS関数の解説をご確認ください。

複数列にまたがるユニークな行を抽出する

=UNIQUE(A2:B200)

A列とB列の組み合わせで重複のない、ユニークな行のリストを返します。

以前のバージョンのExcelでの代替方法

UNIQUE関数が使えない以前のバージョンでは、データをコピーした上で「データ」タブの「重複の削除」機能を使うか、ピボットテーブルを利用します。詳しくは重複の削除機能の使い方をご覧ください。

よくある質問

Excelで重複を除いた一意の値を抽出するには?

Excel 365やExcel 2021以降であれば=UNIQUE(範囲)を使用します。古いバージョンでは、「データ」タブにある「重複の削除」機能を使用してください。

重複を除いたユニークなデータの件数を数えるには?

=COUNTA(UNIQUE(範囲))の数式を使用します。

UNIQUE関数で #SPILL! エラーが表示される原因は?

数式の結果が展開されるはずのセルに、すでに文字やデータが入力されていることが原因です。展開先となるセルの内容を削除して空にしてください。

GoogleスプレッドシートでもUNIQUE関数は使えますか?

はい、Googleスプレッドシートでもまったく同様の構文と動作で利用できます。

あわせて読みたい