MATCH関数

Excel 2007+

概要

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+