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として登録されます。