動的およびパラメータ駆動型のルックアップ
メニューを表示するにはスワイプしてください
このワークブックはすでにリレーショナル検索と動的レポートに対応しています。本章では、カテゴリ単位の集計を作成し、ユーザーが選択したシナリオに基づいて計算が動的に変化するパラメータ駆動型ロジックを導入します。
SUMPRODUCT の構造
=SUMPRODUCT(array1 * array2 * ...)
array1: 最初の計算配列;array2: 2番目の計算配列;TRUE:1に変換;FALSE:0に変換。
これにより、1つの数式内で論理条件と集計処理が可能になります。
INDIRECT の構造
=INDIRECT(ref_text, [a1])
ref_text: テキストを実際の参照に変換;[a1]: 参照形式のオプション引数。
INDIRECT を使うことで、セルの値に応じて参照先を動的に切り替えることができます。
ステップ1 カテゴリ集計の作成
Summary シート内に、以下のヘッダーを追加します:
Category
Total_Revenue
Total_Cost
Total_Profit
ステップ2 カテゴリリストの生成
A10 セルに次を入力します:
=UNIQUE(Products[Category])
これでカテゴリリストは、新しいカテゴリが追加されるたびに自動で拡張されます。
ステップ3 カテゴリ別売上の計算
B10 セルに次を入力します:
=SUMPRODUCT((XLOOKUP(Sales_Data[Product],Products[Product],Products[Category],"")=A10)*Sales_Data[Revenue])
XLOOKUP(...): 各商品のカテゴリ値を取得;=A10: カテゴリが一致するか判定;Sales_Data[Revenue]: 集計対象の値。
数式を列全体にコピーします。
ステップ4 カテゴリ別コストの計算
C10 セルに次を入力します:
=SUMPRODUCT((XLOOKUP(Sales_Data[Product],Products[Product],Products[Category],"")=A10)*XLOOKUP(Sales_Data[Product],Products[Product],Products[Cost],0)*Sales_Data[Units])
この数式はカテゴリごとの総コストを動的に計算します。
ステップ5 利益の計算
D10 セルに次を入力します:
=B10-C10
数式を列全体にコピーし、すべての値を適切に書式設定します。
ステップ6 シナリオセレクターの作成
Summary シート内に、次のセルを作成します:
Active Pricing Scenario
次のオプションでデータの入力規則を設定します:
Pricing_Tiers
Pricing_Tiers_Promo
ステップ7 動的割引検索の構築
Sales_Data 内で、以前の割引数式を次のものに置き換えます:
=XLOOKUP([@Units],INDIRECT(Summary!$F$9&"[Min_Units]"),INDIRECT(Summary!$F$9&"[Discount_Rate]"),0,-1)
Summary!$F$9: 選択されたシナリオテーブル;INDIRECT(...): テキストを有効なテーブル参照に変換;-1: 近似一致モード。
これにより、価格シナリオ間の検索が動的に切り替わります。
ステップ8 シナリオ切り替えのテスト
シナリオのドロップダウンで選択値を変更します。
次を確認します:
Discount_Rateが自動で更新される;Discounted_Revenueが自動で更新される;- すべての関連計算が選択した価格モデルに応じて反映される。
1. このレッスンにおける SUMPRODUCT の役割は何ですか?
2. パラメータ駆動型モデルでINDIRECTが使用される理由は何ですか?
3. 集計テーブルでUNIQUEとSUMPRODUCTを組み合わせて使用する主な利点は何ですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 5
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 3. 章 5