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回だけ現れる」項目のみを返します。
自動更新される集計表を作成する
- F2セルに入力:
=SORT(UNIQUE(C2:C200)) - 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スプレッドシートでもまったく同様の構文と動作で利用できます。