いまさら聞けないExcelの使い方講座
【Excel】XLOOKUP関数で販売リストから全種類の商品を商品番号順に並べて取り出すテク
2025年8月6日 06:55
UNIQUE関数を使うならSORT関数も組み合わせよう
同じ顧客が購入を繰り返す注文履歴や、取扱商品の販売履歴を管理する販売データなどでは、表内に同一の商品番号などのコードが繰り返し記録されていることが多いでしょう。例えば、販売履歴が月ごとに集計されていて、このデータを元に商品ごとの売れ行きを分析する場合は、重複を取り除いた商品名を調べることになります。
商品名をコピペして[重複の削除]の機能を利用しても構いませんが、一意(ユニーク)なデータを取り出したいならUNIQUE関数が便利です。引数もセル範囲を指定するだけなので手軽に利用できます。
しかし、データを分析する場合、重複を取り除くことだけが目的ではありません。商品番号をキーとして処理するほうが都合の良いことが多いでしょう。今回はUNIQUE関数とSORT関数の組み合わせ、XLOOKUP関数を使ったデータの抽出のテクニックを紹介します。
SORT関数を組み合わせる
まず、SORT関数の構文を紹介します。1つの列を昇順で並べ替えるなら、最初の[範囲]を指定するだけです。UNIQUE関数の引数としてSORT関数を指定すると、[範囲]に指定したセル範囲を昇順で並べ替えた結果から一意のデータが取り出されることになります。ここでは、商品番号(セルB2~B31)を対象にUNIQUE関数とSORT関数を組み合わせてみます。
XLOOKUP関数で参照する
H列に取り出した商品番号をキーとして、対応する商品名をXLOOKUP関数で取り出してみましょう。セルH2の結果はスピルで表示されているので、引数[検索値]に「H2#」のように指定すると、まとめて結果を取り出せます。
「#」はスピル演算子と呼ばれ、「H2#」は”セルH2のスピルの結果”を指します。結果として、今月に販売された一意の商品名を商品番号順で取り出すことができます。
なお、セルH2の数式をXLOOKUP関数に組み込んでも構いません。商品番号順などに整えた一意のデータは、集計やレポート作成の土台として役立ちます。ぜひ活用してみてください。
=XLOOKUP(UNIQUE(SORT(B2:B31)),B:B,C:C)