Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ INDEX、MATCH、XMATCH | Excelの数式
エクセル数式

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 を組み合わせて使う主な利点は何ですか?

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

すべて明確でしたか?

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

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

セクション 1.  16

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 1.  16
some-alt