概要
「同じ商品コードが何度も出てくるけど、一覧には“重複なし”で出したい」
「担当者名を一度ずつだけ抽出したい」
「別表のキーを UNIQUE で“ユニーク化”してから検索したい」
こういう場面で大活躍するのが UNIQUE(ユニーク)関数です。
UNIQUE は
“重複を除いた一覧を自動生成する関数”
で、Microsoft 365 ならスピル(自動展開)で縦にも横にも広がります。
初心者でも扱いやすく、FILTER や XLOOKUP と組み合わせると
「重複キーを除いて検索」する強力な仕組みが作れます。
UNIQUE の基本
書式
=UNIQUE(範囲, [縦方向], [重複判定モード])
範囲
重複を取り除きたいセル範囲。
縦方向(省略可)
TRUE または 1 → 縦方向の重複を除去(通常はこちら)
FALSE または 0 → 横方向の重複を除去
重複判定モード(省略可)
0 → 完全一致(標準)
1 → 1回だけ出現する値(“一意”の値だけ)
2 → 重複している値だけ
通常の「重複を除く一覧」は、ほぼ次の形だけで十分です。
=UNIQUE(A2:A100)
重複キーを除いて検索する基本パターン
例:商品コード一覧を重複なしで作る
A2:A100 に商品コードがあるとします。
=UNIQUE(A2:A100)
これだけで、
「重複なしの商品コード一覧」が縦方向にスピル表示されます。
UNIQUE × XLOOKUP で「重複なしのキーから検索」
重複キーを除いた一覧を作り、
その一覧を使ってマスタ参照するのが実務でよく使うパターンです。
例:商品コード一覧(重複なし)+商品名を取得
A2:A100:商品コード(重複あり)
B2:B100:商品名
まず、重複なしのコード一覧を D2 に作ります。
=UNIQUE(A2:A100)
次に、E2 に「商品名」を表示します。
=XLOOKUP(D2, A2:A100, B2:B100)
D2 を下にスピルさせると、
E列も自動でスピルして「重複なしの商品名一覧」が完成します。
UNIQUE × FILTER で「重複なしの条件抽出」
例:担当者が「佐藤」のとき、商品コードを重複なしで抽出
A列:担当者
B列:商品コード
F2 に担当者名(例:佐藤)が入っているとします。
=UNIQUE(FILTER(B2:B100, A2:A100=F2))
意味:
- FILTER で「担当者=佐藤」の商品コードを抽出
- UNIQUE で重複を除く
これで「佐藤さんが扱った商品コード一覧(重複なし)」が作れます。
UNIQUE の応用:複数列の重複を除く
例:商品コード+商品名の組み合わせを重複なしで抽出
A列:商品コード
B列:商品名
=UNIQUE(A2:B100)
A列とB列の“組み合わせ”が同じ行は1行にまとめられます。
UNIQUE の応用:横方向の重複を除く
横方向に並んだデータの重複を除く場合は、第2引数を FALSE にします。
例:1行に並んだ担当者名の重複を除く
=UNIQUE(A1:Z1, FALSE)
UNIQUE の注意点
スピル範囲にデータがあると #SPILL!
UNIQUE の結果は自動展開されるため、
右下方向に空きスペースが必要です。
並び順は元データの順番のまま
UNIQUE は並べ替えはしません。
並べ替えたい場合は SORT と組み合わせます。
=SORT(UNIQUE(A2:A100))
空白セルも1つとして扱われる
空白があると、空白も「1つの値」として抽出されます。
空白を除きたい場合は FILTER を併用します。
=UNIQUE(FILTER(A2:A100, A2:A100<>""))
例題
問題1: A2:A100 に商品コードがあります。重複を除いた商品コード一覧を B2 に表示する式を書いてください。
=UNIQUE(A2:A100)
問題2: A2:A100 に担当者、B2:B100 に商品コードがあります。担当者が F2 のとき、商品コードを重複なしで抽出する式を G2 に書いてください。
=UNIQUE(FILTER(B2:B100, A2:A100=F2))
問題3: A2:A100 に商品コード、B2:B100 に商品名があります。重複なしの商品コード一覧を D2 に作り、その商品名を E2 に表示する XLOOKUP の式を書いてください。
D2:
=UNIQUE(A2:A100)
E2:
=XLOOKUP(D2, A2:A100, B2:B100)
問題4: A2:B100 に「商品コード+商品名」の表があります。この組み合わせを重複なしで抽出する式を D2 に書いてください。
=UNIQUE(A2:B100)
問題5: A1:Z1 に担当者名が横方向に並んでいます。重複を除いた担当者名一覧を A3 に横方向に表示する式を書いてください。
=UNIQUE(A1:Z1, FALSE)
まとめ
UNIQUE は「重複を除く」だけでなく、
- 重複なしのキー一覧を作る
- FILTER と組み合わせて条件抽出
- XLOOKUP と組み合わせて“重複なしの検索結果”を作る
- 複数列の重複除去
- 横方向の重複除去
など、実務で非常に使いどころが多い関数です。
特に次の型を覚えておくと便利です。
=UNIQUE(範囲)
=UNIQUE(FILTER(範囲, 条件))
=XLOOKUP(UNIQUE(キー範囲), キー範囲, 値範囲)
重複キーを除いた検索は、
マスタ参照・集計・分析のどれでも役立つ“万能テクニック”なので、
ぜひ日常業務で活用してみてください。
