説明
この関数を使用して、配列またはセル範囲から指定されたアイテムを検索し、そのアイテムの相対位置を返却する。
XMATCH はMATCH関数の高度なバージョンである。完全一致、近似一致、昇順、降順の検索が可能です。
XMATCH は次の点で MATCH と異なる。
- XMATCH はソートされた大規模なデータセットでのパフォーマンスを向上させるためのバイナリ検索をサポートしている。
- XMATCHでは、完全一致モードでワイルドカード文字を使用できます。
- XMATCHは、完全に一致するアイテムが検索されなかった場合、次の大きいアイテムまたは小さいアイテムを返却することができます。
構文
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
入力
この関数は以下の引数を承認します:
| 名称 | 必須 | 説明 | 有効な入力 |
|---|---|---|---|
ルックアップ値 |
はい |
lookup_array で検索する値。 | 数値、テキスト文字列、論理値、セル参照、セル範囲、またはこれらのいずれかになる数式。 |
ルックアップ配列 |
はい |
検索されるセルの範囲。 | セル参照、セル範囲、またはこれらのいずれかになる数式。 |
マッチモード |
いいえ |
lookup_valueに合致させる方法。 |
0 (完全一致), [デフォルト] -1 (完全一致または次の小さいアイテム) 1 (完全一致または次の大きいアイテム) 2 (ワイルドカード一致) これらのいずれかになる数式も許容される。 |
検索モード |
いいえ |
使用する検索モード。 | 1 (search first-to-last), [デフォルト] -1 (search last-to-first) 2 (binary search ascending) -2 (binary search descending)。 これらのいずれかになる数式も承認される。 |
例
サンプルデータ
| A | B | ||
|---|---|---|---|
| 1 | アップル | $1.25 | |
| 2 | バナナ | $0.75 | |
| 3 | チェリー | $2.50 | |
| 4 | 日付 | $3.00 |
サンプル数式
| 使用例 | 数式 | 説明と結果 |
|---|---|---|
| リスト内の正確な値の相対位置を検索します。 | =XMATCH("さくらんぼ", A2:A6) |
この数式は次のように機能する:
結果:3。 |
| ルックアップ値以上の最小値を検索して、値の相対位置を求めます。 | =xmatch(1, b2:b6, 1) |
この数式は次のように機能する:
結果:4。 |
| ワイルドカード検索を使用して、リスト内の値を検索します。 | =xmatch("g*", a2:a6, 2) |
この数式は次のように機能する:
結果:#N/A。 |
| リストの最後のアイテムから検索して、値の相対位置を求めます。 | =XMATCH("日付", A2:A6, 0, -1) |
この数式は次のように機能する:
結果:4。 |
| ルックアップ値以下の最大値を検索して、値の相対位置を求めます。 | =xmatch(1.5, b2:b6, -1) |
この数式は次のように機能する:
結果:4。 |
メモ
- XMATCH は、lookup_array におけるマッチしたアイテムの相対位置を返却する。
- 一致が見つからず近似一致が指定されていない場合 XMATCH は #N/A を返す。
- バイナリ検索 (
search_mode=2 または-2) の場合、lookup_arrayは昇順または降順にソートされていなければなりません。 - ワイルドカード文字 (* と ?) は match_mode が 2 に設定されているときのみサポートされる。
- XMATCHはテキスト値のマッチングにおいて大文字と小文字を区別しない。
ヒント
- XMATCH をXLOOKUP と併用すると、強力で柔軟なルックアップ操作が可能になります。
- ソートされた大規模なデータセットの場合、パフォーマンスを向上させるにはバイナリ検索(
search_mode2または-2)を使用する。 - ソートされていないデータを操作する場合は、
search_mode1 または-1 を使用すると、正確な結果が得られます。 - XMATCHをINDEX などの他の関数と結合して、高度なデータ検索タスクを行うことができる。