MATCH関数は、探したい値が範囲の何番目に位置するかを返すシンプルな関数ですが、照合の種類の設定次第で結果も速度も大きく変わります。
実務では成績の評価、価格表の段階判定、コードの一致確認など用途が幅広く、誤設定による見落としや誤判定も起こりがちです。
本記事では、照合の種類の正しい使い分け、並び替えの要件、文字列やワイルドカードの注意点、INDEXとの連携までを体系的に解説します。
エラーを防ぎ、意図通りの位置を返せるよう実例とコツをまとめました。
目次
MATCH関数の照合の種類を正しく使い分ける基礎
MATCH関数は、検索値、検索範囲、照合の種類の3つの要素で動作します。
照合の種類には、近似一致の1、完全一致の0、もう一つの近似一致である-1があり、どれを選ぶかで返る位置と必要な並び順が変わります。
この使い分けを理解していないと、結果が合っているように見えても実は境界で誤判定していたり、ソートされていない表で近似一致を使って意図しない位置を拾うなどのミスにつながります。
まずは3つの照合の種類の意味と前提条件を押さえ、戻り値やエラーの基本ルールをクリアにしましょう。
3つの照合の種類と前提条件を一気に把握
照合の種類が1の場合は、検索範囲が昇順で並んでいることが前提です。このとき、検索値以下で最大の値の位置が返ります。
0は完全一致で、並び順は不要です。テキストのときは大文字小文字を区別せず、ワイルドカードも使えます。
-1は検索範囲が降順で並んでいることが前提で、検索値以上で最小の値の位置が返ります。
省略時は1が既定となるため、並び替えがされていないデータで省略すると誤結果や#N/Aが出やすくなります。
まず押さえるべき戻り値とエラーのルール
MATCHは位置を示す正の整数を返します。見つからない場合は#N/Aとなります。
完全一致の0では、複数一致があると最初に見つかった位置が返ります。近似一致1では条件を満たす中で最後の位置、-1では最初の位置になる点も重要です。
数値と文字列の型不一致や、並び順の要件違反、検索範囲にエラーが含まれるなどでも#N/Aや他のエラーが連鎖します。
IFERRORで包む前に、原因を切り分けるのが正確さと保守性の両面で得策です。
MATCHの構文と引数の意味をやさしく解説

構文は、MATCH(検索値, 検索範囲, [照合の種類])です。検索範囲は1列または1行に限ります。
縦方向に探すのか横方向に探すのかを明確にし、範囲には余計な空白行や合計行を含めないのが基本です。
また、他関数と組み合わせる前提で絶対参照や構造化参照を適切に使えば、コピー時の崩れを防げます。
配列や動的配列の環境でも基本ルールは変わらず、まずは正しい引数設計が精度を左右します。
match_typeの1・0・-1が実際に返す位置の違い
1は昇順前提で、検索値以下の最大値の位置を返します。例えば境界値のリストからランクを決める用途に最適です。
0は完全一致で、品番やIDのように一字一句同じである必要がある場面に向いています。
-1は降順前提で、検索値以上の最小値の位置を返します。値が大きいほど上位のルール設定や、上限判定の一発決めに有効です。
どれを選ぶかは並び順の要件とビジネスロジックの方向性で決めましょう。
範囲選択とデータ型の一致が精度を左右する
検索範囲に数値と文字列の混在があると、見かけが同じでも一致しません。
前後の空白、全角半角の混在、日付のシリアル化、通貨やパーセントの表示形式と内部値のギャップにも注意が必要です。
前処理として、TRIMやCLEANで不要な空白や制御文字を除去し、VALUEやDATEVALUEで型を揃えると安定します。
一度正規化してからMATCHに渡すのが、現場では最終的に一番早道です。
照合の種類ごとの具体例と最適な使いどころ

