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

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

従来のMATCH関数の強化版で、前方・後方検索や部分一致、近似一致などに柔軟に対応できます。

さらに、VLOOKUP関数やINDEX関数と組み合わせることで、より正確で使いやすい検索が可能になります。


PR
PR

PR

バナー

XMATCH関数とは

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

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


書式

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

引数の説明

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


XMATCH関数の使い方

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

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

=XMATCH(B5, B3:B7)

この例では、XMATCH関数を使って指定した値がリストの何番目にあるかを調べています。

検索値「みかん」を、範囲 B3:B7 の中から探すと、上から数えて3番目に見つかります。
そのため、結果は「3」と表示されます。

このようにXMATCH関数は、指定した値の位置(順番)を簡単に取得できるのが特徴です。

例②:部分一致で検索

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

この例では、XMATCH関数を使ってワイルドカードを含む条件で検索を行っています。

検索値「*ど*」は、「ど」を含む文字列を意味しており、第3引数に「2」を指定することでワイルドカード検索(部分一致)が有効になります。

範囲 B3:B7 の中で「ど」を含むデータを探すと、「ぶどう」が該当し、これは上から数えて4番目(B6セル)にあります。

そのため、結果は「4」と表示されます。

このようにXMATCH関数は、ワイルドカードを使うことで部分一致検索も柔軟に行えるのが特徴です。

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

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

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

この例では、XMATCH関数を使って指定した値を後ろから検索しています。

検索値「佐藤」は範囲 B3:B6 の中に複数あり、B3とB5に存在しています。
第3引数に「0」を指定しているため完全一致で検索し、第4引数に「-1」を指定していることで、下から上(後方検索)で探す動きになります。

そのため、最初に見つかるのは下側にあるB5の「佐藤」となり、上から数えて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のような柔軟検索」が可能になります。


PR

\【PR】社会人でも安心!働きながら合格を目指せる講座/

ユーキャンの無料資料をチェックする

関連関数

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

Excel関数一覧はこちら

まとめ

XMATCH関数は、指定した値が範囲の何番目にあるかを返す便利な検索関数です。

従来の MATCH関数 よりも柔軟で、前方・後方検索、部分一致、近似一致など幅広い場面に対応します。

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

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

PR