コンテンツにスキップ

XMATCH

種類: MS Excel 互換関数 · ネイティブ導入: Excel 2021

配列内での検索値の位置を返します。

構文

=XMATCH(検索値, 検索配列, [一致モード], [検索モード])

引数

引数 必須 説明
検索値 必須 検索する値
検索配列 必須 検索する配列
一致モード 省略可能 0 完全(既定)、-1 小さい、1 大きい、3 正規表現
検索モード 省略可能 1 先頭から(既定)、-1 末尾から

戻り値

見つかった位置(1 から始まる)を数値スカラーとして返します。配列が空の場合や一致する項目がない場合は #N/A、内部エラーの場合は #VALUE! を返します。

数式 結果 説明
=XMATCH(3,{1;2;3;4}) 3 完全一致の位置
=XMATCH(2.5,{1;2;3},1) 3 以上となる値の位置
=XMATCH(5,{1;2;3}) #N/A 不一致の場合は #N/A
=XMATCH("rr[yx]$",{"apple";"Banana";"cherry"},3) 3 正規表現の一致(match_mode 3)
=XMATCH("e",{"apple";"Banana";"cherry"},3,-1) 3 正規表現 + 末尾から検索

解説

  • match_mode 2(ワイルドカード)と search_mode 2/-2(バイナリ検索)はサポートしていません。
  • match_mode 3(正規表現)は検索値を正規表現パターンとして解釈し、パターンがテキストセルの一部に一致する(部分一致、REGEXTEST 方式)項目の位置を返します — Microsoft 365 ネイティブの 2024 年の新機能と同じモード番号です。既定では大文字と小文字を区別し、パターンの先頭に (?i) を付けると区別しません(ネイティブと同じ使い方)。テキスト以外のセルは一致せず、検索値がテキストでない場合、正規表現が不正な場合、search_mode 2/-2(バイナリ検索)と組み合わせた場合は #VALUE! を返します。
  • 正規表現の構文は std::wregex の ECMAScript です(ネイティブの 365 の PCRE2 とは一部異なる場合があります)。
  • 関連関数: XLOOKUP。
  • 対応: Excel 2010+。ネイティブ関数がない旧バージョンでは XMATCH の名前のまま(ドロップイン)、ネイティブ関数がある新しい Excel では EG.XMATCH として登録されます。