実務で多いのは、境界値に基づくランク付けと、料金や割引率の段階判定です。
近似一致1は、下限からの積み上げでレベルや区分を決めるときに最適で、昇順で並んだ境界値テーブルと相性が抜群です。
一方、近似一致-1は、上限主導の条件に向き、降順ソート済みのテーブルでしきい値以上の最小位置を素早く返します。
完全一致0は、品番や社員番号など一意なキーに対して一筆書きのように確実に位置を返し、INDEXとの連携で値引きや属性情報の参照に活躍します。
| 照合の種類 | 返す位置の考え方 | 並び順の要件 | 代表的な用途 | 重複時の挙動 |
|---|---|---|---|---|
| 1 | 検索値以下で最大の値 | 昇順 | 評価ランク、累進区分、下限判定 | 最後の位置 |
| 0 | 完全一致 | 不要 | ID照合、品番一致、選択肢の確定 | 最初の位置 |
| -1 | 検索値以上で最小の値 | 降順 | 上限判定、上位優先のルール | 最初の位置 |
成績の境界値がB列、評価ラベルがC列、点数がE2の場合
INDEX(C:C, MATCH(E2, B:B, 1))
価格上限表がG列に降順、手数料がH列に対応、金額がJ2の場合
INDEX(H:H, MATCH(J2, G:G, -1))
品番がA列、単価がD列、検索品番がF2の場合
INDEX(D:D, MATCH(F2, A:A, 0))
近似一致 1 を使うケース: 点数評価や階級分け
試験の点数から評価を付ける、購入金額から会員ステータスを決めるなどは、下限境界が自然です。
この場合、境界の最小値から最大値へ昇順に並んだテーブルを作り、検索値に対して1で照合します。
同一境界が複数行にある場合は最後の行の位置が返るため、意図的に境界の重複を作ると最終ルールを優先できます。
境界の穴や重複をシート上で色付けして管理すると精度が安定します。
近似一致 -1 を使うケース: 価格テーブルの上限超え
重量が重いほど上位区分に移行する運賃や、上限基準で決まるペナルティなどでは、上に厳しい判定が向きます。
このときは基準を大きい順に降順で並べ、-1で照合します。
検索値が基準を超えるほど早い段階でヒットし、最初に条件を満たす行の位置を返すため、規約の優先順位を表に反映しやすいのが利点です。
境界の並び替え違反や欠損があると判定が崩れるため、並び順チェックを定期運用に組み込みましょう。
文字列・ワイルドカード・並び替えの注意点
完全一致0のとき、文字列検索ではワイルドカードが使えます。
アスタリスク記号は任意の連続文字、クエスチョンマークは任意の1文字を表します。
それ自体を文字として扱いたい場合はチルダ記号でエスケープします。
また、並び順の要件は近似一致で厳格です。昇順や降順を崩した状態で1や-1を使うと、偶然正しく見えるケースがあり、運用上の事故につながります。
重複時の返り方の違いも意図に合わせた設計が必要です。
ワイルドカードの使い方とエスケープのコツ
品名に含まれる一部の語でヒットさせたい場合は、完全一致0でワイルドカードを含む検索値を使います。
例えば接頭辞や接尾辞がバリエーションを持つとき、アスタリスク記号を活用すると、共通部分だけで位置を取得できます。
ワイルドカード自体を特定の記号として検索したい場合は、前にチルダ記号を付与してエスケープします。
ワイルドカードは近似一致では使えないため、照合の種類と併用可否を混同しないことが肝心です。
並び順の要件と重複値の返り方の違い
近似一致1は昇順、-1は降順が必須です。昇順の具体例としては、境界が0、50、70、90のように小さい順の並びです。
重複があると、1は最後の位置、-1は最初の位置が返るため、優先順位を表で表現しやすい一方、無自覚の重複がロジックを変えるリスクもあります。
完全一致0では最初の位置が返るため、最後の位置を取りたい場合は範囲を逆順にする工夫か、専用の関数を検討します。
いずれの場合も、並び順チェックと重複監視のルール化が事故防止の第一歩です。
まとめ

MATCH関数の照合の種類は、1、0、-1で役割が明確に分かれます。
1は昇順で下限に基づく近似、0は並び不要の完全一致、-1は降順で上限に基づく近似です。
文字列では大文字小文字を区別せず、完全一致時のみワイルドカードが有効、エスケープはチルダ記号で行います。
重複時の返り方の違い、並び順の必須条件、型の正規化、エラーの扱いを押さえれば、INDEXとの連携で強力な検索体系を構築できます。
実務で失敗しないためのチェックリスト
セットアップの前に、次の観点を確認しましょう。
意図に合った照合の種類か、範囲が1列または1行か、並び順の要件を満たしているか、型の正規化が済んでいるか、重複の影響を理解しているか、エラー処理が適切か、参照が絶対参照で固定されているか。
シートの保守担当が交代しても破綻しないよう、表のヘッダーに照合方針や並び順要件を注記すると安全です。
- 照合の種類の意図と要件を明記
- 並び順チェックを定期運用に組み込み
- TRIMやVALUEで型を正規化
- 重複の有無と優先順位を可視化
- IFERRORで出力面の体裁を整える
- INDEXと組み合わせて値取得を一貫化
INDEXとの連携と代替関数の選び方
位置だけではなく値を返したい場面では、INDEXと組み合わせるのが定番です。
行方向の検索ならINDEX(列, MATCH(…))、列方向ならINDEX(行, MATCH(…))の形にすると、列の挿入や削除にも強い構造になります。
完全一致主体の設計では、後から検索項目が増えてもINDEXとMATCHの組み合わせは拡張が容易です。
高度な要件や最後の一致を取りたいケースでは、専用の関数を検討できますが、まずはMATCHの照合の種類と前処理を整えることで多くの要件を安全に満たせます。
コメント