ExcelのXMATCH関数は範囲内で値を検索し垂直または水平範囲の位置を返します。2019年にExcel365から追加された関数で従来のMATCH関数をパワーアップさせた関数となります。ここではXMATCH関数の使い方と使用例について解説します。
関連リンク
MATCH関数の使い方(範囲内の任意の値の位置を取得)
INDEX関数とMATCH関数で対応値を検索する方法
XMATCH関数とは
ExcelのXMATCH関数はセル範囲や配列の中から指定された値を検索しその相対的な位置を数値で返す関数となります。部分一致および完全一致、逆検索、およびワイルドカード(*、?)をサポートします。
XMATCH関数の構文
XMATCH関数の構文は下記です。
- 検索値:検索値を指定。値またはセル参照で指定できます。
- 検索範囲:検索する対象のセル範囲もしくは配列を指定します。
- 一致モード:省略可能です。検索範囲内の値に対しての検索値の一致方法を指定。
- 検索モード:省略可能です。使用する検索モードを設定します。デフォルトでは先頭から末尾へ検索されます。
一致モード設定値
設定値 | 説明 |
---|---|
0(デフォルト) | 完全一致のみを検索。一致しない場合は#N/Aを返します |
-1 | 完全一致または次に小さい値を返します |
1 | 完全一致または次に大きい値を返します |
2 | ワイルドカードと一致(*、?、~) |
検索モード設定値
設定値 | 説明 |
---|---|
1(デフォルト) | 最初の値から検索します |
-1 | 最後の値から検索します(逆検索) |
2 | 昇順で並び替えされたバイナリ検索 |
-2 | 降順で並び替えされたバイナリ検索 |
例1:完全一致で検索
完全一致でのXMATCH関数を使った検索例を紹介します。下記例では指名リストの中から、指定した氏名が何番目に位置するかを返します。
1:検索値にE3のセル参照を指定
1つ目の引数として検索値にはE3のセル参照を指定します。こうすることでE3を変更すると検索する値を変更しやすくなります。
2:範囲に名前の列を指定
2つ目の引数として名前の列を検索範囲に指定します。
指定した氏名の位置が返されました。
例2:一致モード「完全一致または次に小さい値を返す」で検索
第3引数の一致モードを「-1」に設定する場合の検索例を解説します。「-1」は「完全一致または次に小さい値を返す」となります。下記例では点数のリストを検索範囲とし、検索値を「70」と指定します。
1:検索地にE3のセル参照を指定
1つ目の引数として検索値にはE3のセル参照を指定します。こうすることでE3を変更すると検索する値を変更しやすくなります。
2:範囲に「点数」の列を指定
2つ目の引数として点数の列を範囲のセル参照として検索範囲に指定します。
3:第3引数である一致モードを「-1」に設定
「-1」を設定することで「完全一致または次に小さい値を返す」モードとします。
検索値「70」に対して、次に小さい値である62が3番めにあるので「3」が返されました。
おすすめの解説動画
XMATCH関数について丁寧に解説している動画です。XMATCHを使用する手順を具体的に紹介している動画なので、文章だけでは分かりづらい人におすすめです。
ショートカットキーの練習できます
当サイトはショートカットキーの練習を実際の動きを確認しながら練習できる機能がついています。繰り返し指を動かして練習ができるので、ゲーム感覚で遊んでいくうちに自然とショートカットキーが使えるようになれます。ショートカットキーは暗記するよりも実際に手を動かして練習していったほうが習得が早くなるので、是非当サイトをブックマークに登録し定期的に練習してみてください。下記のSTARTキーを押下すると練習を始められます。
※推奨ブラウザ Google Chrome