INDEX、MATCH、XMATCH
メニューを表示するにはスワイプしてください
XLOOKUP は現代の Excel モデルで推奨される検索関数ですが、多くの実際のワークブックでは依然として INDEX と MATCH に依存しています。本章では、これらの関数がどのように連携するか、そして XMATCH が同じロジックをより柔軟に拡張する方法について学びます。
MATCH の構造
=MATCH(lookup_value, lookup_array, [match_type])
lookup_value: 検索する値lookup_array: 検索対象の範囲[match_type]: 一致の方法0: 完全一致1: 検索値以下で最大の値-1: 検索値以上で最小の値
MATCH は実際の値ではなく、位置を返します。
INDEX の構造
=INDEX(array, row_num, [col_num])
array: 返されるデータセットrow_num: 行位置[col_num]: 任意の列位置
INDEX は位置に基づいて値を取得します。
INDEX と MATCH の組み合わせ
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
MATCH(...): 製品の位置を検索INDEX(...): その位置の値を返す
これにより、方向の制限なく検索動作を再現できます。
XMATCH の構造
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
lookup_value: 検索する値lookup_array: 検索対象の範囲[match_mode]: 一致のロジック[search_mode]: 検索方向
XMATCH は MATCH と同様に位置を返しますが、XLOOKUP に似た現代的な検索制御が追加されています。
ステップ 1 MATCH を単独でテスト
Summary シート内で、次を入力します:
=MATCH("Laptop", Products[Product], 0)
Excel が Laptop テーブル内の Products の位置を返すことを確認します。
ステップ 2 INDEX を単独でテスト
次を入力します:
=INDEX(Products[Price], 3)
数式が位置 3 の値を返すことを確認します。
ステップ 3 INDEX と MATCH を組み合わせる
次を入力します:
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
この数式で該当する製品価格が動的に取得されます。
ステップ 4 構造化参照を適用
固定の検索値を次のように置き換えます:
=INDEX(Products[Price], MATCH([@Product], Products[Product], 0))
[@Product]: 現在行の Product 値Products[Product]: 検索列Products[Price]: 返される値の列
この数式はテーブル構造内で動的に動作します。
ステップ 5 XMATCH をテスト
次を入力します:
=XMATCH("Gaming Chair", Products[Product])
Excel が一致する行位置を返すことを確認します。
ステップ 6 2 次元検索を構築
次を入力します:
=INDEX(Products, XMATCH("Gaming Chair", Products[Product]), XMATCH("Cost", Products[#Headers]))
- 最初の
XMATCH(...): 行位置を取得 - 2 番目の
XMATCH(...): 列位置を取得 INDEX(...): 交差する値を返す
これにより、完全に動的な行・列検索システムが作成されます。
ステップ 7 動的な柔軟性をテスト
数式内の製品と列の値を両方変更します。
選択した行と列の組み合わせに基づいて結果が動的に更新されることを確認します。
1. MATCH/INDEX の組み合わせにおける MATCH の主な役割は何ですか?
2. なぜ INDEX を使用する際に MATCH が必要ですか?
3. 2次元検索で INDEX と XMATCH を組み合わせて使う主な利点は何ですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 3. 章 4