Excel 検索結果としてセルの相対的な位置を取得(MATCH関数)

2023年1月16日

セル範囲の中で検索し、一致するセルがある場合、

検索対象としたセル範囲の、最も左上からの相対的な位置を取得する関数です。

単独で使用することは稀でINDEX関数OFFSET関数などと組み合わせて使用することが多いです。

この記事では、その関数の仕様と使用例を紹介します。

仕様

=MACTH(検査値、検査範囲、照合の種類)
引数省略時の値説明
検査値省略不可検索する値を指定。
検査範囲省略不可検査値を検索するセル範囲。
照合の種類1検索の方法を指定。
・1:検索値以下で最大。検査範囲を昇順で並べる必要あり
・0:完全一致
・-1:検索値以上で最小。検査範囲を降順で並べる必要あり
各引数の詳細

使用例:照合の種類による結果の違い

それぞれの結果を例示します。

上の青い表が検査範囲で下の緑の表が検査値と関数の結果です。

照合の種類:1(検索値以下で最大)

まず検査範囲を昇順に並べておく必要があります。

この例では1~19までは検査表の1番上に対応するため1を取得し、

80を超えると全て5を取得します。

0より小さいと該当するものがないため#N/Aエラーとなります。

照合の種類:1(検索値以下で最大)の実施例
照合の種類:1(検索値以下で最大)の実施例

照合の種類:0(完全一致)

照合の種類:0(完全一致)の指定では検査範囲を並び替える必要はありません。

この例では完全に一致するものがあれば、その位置を取得します。

1でも相違すれば#N/Aエラーとなります。

照合の種類:0(完全一致)の実施例
照合の種類:0(完全一致)の実施例

照合の種類:-1(検索値以上で最小)

まず検査範囲を降順に並べておく必要があります。

この例では61~80までに該当すると検査表の1番上に対応するため1を取得します。

0より小さいと全て5になります。

80より大きいと該当するものがないため#N/Aエラーとなります。

照合の種類:-1(検索値以上で最小)の実施例
照合の種類:-1(検索値以上で最小)の実施例

横方向の範囲への使用

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

横方向の範囲への使用例
横方向の範囲への使用例

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には引数の検査値を複数セルの範囲で指定します。

スピルでMATCH関数を記述する例(C10セル)
スピルでMATCH関数を記述する例(C10セル)

数式を入力するのは最初の一つのセルですが、

引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

C10に指定したMATCH関数がC20まで自動拡大
C10に指定したMATCH関数がC20まで自動拡大

スピルを利用することで今回の例では、

C10セルに入力するだけでよいため(C20以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

INDEX関数とMATCH関数を組み合わせてVLOOKUP関数より高度な検索を行う方法

VLOOKUP関数で左側の値を取得する方法

複数のプルダウンを連動させる方法

検索結果を座標で取得する方法

VLOOKUP関数で画像を取得する方法

関数の仕様と使い方の記事一覧