クイックナビゲーション
MATCH関数
概要
MATCH関数は指定した範囲内で検索値を見つけ、その相対位置を返す強力な検索関数です。VLOOKUPやINDEXとの組み合わせで柔軟なデータ検索を実現します。完全一致検索が可能で、ソート状態に応じた近似一致もサポート。
構文
MATCH(検索値, 検索範囲, [照合の型])
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| 検索値 | Any |
はい | 検索範囲内で見つける値(数値、文字列、セル参照) |
| 検索範囲 | Range |
はい | 検索対象のセル範囲または配列 |
| 照合の型 | Number |
いいえ | 検索方法を指定(1:昇順近似、0:完全一致、-1:降順近似) |
MATCH関数の使用
MATCH関数はデータ範囲内で指定値の位置を特定し、主にINDEX関数と組み合わせて任意の位置の値を抽出します。VLOOKUPの制限を超える柔軟な検索を実現。照合の型により、完全一致や近似一致を選択可能。
MATCHの一般的な例
完全一致検索
=MATCH("オレンジ",A2:A5,0)
製品リストから「オレンジ」の位置(2)を返す。#N/Aエラーが出る場合は見つからない。
昇順近似一致
=MATCH(39,B2:B5,1)
在庫数列(昇順ソート)で39以下の最大値38の位置(2)を返す。
ワイルドカード使用
=MATCH("リン*",A2:A5,0)
「リン」で始まる製品(リンゴ)の位置を返す。
よくある質問
0は完全一致(ソート不要)、1は昇順ソート済みの近似一致(検索値以下の最大値)。
#N/Aエラーが返る。IFERRORで処理するか、範囲・値を確認。
区別されない。「Apple」と「apple」は同じとみなす。
一般的なエラーと解決策
#N/Aエラー
Cause: 検索値が見つからない
Solution: IFERRORで代替値指定、または範囲・値確認
#N/A(降順)
Cause: 検索範囲が降順ソートされていない(-1使用時)
Solution: データを降順ソートしてから使用
#VALUE!エラー
Cause: 検索範囲に複数列/行、または不適切なデータ型
Solution: 1次元範囲(1列または1行)を使用
注記
- 照合の型1:昇順ソート必須、検索値以下の最大値を返す
- 照合の型0:完全一致、ソート不要
- 照合の型-1:降順ソート必須、検索値以上の最小値を返す
- ワイルドカードは照合の型0でのみ使用可能
- ~?、~*でリテラル文字として検索可能
互換性
利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365
利用不可:
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+