Excel 検索結果としてセルの相対的な位置を取得(MATCH関数)
セル範囲の中で検索し、一致するセルがある場合、
検索対象としたセル範囲の、最も左上からの相対的な位置を取得する関数です。
単独で使用することは稀でINDEX関数やOFFSET関数などと組み合わせて使用することが多いです。
この記事では、その関数の仕様と使用例を紹介します。
仕様
=MACTH(検査値、検査範囲、照合の種類)
引数 | 省略時の値 | 説明 |
---|---|---|
検査値 | 省略不可 | 検索する値を指定。 |
検査範囲 | 省略不可 | 検査値を検索するセル範囲。 |
照合の種類 | 1 | 検索の方法を指定。 ・1:検索値以下で最大。検査範囲を昇順で並べる必要あり ・0:完全一致 ・-1:検索値以上で最小。検査範囲を降順で並べる必要あり |
使用例:照合の種類による結果の違い
それぞれの結果を例示します。
上の青い表が検査範囲で下の緑の表が検査値と関数の結果です。
照合の種類:1(検索値以下で最大)
まず検査範囲を昇順に並べておく必要があります。
この例では1~19までは検査表の1番上に対応するため1を取得し、
80を超えると全て5を取得します。
0より小さいと該当するものがないため#N/Aエラーとなります。

照合の種類:0(完全一致)
照合の種類:0(完全一致)の指定では検査範囲を並び替える必要はありません。
この例では完全に一致するものがあれば、その位置を取得します。
1でも相違すれば#N/Aエラーとなります。

照合の種類:-1(検索値以上で最小)
まず検査範囲を降順に並べておく必要があります。
この例では61~80までに該当すると検査表の1番上に対応するため1を取得します。
0より小さいと全て5になります。
80より大きいと該当するものがないため#N/Aエラーとなります。

横方向の範囲への使用
相対位置であるため横方向の検査範囲にも適用可能です。

スピルを利用する方法とメリット
Office365やExcel2019以降ではスピルという形式で記述可能です。
これは複数セルに数式をコピーする場合に便利な機能です。
スピルの利用には引数の検査値を複数セルの範囲で指定します。

数式を入力するのは最初の一つのセルですが、
引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

スピルを利用することで今回の例では、
C10セルに入力するだけでよいため(C20以降にコピーペーストが不要)
以下のメリットがあります。
- 入力の手間が少ない(数式のセルが多いほど効果が大きい)
- 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
- 絶対参照が不要
- 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方、関数の解説(140種類)、
頻出テクニックと実用例(109種類)、
XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。