Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ INDEX、MATCH、XMATCH | 高度なルックアップシステムとリレーショナルモデリング
エクセル数式

INDEX、MATCH、XMATCH

メニューを表示するにはスワイプしてください

XLOOKUP は現代の Excel モデルで推奨される検索関数ですが、多くの実際のワークブックでは依然として INDEXMATCH に依存しています。本章では、これらの関数がどのように連携するか、そして 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]: 検索方向

XMATCHMATCH と同様に位置を返しますが、XLOOKUP に似た現代的な検索制御が追加されています。

ステップ 1 MATCH を単独でテスト
expand arrow

Summary シート内で、次を入力します:

=MATCH("Laptop", Products[Product], 0)

Excel が Laptop テーブル内の Products の位置を返すことを確認します。

ステップ 2 INDEX を単独でテスト
expand arrow

次を入力します:

=INDEX(Products[Price], 3)

数式が位置 3 の値を返すことを確認します。

ステップ 3 INDEX と MATCH を組み合わせる
expand arrow

次を入力します:

=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))

この数式で該当する製品価格が動的に取得されます。

ステップ 4 構造化参照を適用
expand arrow

固定の検索値を次のように置き換えます:

=INDEX(Products[Price], MATCH([@Product], Products[Product], 0))
  • [@Product]: 現在行の Product 値
  • Products[Product]: 検索列
  • Products[Price]: 返される値の列

この数式はテーブル構造内で動的に動作します。

ステップ 5 XMATCH をテスト
expand arrow

次を入力します:

=XMATCH("Gaming Chair", Products[Product])

Excel が一致する行位置を返すことを確認します。

ステップ 6 2 次元検索を構築
expand arrow

次を入力します:

=INDEX(Products, XMATCH("Gaming Chair", Products[Product]), XMATCH("Cost", Products[#Headers]))
  • 最初の XMATCH(...): 行位置を取得
  • 2 番目の XMATCH(...): 列位置を取得
  • INDEX(...): 交差する値を返す

これにより、完全に動的な行・列検索システムが作成されます。

ステップ 7 動的な柔軟性をテスト
expand arrow

数式内の製品と列の値を両方変更します。

選択した行と列の組み合わせに基づいて結果が動的に更新されることを確認します。

1. MATCH/INDEX の組み合わせにおける MATCH の主な役割は何ですか?

2. なぜ INDEX を使用する際に MATCH が必要ですか?

3. 2次元検索で INDEXXMATCH を組み合わせて使う主な利点は何ですか?

question mark

MATCH/INDEX の組み合わせにおける MATCH の主な役割は何ですか?

正しい答えを選んでください

question mark

なぜ INDEX を使用する際に MATCH が必要ですか?

正しい答えを選んでください

question mark

2次元検索で INDEXXMATCH を組み合わせて使う主な利点は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  4
some-alt