EC分析で使えるXLOOKUP完全ガイド

エクセル

〜VLOOKUPはもう卒業!データ分析が10倍ラクになる新定番関数〜


はじめに

ECサイトの分析では、商品マスタから価格を引っ張ってきたり、注文データに顧客情報を紐付けたりと、「あるデータを別の表から探してくる」作業が日常的に発生します。

これまで多くの方がVLOOKUPを使ってきたと思いますが、2019年以降のExcelではXLOOKUPという後継関数が使えます。これを使いこなすと、分析作業のスピードと正確さが格段に上がります。


1. XLOOKUPとは?

XLOOKUPは、指定した値を表から検索し、対応するデータを返す関数です。VLOOKUPの弱点をすべて克服した「進化版」と考えてください。

基本構文

=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
引数必須/任意説明
検索値必須探したい値(例:商品ID、注文番号)
検索範囲必須どの列から探すか
戻り範囲必須何を返すか(複数列も可)
見つからない場合任意エラー時の代替テキスト(例:”該当なし”)
一致モード任意完全一致・近似一致など
検索モード任意上から・下から・バイナリ検索など

2. VLOOKUPとの違い(なぜXLOOKUPが優れているか)

VLOOKUPの3大弱点とXLOOKUPの解決策

課題VLOOKUPXLOOKUP
列の追加・削除列番号がズレてエラーになる範囲指定なので影響なし ✅
左方向の検索できない ❌できる ✅
エラー処理IFERRORを別途組む必要がある引数で直接指定できる ✅

3. EC分析での活用シーン(実践例)

ケース①:注文データに商品名・価格を紐付ける

状況: 注文テーブルに商品IDしかなく、商品マスタから名称と単価を引きたい

商品マスタ(Sheet2)

商品ID商品名単価
P001ワイヤレスイヤホン8,980
P002スマホケース1,280
P003充電ケーブル980

注文テーブル(Sheet1)

注文ID商品ID商品名単価
ORD-001P002← ここに数式← ここに数式

数式(商品名を取得):

excel

=XLOOKUP(B2, Sheet2!A:A, Sheet2!B:B, "該当なし")

数式(商品名・単価を一度に取得):

excel

=XLOOKUP(B2, Sheet2!A:A, Sheet2!B:C, "該当なし")

ポイント: 戻り範囲をB:Cと複数列にすると、商品名と単価を一度に取得できます。VLOOKUPでは2回書く必要がありましたが、XLOOKUPなら1つの数式でOKです。


ケース②:顧客ランクを左の列から参照する

状況: 顧客マスタで、会員IDより「左」にある顧客ランクを取得したい

顧客マスタ

顧客ランク会員ID氏名
ゴールドC001田中 太郎
シルバーC002鈴木 花子
ブロンズC003佐藤 一郎

数式(会員IDでランクを検索):

excel

=XLOOKUP(A2, 顧客マスタ!B:B, 顧客マスタ!A:A, "不明")

ポイント: VLOOKUPは「検索列より右」のデータしか取れませんでしたが、XLOOKUPは左方向にも検索できます。テーブル設計の自由度が大幅に上がります。


ケース③:エラー処理を組み込む

状況: 廃盤商品や新規SKUなど、マスタに存在しない商品IDが混在しているケース

excel

=XLOOKUP(B2, 商品マスタ!A:A, 商品マスタ!B:B, "マスタ未登録")

ポイント: 第4引数に文字列を入れるだけでエラー処理完了。VLOOKUPのように=IFERROR(VLOOKUP(...),"マスタ未登録")と二重にネストする必要がなく、数式がスッキリします。


ケース④:直近の取引データを取得する(逆方向検索)

状況: 同じ顧客が複数回購入しており、最新の購入日を取得したい

購入履歴テーブル(時系列順で上から古い順)

購入日顧客ID購入金額
2024/01/05C0013,200
2024/03/12C0018,500
2024/06/20C0011,980

数式(最新の購入日を取得):

excel

=XLOOKUP(D2, B:B, A:A, "購入なし", 0, -1)

ポイント: 第6引数を -1 にすると**下から(=新しい順)**検索します。「最後に買った日」「直近の注文金額」などRFM分析でよく使うデータが簡単に取れます。


ケース⑤:売上ランクに応じた手数料率を適用する

状況: 月次売上に応じた手数料率を、段階的なレートテーブルから引きたい

手数料テーブル

売上下限手数料率
010%
100,0008%
500,0006%
1,000,0005%

数式:

excel

=XLOOKUP(B2, 手数料テーブル!A:A, 手数料テーブル!B:B, , 1)

ポイント: 第5引数を 1 にすると**近似一致(以上で最も近い値)**で検索します。売上規模に応じた料率適用など、段階的な計算に便利です。


4. よく使う引数の早見表

一致モード(第5引数)

意味使う場面
0(省略可)完全一致商品ID、注文番号など
-1完全一致 or 次に小さい値「以下」の段階区分
1完全一致 or 次に大きい値「以上」の段階区分(手数料など)

検索モード(第6引数)

意味使う場面
1(省略可)上から順に検索通常の検索
-1下から逆順に検索最新データを取得したいとき

5. まとめ:XLOOKUPをEC分析に使うメリット

  • 列の追加・削除に強い → マスタのメンテナンスが楽になる
  • 左方向検索ができる → テーブル設計の自由度UP
  • エラー処理が1行で書ける → 数式がシンプルに
  • 複数列を一度に返せる → 関数の記述量が減る
  • 逆方向検索で最新データが取れる → 購買履歴分析に最適

XLOOKUPはExcel 365・Excel 2019以降で使用可能です。まだVLOOKUPを使っている方は、ぜひ次の分析から試してみてください。

コメント

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