Excel関数入門:XMATCH関数の使い方【検索結果の位置を柔軟に取得】

「リストの中で特定の値が何番目にあるかを調べたい」
そんなときに使えるのが XMATCH関数 です。

従来の MATCH関数 の強化版で、前方・後方検索部分一致近似一致などに柔軟に対応できるのが特徴です。VLOOKUP や INDEX 関数と組み合わせることで、より精密な検索ができます。


PR

バナー

XMATCH関数とは?

XMATCH関数 は、指定した範囲(または配列)の中で、検索した値が何番目にあるか(位置)を返す関数です。

Excel 365 / Excel 2021 以降で利用可能で、MATCH関数の後継として登場しました。


書式

=XMATCH(検索値, 検索範囲, [一致モード], [検索モード])


引数の説明

  • 検索値:検索する値。
  • 検索範囲:検索対象のセル範囲を指定します。
  • [一致モード]:一致の種類を指定します。
    • 0:完全一致(既定)
    • –1:完全一致、または検索値以下の最大値
    • 1:完全一致、または検索値以上の最小値
    • 2:部分一致(ワイルドカード使用可)
  • [検索モード]:検索の方向を指定します。
    • 1:先頭から検索(既定)
    • –1:末尾から検索
    • 2:バイナリ検索(昇順前提)
    • –2:バイナリ検索(降順前提)


使用例①:指定した値の位置を調べる

「みかん」がこのリストの何番目にあるかを調べたい場合👇

=XMATCH(B5, B3:B7)

👉 結果:

「みかん」は範囲 B3:B7 の3番目にあるため、3が返されます。


使用例②:部分一致で検索

商品名に「ど」が含まれる最初のセルを探す場合👇

=XMATCH("*ど*", B3:B7, 2)

👉 結果:

※ ワイルドカードを使う場合は、照合の種類を 2 にします。
* (アスタリスク)は0文字以上の任意の文字列を表します。


使用例③:後方から検索(同じ値が複数ある場合)

「佐藤」がリストのどこにあるか、後ろから検索したい場合👇

=XMATCH("佐藤", B3:B6, 0, -1)

👉 結果:

後方から検索するため、3番目の「佐藤」が見つかります。


XMATCHの便利な使い方(INDEXとの組み合わせ)

たとえば、商品名「みかん」を入力するとその価格を自動で表示したい場合👇

=INDEX(C3:C7, XMATCH("みかん", B3:B7))

👉 結果:

  1. XMATCH(“みかん”, B3:B7)
     → 「B3:B7 の中で『みかん』が何番目にあるか」を調べます。
     結果は 3(3番目に「みかん」がある)。
  2. INDEX(C3:C7, 3)
     → C列(価格の列)の3番目の値を取り出します。
     C列の3番目は 110

つまり、110円 を返す(みかんの価格)

MATCH関数と違い、XMATCHは前後両方の検索や部分一致に強く、
INDEX関数と組み合わせると「XLOOKUPのような柔軟検索」が可能になります。


注意点

注意点内容
MATCH関数との違いXMATCHは部分一致や検索方向が指定可能で、より高機能

関連関数

関数説明
MATCH関数指定値の位置を返す(XMATCHの旧バージョン)
INDEX関数指定位置の値を返す
XLOOKUP関数条件検索と値の取得を1式で行える新関数
FILTER関数条件に一致する行を抽出する

まとめ

XMATCH関数 は、指定した値が範囲の何番目にあるかを返す便利な検索関数です。
従来の MATCH関数 よりも柔軟で、
前方・後方検索、部分一致、近似一致など幅広い場面に対応します。

INDEX関数やXLOOKUP関数と組み合わせることで、
検索と抽出を自動化した効率的なデータ管理が可能になります。

関連記事:INDEX関数の使い方
関連記事:XLOOKUP関数の使い方