Excelの検索・参照関数:MATCH関数とは?
MATCH関数とは、指定した範囲の中から、検索した値が何番目にあるか(位置)を返す関数です。
値そのものではなく、「位置番号(インデックス)」を取得できるため、INDEX関数と組み合わせて使うことが多いのが特徴です。
基本構文
=MATCH(検索値, 検索範囲, [検索方法])
- 検索値: 探したい値
- 検索範囲: 検索対象となる1列または1行の範囲
- 検索方法: 省略可能(詳細は下記)
検索方法の種類
- 0: 完全一致(最もよく使う)
- 1: 以下で最大の値(昇順に並んでいる必要あり)
- -1: 以上で最小の値(降順に並んでいる必要あり)
使用例
以下のようなリストがA1:A5にあるとします:
A列(商品名)
-------------
りんご
みかん
ぶどう
バナナ
もも
=MATCH("ぶどう", A1:A5, 0) → 結果:3(「ぶどう」は3番目にある)
=MATCH("すいか", A1:A5, 0) → 結果:#N/A(存在しない場合)
INDEX関数との組み合わせ
MATCHは、INDEX関数の「行番号」や「列番号」の取得に使われます。
=INDEX(B1:B5, MATCH("ぶどう", A1:A5, 0))
→ 「ぶどう」に対応するB列の値を返す(例:価格や在庫など)
エラー対策
- 値が見つからないと#N/Aエラーになる
- IFERROR関数を組み合わせて対処
=IFERROR(MATCH("すいか", A1:A5, 0), "該当なし")
まとめ
- MATCH関数: 値が範囲の中で何番目かを調べる
- 位置を取得して、INDEX関数と組み合わせることで柔軟な検索が可能
- 検索方法は通常「0(完全一致)」を使う
MATCH関数は、「検索値の位置を取得する」というシンプルな機能ながら、INDEX関数との併用によって強力な検索処理を実現します。
VLOOKUPでは難しい構成の表にも対応できるため、実務での活用範囲が非常に広い関数です。