実際のユースケースにおけるXLOOKUPの拡張
メニューを表示するにはスワイプしてください
基本的な検索はテーブル同士を接続するのに便利ですが、実際の分析システムではより高度な取得ロジックが求められることが多いです。本章では、XLOOKUP を拡張し、複数列の出力、動的なランキングワークフロー、逆方向検索への対応方法を解説します。
複数列 XLOOKUP
XLOOKUP は、返却配列が複数列にまたがる場合、複数列を同時に返すことができます。
本章で使用する数式:
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
E2: 検索値Products[Product]: 検索列Products[[Category]:[Price]]: 複数列の返却配列"Not found": 該当なし時の値
結果は複数列に横方向へスピルします。
MAX 構造
=MAX(array)
array: 評価対象の数値配列
本章で使用する数式:
=MAX(Sales_Data[Revenue])
データセット内で最大の Revenue 値を返します。
XLOOKUP による逆方向検索
=XLOOKUP(J2,Sales_Data[Sales_Rep],Sales_Data[Order_ID],"Not found",0,-1)
0: 完全一致モード-1: 最後から最初への検索
これにより、最初ではなく最新の一致レコードを返します。
ステップ1 複数列検索の構築
Summary シート内に、小さな商品検索セクションを作成します。
F2 に次の数式を入力します:
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
商品詳細が複数列に横方向へスピルします。
ステップ2 動的更新のテスト
E2 内の商品名を変更します。
すべての関連属性が自動的に更新されることを確認します。
ステップ3 動的トップ売上指標の構築
別のセルに次の数式を入力します:
=MAX(Sales_Data[Revenue])
データセット内で最大の取引額を特定します。
ステップ4 トップ商品を取得
E2 に次の数式を入力します:
=XLOOKUP(MAX(Sales_Data[Revenue]),Sales_Data[Revenue],Sales_Data[Product],"Not found")
MAX(Sales_Data[Revenue]): 最大 Revenue 値Sales_Data[Revenue]: 検索列Sales_Data[Product]: 返却される商品
この数式で、最大 Revenue 取引に紐づく商品を動的に取得します。
ステップ5 商品プロフィール全体の返却
F2 に次の数式を入力します:
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
トップ商品と連動して、商品プロフィール全体が動的に更新されます。
ステップ6 逆方向検索の構築
Sales Rep 入力セクションを作成します。 検索結果セルに次の数式を入力します:
=XLOOKUP(J2,Sales_Data[Sales_Rep],Sales_Data[Order_ID],"Not found",0,-1)
この数式で、選択した Sales Rep の最新注文が返されます。
ステップ7 検索方向のテスト
J2 内の Sales Rep 値を変更します。
次の点を確認します:
- 検索結果は常に最新の一致注文を返す
- 重複値でも最初の一致だけでなく最新の一致が返る
1. XLOOKUP で複数列の返却配列を指定した場合、どうなりますか?
2. 分析モデルで MAX が XLOOKUP と組み合わせて使用される理由は何ですか?
3. search_mode = -1 で XLOOKUP を使用した場合の効果は何ですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 3. 章 2