動的な検索のためのINDEXとXMATCHの組み合わせ
メニューを表示するにはスワイプしてください
INDEX関数とXMATCH関数を組み合わせる理由
INDEX関数は、行または列の位置に基づいて値を取得する関数。
XMATCH関数は、範囲内で値を検索し、その位置を返す関数。
この2つの関数を組み合わせると:
XMATCHが値の位置を特定;INDEXが別の列から対応する値を取得。
これにより柔軟な検索式を作成可能。
製品価格の取得例
ワークシートに次のテーブルがあると仮定。
Product | Category | Price |
|---|---|---|
Mouse | Accessories | 20 |
Keyboard | Accessories | 35 |
Monitor | Electronics | 180 |
Webcam | Electronics | 45 |
検索する製品名はセル E2 に入力。
目的は、その製品の Price を返すこと。
=INDEX(C2:C5; XMATCH(E2; A2:A5))
まずXMATCH関数が実行される。
XMATCH(E2; A2:A5)
E2: 検索する製品名を含む;A2:A5: 製品リストを含む;XMATCH: リストを検索し、一致する位置を返す。
E2 に Monitor が入力されている場合、XMATCH は 3 を返す。なぜなら Monitor は範囲内の3番目の項目だから。
INDEXは位置を利用
返された位置は INDEX 関数に渡される。
INDEX(C2:C5; 3)
C2:C5: 製品価格を含む;3: 範囲内の3行目を指す;INDEX: その位置にある値を返す。結果:180。
この手法が動的である理由
XMATCH は行位置を自動的に判定。
E2 の商品名が変更されると、XMATCH は異なる位置を返し、INDEX が対応する値を取得。
これにより、検索式がさまざまな入力に適応可能。
INDEX + XMATCH の組み合わせにより、
- 検索列と返却列の分離が可能;
- 任意の順序の列に対応;
- 動的な検索モデルの構築が可能。
この組み合わせは、検索処理をより柔軟に制御したい場合によく使用される。
シナリオ
ワークシートに Product Name、Category、Price のテーブルがある。
入力セルに商品名を入力。
Category と INDEX の組み合わせで XMATCH を返すことが目標。
手順
XMATCHで商品リスト内の商品名の位置を検索;INDEXでテーブルから Category を取得;- 両関数を1つの数式に組み合わせる。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 3
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 3. 章 3