Excelや類似表計算ソフトでデータ検索や分析をする際、MATCH関数は頻繁に使われる基本関数のひとつです。特に「照合の種類」(match_type)で指定する0、1、‐1の意味を知らないと、思わぬ誤った結果を返すことがあります。この記事ではMATCH関数の照合の種類この3種類の動きの違いや、使いどころ、注意点について最新情報をもとに詳しく解説します。
目次
WHAT:MATCH関数 照合の種類の全体像
まずはMATCH関数 照合の種類の全体像を把握することが大切です。MATCH関数では、検索値(lookup_value)を検索範囲(lookup_array)で探し、その位置を返しますが、その探し方を指定するのが照合の種類です。指定できる値は主に「1」「0」「‐1」の3種類で、それぞれ検索のルールや前提条件が異なります。
照合の種類「1」は検索値以下の最大の値を探す近似一致のモードで、検索範囲が昇順で並んでいることが必要です。「‐1」は検索値以上の最小値を探すモードで、範囲は降順である必要があります。「0」は完全一致を探し、範囲の並び順に制約がありません。省略すると「1」として扱われることが多く、意図しない結果を招く原因になります。
照合の種類1(1または省略時)
照合の種類を1に指定するか省略すると、MATCH関数は検索値以下の最大の値を検索します。このモードは「近似一致」にあたりますが、検索範囲が昇順(小さい値から大きい値、あるいはAからZなど)に並んでいないと期待する結果が得られません。検索値より大きな値が先に来てしまうと正しい比較ができず、誤った位置を返したりエラーになることがあります。
例えば得点表から複数のランクを決める場合など、検索値が正確にリストにないときに最も近くて過小な値を探したいときに使います。省略した場合にもこの挙動になるので、完全一致が必要な場合は必ず「0」を明示するのが安全です。
照合の種類0(完全一致)
照合の種類を0と指定すると、MATCH関数は検索値と**完全に一致する値**を検索します。このモードは最も一般的であり、検索範囲の並び順には依存しません。例えば商品名やIDなど、値が正確に一致しなければ意味がないケースで使います。
完全一致モードでは、検索値が範囲になくてもエラー(#N/A)が返ります。また、検索値がテキストの場合にはワイルドカード(* や ?)を使用できますが、その際にはワイルドカードを文字列に含めて指定することが必要です。
照合の種類‐1(‐1指定時)
照合の種類を‐1と指定すると、MATCH関数は検索値以上の最小値を探します。これも近似一致モードですが、検索範囲は降順に並べておくことが不可欠です。降順になっていないとエラーになるか、誤った結果が返ることがあります。
たとえば割引率や閾値が高い順に並んでいるリストで、ある金額が含まれていなくてもそれ以上の最小の閾値を適用したい場合などに利用します。ただし、昇順の表に‐1を使うと正しく動作しないため、使用前に並び順を確認することが肝心です。
WHY:なぜ照合の種類を使い分ける必要があるか
検索の精度を高め、思わぬ誤ったデータの取得やエラー発生を防ぐためにMATCH関数の照合の種類は非常に重要です。照合の種類を誤ると、似たような値が範囲に存在しても別のものが返されたり、そもそも値が無いとエラーになるなど実務で大きな支障をきたすことがあります。
特に大量データや昇順・降順の並びに依存する近似一致モードを使うとき、並び順が正しく設定されていないと意図しない結果になります。「1または省略」のケースでは昇順、「‐1」のケースでは降順、それぞれのルールを守ることが正確な検索には欠かせません。完全一致の「0」はそのルールを気にしなくてよいため、誤用が少なく初心者にもおすすめです。
省略時のデフォルト動作
MATCH関数で照合の種類を省略した場合、多くのExcelバージョンでは「1」がデフォルトとして扱われます。つまり検索範囲が昇順でないと正しい結果が保証されない近似一致モードとなります。このことを知らず省略してしまうと、意図せず近似一致が行われてしまうことがあり、予期せぬ値が返される原因になります。
昇順・降順の制約とエラーの原因
照合の種類が1のときは検索範囲を昇順に、‐1のときは降順にソートしておく必要があります。これが守られていないと、MATCH関数は正しく動作せず、#N/A エラーを返すか、間違った位置を返します。データが適切に整理されていることを事前に確認することが重要です。
近似一致と完全一致の選び方
検索目的によって、完全一致か近似一致かを使い分けます。もし探している値が必ずデータに存在するか、または一致がなければ意味がないケース(商品コードや名前等)では完全一致を指定すべきです。一方、閾値による分類など、検索値が表にないことが前提のときは近似一致(1あるいは‐1)を使うと柔軟に対応できます。
HOW:具体的な使い方と実践例
ここからはMATCH関数 照合の種類0、1、‐1の使い方を具体例を交えて紹介します。実務で使いやすいシナリオを通じて、それぞれのモードの動きや注意点を体感することができます。実際のデータ構造や並び順の整理も含めて理解しましょう。
実例1:ランク分類で照合の種類1を使う
学生の得点表を例にします。得点と等級が昇順で記入されている表があり、得点に応じて等級を割り当てたいとします。検索値が表に存在しない75点の場合、照合の種類を1とすると70点に対応する等級を返します。得点表が昇順であることが前提です。これにより、”75点→等級C”という判定が可能です。
実例2:商品マスタで完全一致を使う
複数の商品名と価格を持つ商品マスタから、ある商品名に対応する価格を取得したい場合は照合の種類0を使います。例えば商品名「バナナ」を探すとき、「0」を指定することで検索範囲の並び順に左右されず確実にその位置を取得できます。
実例3:閾値以上の最小値を‐1で取得する
割引コードや購入金額など、一定以上の条件を満たす最小値を探すことが必要な場面では照合の種類‐1が適しています。購入金額が6000円の場合に表に10000、5000、0の値があるなら、降順に並べた表で‐1を使うと10000を返すような設定ができます。ただしこの場合も表が降順であることが前提です。
WHEN:どの状況でどの種類を使うか
照合の種類を間違えると検索結果が意図と異なるため、状況に応じた使い分けが必要です。完全一致が必要な場面、近似一致が有用な場面、それぞれを見極めるルールを知ることで、Excelでの検索操作の精度が飛躍的に高まります。
完全一致が必要な場合
商品名、社員ID、コード番号など、検索値と正確に一致しなければ意味がない場合は照合の種類0を使うべきです。並び順がどうであれ、完全一致モードは常に正しい位置を返します。省略したり近似一致のモードを誤って使うと、似ている値や近い値が返される可能性があり、業務上重大な誤りを引き起こすことがあります。
分類・ランク付けなど近似一致が有用な場合
評価や等級、税率や手数料など範囲によって異なる定義を当てはめるときは、検索値がその表に収まらないことが前提の近似一致が便利です。昇順で最低値から最高値へ並んでいるときは1を、降順で最高値から最低値へ並べているときは‐1を使い、検索値以下または検索値以上の該当する値を取得できます。
データ並びの整備が先決
近似一致モードを使うときは、表の並び順が正しく整理されていることが前提になります。昇順・降順のルールが守られていないと正しい答えが得られません。実務で表を作るときには、並び順を明示的に確認またはソートする手順を事前に入れておくとミスが防げます。
TROUBLESHOOT:よくあるミスとエラーの対処法
MATCH関数 照合の種類を使う際に、データ結果が期待通りでないケースには共通する原因があります。ここではよくあるミスとその対処法を整理します。これらを理解しておくと、データ処理でのトラブルを未然に防げます。
省略による意図しない近似一致
照合の種類を省略したとき、自動的に1と扱われることがあります。そのため、「完全一致を期待していたのに近似一致になっていた」「検索範囲が昇順になっていなかったので誤った値が返された」という事例が頻発します。完全一致が必要なら必ず「0」を明示することが基本ルールです。
昇順・降順の並び順不備
1や‐1を使う際、検索範囲の並びが逆であるかどうかを確認せずに使用していると、意図しない挙動となります。たとえば「1」の場合に降順でデータが配置されていたり、「‐1」の場合に昇順だと、誤った比較が行われ、#N/Aエラーや間違った位置を返すことがあります。
完全一致で値が見つからないときのエラー
照合の種類0で検索値が存在しない場合、MATCH関数は #N/A を返します。これは検索値が表に完全に含まれていないためです。このときは検索値が正しいか、似たテキストがないか、スペースや見えない文字が混入していないかなどもチェックする必要があります。
テキストの大文字・小文字の扱い
MATCH関数はテキスト比較において大文字・小文字を区別しません。たとえば「Apple」と「apple」は同じとみなされます。もし大文字小文字を区別したい場合は別関数を組み合わせるか、一度すべてを統一するなどの工夫が求められます。
比較表:照合の種類ごとの特性
ここで照合の種類0、1、-1の比較を表でまとめます。用途ごとの特徴を視覚的に把握できるよう整理しました。
| 照合の種類 | 動作 | 検索範囲の並び順 | 戻り値例 |
| 1(または省略) | 検索値以下の最大値を探す近似一致 | 昇順に並べる必要あり | 75点を70点扱い/表にない値で最小値以下の最大値 |
| 0 | 完全一致のみを検索 | 順序の制約なし | 「バナナ」がリスト中にあればその位置を返す/なければ#N/A |
| ‐1 | 検索値以上の最小値を探す近似一致 | 降順に並べる必要あり | 6000円で10000円を返す/昇順ではエラー |
最新情報として注意すべきこと
Excelの進化に伴い、MATCH関数に関連する新関数や仕様の更新もあります。特にMicrosoft 365 や Excelの最新バージョンではXMATCHやXLOOKUPといった関数が導入され、MATCH関数と似た用途をより柔軟かつ直感的に扱えるようになっています。
最新バージョンではXMATCH関数はデフォルトで完全一致を探し、省略時に近似一致になるMATCHと異なります。また、検索方向(上から下/下から上)やワイルドカードの扱いも改善されています。MATCH関数を使い続ける場合でも、新関数との互換性を意識しておくことで将来的なメンテナンス性が向上します。
まとめ
MATCH関数における「照合の種類」は、検索結果を正確に制御するための重要な要素です。0、1、‐1の意味の違いを理解し、検索範囲の並び順と用途に応じて使い分けることで誤りのないデータ取得が可能になります。省略した場合のデフォルト動作に注意し、完全一致が必要な場合は必ず「0」を指定しましょう。
また、新しいExcel環境ではXMATCHやXLOOKUPがより柔軟な設計になっているため、これらの導入も検討すると操作性や保守性が向上します。検索値の正確性を求める場面では照合の種類選びを怠らず、常に意図する一致方法を明確にすることが正しいデータ処理の鍵です。
コメント