XMATCH 関数は、指定された項目を配列内またはセル範囲内で検索し、項目の相対位置を返します。
ここでは、XMATCH を使用して、目的の項目がリスト内にある位置を見つけます。

XMATCH 関数は、項目を配列内またはセル範囲内で検索し、相対位置を返します。
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
引数 |
説明 |
---|---|
検索値 必須 |
参照値 |
検索範囲 必須 |
検索する配列または範囲 |
[一致モード] オプション |
一致の種類を指定します: 0 - 完全一致 (既定) -1 - 完全一致または最も近い小さな値の項目 1 - 完全一致または最も近い大きな値の項目 2 - *、?、および 〜 が特別な意味を持つワイルドカードの一致。 |
[検索モード] オプション |
検索モードを指定します。 1 - 先頭から末尾へ検索 (既定) -1 - 末尾から先頭へ検索 (逆方向検索)。 2 - 検索範囲が昇順に並んでいることを前提にしてバイナリ検索を実行する。 並べ替えられていない場合、無効な結果が返されます。 -2 - 降順で並べ替えられた検索範囲を使用してバイナリ検索を実行します。 並べ替えられていない場合、無効な結果が返されます。 |
使用例
使用例 1
次の例では、完全に一致する最初の用語の位置、または "Gra" に最も近い大きな値 (つまり、"Gra" で始まる用語) の位置を探します。

使用例 2
次の例では、ボーナスの支給対象となる営業担当者の数を調べます。 match_mode に 1 を指定すると、目的の値に完全一致する項目または最も近い大きな値の項目の位置が返されます。検索範囲が降順の数値データである場合、これは、より大きい値の項目数でもあります。 この例の結果は 4 であり、ボーナス支給対象の売上を達成した営業担当者は 4 人いることがわかります。

使用例 3
次に、INDEX/XMATCH/XMATCH の組み合わせを使用して、垂直方向と水平方向の同時参照を実行します。 この例では、特定の営業担当者の、特定の月の売上高を調べます。 これは INDEX 関数と MATCH 関数を併用する方法と同様ですが、指定する引数が少なくて済む点が違います。

使用例 4
XMATCH を使用して配列内の値を返すこともできます。 たとえば、=XMATCH(4,{5,4,3,2,1}) の場合、4 は配列内の 2 番目の項目に一致するため、結果は 2 となります。 一方、完全一致ではないシナリオの例を挙げると、=XMATCH(4.5,{5,4,3,2,1},1) は 1 になります。match_mode 引数に 1 を指定しているため、完全一致または最も近い大きな値の項目、つまり 5 に一致するからです。
補足説明
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。