UNIQUE:重複を排除し「一意のリスト(マスタ)」を自動生成

💡 やりたいこと

1万行ある売上明細データの「商品名」列から、ダブりを完全に消し去って「売れた商品の種類(一意のリスト)」だけをパッと作りたい。

新関数での解決法:UNIQUE関数でのリスト一発生成

従来は「データ」タブの「重複の削除」機能(手作業)や、「ピボットテーブル」を使って行っていた「マスタリストの作成作業」を、数式1本で「動的」に実行します。元の明細に新商品が追加されれば、自動でリストにも新商品が追加(スピル)されます。

=UNIQUE(配列, [列の比較], [単一回帰])
=UNIQUE(C2:C10000)
🔥 SORT関数と組み合わせるのが鉄板(SORT/UNIQUE)
=SORT(UNIQUE(A:A))
UNIQUEで抽出された配列は「元データの出現順」のまま並んでいます。これをSORT関数で包むことで、「あいうえお順」「アルファベット順」に綺麗に整列された完全なマスタリストが自動で出来上がります。
「入力規則(プルダウンリスト)」の参照元として =G2#(スピル演算子)と一緒に使うのが最強の入力システム構築の基本です。

旧バージョンでの代替法(COUNTIFの配列技)

どうしてもUNIQUEが使えない環境で、数式だけで重複排除リストを作らざるを得ない場合は、これまた難解な配列技を使用していました。

⚠️ 旧来の手法:COUNTIF と INDEX、MATCH の組み合わせ
※上の行までにすでに出現しているかどうかをチェックしながら引っ張ってくる力技です。
{=IFERROR(INDEX(C$2:C$1000, MATCH(0, COUNTIF($G$1:G1, C$2:C$1000), 0)), "")}

これもFILTERの代替手法と同じく、下方向に数千行コピーすると「今までのすべてとの照合」を1セルずつ毎回計算し直すため、PCのファンが唸り声を上げて計算が終わらなくなるレベルで重くなります。「旧バージョンでは数式でやらず、ピボットか手動の『重複の削除』を使う」が正しい実務運用でした。
最新環境ではUNIQUE1つで解決です。

🔗 関連記事