UNIQUE関数で担当者名の重複を除いた一覧を作成する例
Rate this post

UNIQUE関数とは

UNIQUE関数は、範囲内の値から重複を除いた一覧を作成する関数です。Microsoft 365のExcelで利用できます。

従来、重複を除いたリストを作るには「重複の削除」機能で元データを加工するか、ピボットテーブルを立てる必要がありました。UNIQUE関数なら元データを一切変更せず、別の場所に重複なしリストを作成でき、元データが更新されると結果も自動で変わります。名簿・訪問履歴・発注履歴など、「履歴は残したいが一覧も欲しい」という場面で真価を発揮します。

UNIQUE関数で担当者名の重複を除いた一覧を作成する例
重複のある名前列から重複なし一覧を抽出

基本的な使い方

書式は =UNIQUE(配列) だけです。引数は1つで、重複を除きたい範囲を指定します。

入力手順

  1. 結果を出力したい先頭セルを選択する
  2. =UNIQUE( と入力する
  3. 対象の範囲(例:A2:A9)を指定してEnterを押す

出力された一覧はスピルで展開されます。元のリストに行を追加すると、新しい値が自動で一覧に反映されます。重複が減れば一覧も自動で縮みます。

第2・第3引数の使い方

  • by_col(第2引数):TRUEを指定すると、行ではなく列方向の比較になります
  • exactly_once(第3引数):TRUEを指定すると「1回だけ登場する値」だけを残し、2回以上登場する値をすべて除外します

たとえば訪問履歴で「1回しか来ていない担当者」を調べるなど、逆方向の使い方もできます。

SORT関数とUNIQUE関数を組み合わせて昇順の重複なしリストを作る例
=SORT(UNIQUE(範囲)) で昇順に並べる

SORT関数と組み合わせて五十音順に並べる

UNIQUE関数の出力は元データの登場順です。一覧を見やすくするには、SORT関数で包みます。

=SORT(UNIQUE(A2:A9))

これで「重複なし・昇順」のリストが完成します。ドロップダウンリストの元データや、帳票の分類一覧にそのまま使えます。

実務で役立つ活用テクニック

プルダウンリストの選択肢を自動更新する

データの入力規則(プルダウン)の元範囲にUNIQUE関数の結果を指定しておくと、元データに新しい分類が追加されたとき、プルダウンの選択肢も自動で増えます。名前・担当者・区分などの入力欄で、選択肢のメンテナンスが不要になります。

2列セットで重複を除く

配列に2列以上を指定すると、「行全体が同じ」ものだけを重複とみなして除きます。「担当者×支店」の組み合わせなど、ペア単位の一覧化に使えます。

FILTER関数と組み合わせて条件付きの一覧を作る

=UNIQUE(FILTER(A2:A100, B2:B100="東京")) と書くと、「東京の行に登場する担当者の重複なし一覧」が作れます。支店別の担当者リストなどに便利です。

重複の「個数」を数える

一覧に対してCOUNTIF関数を使えば、各値が何回登場したかを隣の列に並べられます。重複を除いた件数そのものを数える方法は重複を除いたデータの個数を数える方法で詳しく解説しています。

よくあるエラーと対処法

#SPILL!エラーが出る

展開先に値が入っていると表示されます。出力範囲を空けてください。一覧の長さは元データで変わるため、下に余白を十分に確保しましょう。

空白セルが一覧に残る

範囲の末尾に空白セルが含まれていると0として扱われることがあります。FILTER関数と組み合わせて空白を除外できます。

=UNIQUE(FILTER(A2:A9, A2:A9<>""))

見た目が同じなのに重複が残る

空白の入った「 田中」と「田中」、数値の「100」と文字列の「100」は別の値として扱われます。TRIM関数で前後の空白を除去した列を作ってからUNIQUEに渡すと解決します。

Excel 2019以前で#NAME?になる

UNIQUE関数はMicrosoft 365・Excel for web・Excel 2021以降専用です。旧環境ではピボットテーブルや「重複の削除」機能で代替してください。

よくある質問

Q. 元のデータの順番は保たれますか?

A. 保たれます。UNIQUE関数は「初めて登場した順」で出力するため、元データの並び順を反映した一覧になります。順番を揃えたい場合はSORT関数と組み合わせてください。

Q. 大文字・小文字は区別されますか?

A. 区別されません。「ABC」と「abc」は同じ値として扱われ、1つにまとめられます。

Q. 空白(””)のセルはどう扱われますか?

A. 空のセルも1つの値として一覧に残ることがあります。=UNIQUE(FILTER(A2:A100, A2:A100<>"")) で除外するのが確実です。

まとめ

UNIQUE関数は、重複だらけのリストから「使える一覧」を瞬時に作る関数です。元データを加工しないので安全で、更新にも自動対応します。SORT関数・FILTER関数と組み合わせれば、実務のほぼすべての一覧作成が1つの式で済むようになります。まずは担当者リストや分類リストから導入してみてください。

関連記事