Excel関数 逆引き集 | 重複キーを除いて検索 → UNIQUE

Excel VBA Excel
スポンサーリンク

概要

「同じ商品コードが何度も出てくるけど、一覧には“重複なし”で出したい」
「担当者名を一度ずつだけ抽出したい」
「別表のキーを 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(キー範囲), キー範囲, 値範囲)

重複キーを除いた検索は、
マスタ参照・集計・分析のどれでも役立つ“万能テクニック”なので、
ぜひ日常業務で活用してみてください。

タイトルとURLをコピーしました