MATCH関数 – 指定した値が範囲内で何番目にあるかを返す関数
1. 使い方と活用例
MATCH関数は、指定した検索値が範囲の中で何番目にあるか(位置)を返す関数です。
検索値そのものではなく、その「順序(インデックス)」を取得するため、INDEX関数などと組み合わせて使用されることが多いです。
2. 基本の書式
=MATCH(検索値, 検索範囲, [照合の種類])
3. 引数の説明
- 検索値 – 検索したい値を指定します。
- 検索範囲 – 検索対象となるセル範囲を指定します。
- 照合の種類 – 検索の方法を指定します(省略可)。
・1(既定値):検索値以下の最大値を検索(昇順に並んでいる必要あり)
・0:完全一致を検索
・-1:検索値以上の最小値を検索(降順に並んでいる必要あり)
4. 使用シーン
- ある値がリストの何番目にあるか調べたい場合
- INDEX関数と組み合わせて値を取り出す際の行番号や列番号を求めたい場合
- 検索値の相対位置を取得し、他の処理に活用したい場合
5. 応用のポイント
完全一致を行いたい場合は、照合の種類を必ず「0」に設定します。
デフォルトのままだと正しい結果が得られない場合があります。
また、検索範囲は1列または1行で指定する必要があります。
6. 具体例とその解説
=MATCH("バナナ", A1:A5, 0)
この式では、A1:A5の中で「バナナ」が何番目にあるかを検索します。
たとえばA3に「バナナ」がある場合、結果は 3 になります。
=MATCH(80, B1:B5, 1)
この式では、昇順に並んだB1:B5の中から、80以下の最大値の位置を返します。
たとえばB1=60、B2=70、B3=90 のような場合、結果は 2 になります。
7. 関連関数の紹介
- INDEX関数 – 指定した行番号・列番号から値を取得する関数(MATCHとセットで使用)
- XLOOKUP関数 – 値の検索と取得を1つの関数で行う新しい関数
- VLOOKUP関数 – 縦方向に検索して値を取得する関数
- HLOOKUP関数 – 横方向に検索して値を取得する関数
8. まとめ
MATCH関数は、検索値の「位置」を取得するシンプルで強力な関数です。
INDEX関数と組み合わせれば、VLOOKUP関数よりも柔軟な検索・参照処理が可能になります。
正確な一致や近似検索、さらには行列の動的取得など、応用範囲が広い関数です。
9. 対応バージョン
MATCH関数は、Excel 2003以降のすべてのバージョンで使用可能です。