世界一分かりやすいエクセルの『MATCH関数』の解説。=MATCH()の使い方や他関数との組み合わせ

  • 2022年2月23日
  • 2022年2月26日
  • Excel
ExcelのMATCH関数の使い方
定時でカエル
Excel(エクセル)のMATCH関数について教えてください!
オフィスうさぎ
この記事ではMATCH関数について世界一分かりやすく解説していくね!

この記事ではエクセルのMATCH関数の使い方や組み合わせついて、初心者にも分かりやすく詳しく解説したいと思います。

エクセルのMATCH関数とは

エクセルのMATCH関数とは、指定した条件と合致するセルが対象範囲の何行目にあるかを示す関数です。

つまり、MATCH関数は「指定した条件に合致するセルがどこにあるかを検索し、そのセルがある場所を表示するための関数」になります。

MATCH関数では以下の3つの条件を指定し、それに合致するセルを検索して表示することができます。

  1. 指定した文字列・数値と等しい
  2. 指定した数値以下の最大値
  3. 指定した数値以上の最小値

指定した文字列・数値と等しい

MATCH関数では指定した文字列や数値と等しいセルという条件で、その条件に合致するセルを検索することができます。

例えば下記の表で50を指示した場合、等しい数値である「50」が検索結果になります。

エクセルのMATCH関数とは

MATCH関数は検索結果のセルが何行目にあるかを示す関数なので、今回の例でいくと4が表示されます。(上から4行目にあるため)

指定した数値以下の最大値

MATCH関数では指定した数値以下の中で一番大きな数値という条件で、その条件に合致するセルを検索することができます。

例えば下記の表で50を指示した場合、50以下で一番大きな数値である「45」が検索結果になります。

エクセルのMATCH関数とは

MATCH関数は検索結果のセルが何行目にあるかを示す関数なので、今回の例でいくと3が表示されます。(上から3行目にあるため)

指定した数値以上の最小値

MATCH関数では指定した数値以上の中で一番小さな数値という条件で、その条件に合致するセルを検索することができます。

例えば下記の表で50を指示した場合、50以上で一番小さな数値である「60」が検索結果になります。

エクセルのMATCH関数とは

MATCH関数は検索結果のセルが何行目にあるかを示す関数なので、今回の例でいくと3が表示されます。(上から3行目にあるため)

エクセルのMATCH関数の書式

エクセルのMATCH関数の書式がこちらです。

=MATCH(検査値, 検査範囲, [照合の型])

エクセルのMATCH関数の書式

MATCH関数は「指定する文字列・数値(検査値) かつ 指定する条件(照合の型)を満たすセルが、対象の列(検査範囲)の何行目にあるかを示す関数」になります。

上記の表のMATCH関数で表すと、=MATCH(D3,B2:B7,0)となります。

エクセルのMATCH関数とは

指定した検査値の50は対象範囲であるB2:B7の上から4行目にあるため、=MATCH(D3,B2:B7,0)のセルは4を示すことになります。

MATCH関数の第1引数の解説

エクセルのMATCH関数の書式

MATCH関数の第1印数には、検索したい文字列・数値を入力します。

=MATCH(りんご,検査範囲,照合の型)と直接入力することもできますし、=MATCH(B3,検査範囲,照合の型)のようにセルを参照することも可能です。

こちらの事例であればD3のセルに入力された数値を検索するため、第1引数にはD3と入力するのが正解です。

MATCH関数の第1引数

MATCH関数の第2引数の解説

エクセルのMATCH関数の書式

MATCH関数の第2引数では、検索対象のセル範囲を指示します。

こちらの事例であればB列に入力されている表を選ぶので、第2引数にはB2:B7と入力するのが正解です。

MATCH関数の第2引数

MATCH関数の第3引数の解説

エクセルのMATCH関数の書式

MATCH関数の第3引数には、検索するための条件を指示します。

第三引数には01-1のいずれかの数値を入力することができ、それぞれの数値が意味する検索条件が下記の通りです。

MATCH関数の第3引数検索条件
0指定した文字列・数値と等しい
1指定した数値以下の中で最大の値
-1指定した数値以上の中で最小の値

MATCH関数の第3引数「0」

MATCH関数の第3引数に0を入力した場合、「第1引数の文字列・数値と等しいセル」という条件を意味します。

例えば下記の表で「=MATCH(D3,B2:B7,0)」という関数を記載すると、D3に等しいセルとして「50(B5)」が検索結果となります。

MATCH関数の第3引数「0」

MATCH関数の第3引数「1」

MATCH関数の第3引数に1を入力した場合、「第1引数の数値以下の中で一番大きな数値」という条件を意味します。

例えば「=MATCH(D3,B2:B7,1)」という関数を記載すると、D3以下の数値で一番大きな「45(B4)」が検索結果となります。

MATCH関数の第3引数「1」

MATCH関数の第3引数に「1」を入力する際は、対象範囲の表は昇順に並べ替えておく必要があります。

順番がバラバラしていたり降順になっている場合は、MATCH関数がエラーになってしまうので注意しましょう。

MATCH関数の第3引数「-1」

MATCH関数の第3引数に-1を入力した場合、「第1引数の数値以上の中で一番小さな数値」という条件を意味します。

例えば「=MATCH(D3,B2:B7,-1)」という関数を記載すると、D3以上の数値で一番大きな「60(B4)」が検索結果となります。

MATCH関数の第3引数「-1」

MATCH関数の第3引数に「-1」を入力する際は、対象範囲の表は降順に並べ替えておく必要があります。

順番がバラバラしていたり昇順になっている場合は、MATCH関数がエラーになってしまうので注意しましょう。

エクセルのMATCH関数の実践問題

ここからはMATCH関数をどのように使うのかを、実践形式の練習問題を出しながら解説していきます。

MATCH関数を単独で使う

OFFSET関数を単独で使うことは実務ではあまりありませんが、仕組みを理解するためにまずは単独での使い方を解説します。

100の値が何行目にあるかを、MATCH関数を使って示してみましょう
MATCH関数を単独で使う
=MATCH(100,B2:B7,0)

MATCH関数を単独で使う

第1引数の解説

MATCH関数を単独で使う
MATCH関数の第1引数は検索したい文字列・値を指定します。
100の値が何行目にあるかを調べたいので、ここでは第1引数に100と入力しましょう。

第2引数の解説

MATCH関数を単独で使う

MATCH関数の第2引数には、検索する範囲を指定します。

今回はB3~B7に記載された表を対象範囲にしたいので、第2引数にB3:B7と入力しましょう・

第3引数の解説

MATCH関数を単独で使う
OFFSET関数の第3引数には、検索する条件を入力していきます。
第1引数に入力した100と等しいセルを検索したいため、第3引数には第1引数とイコールの条件を指示する0が正解になります。

MATCH関数で複数の条件で検索する

「りんご」「犬」の組み合わせが何行目にあるかをMATCH関数を使って調べてみましょう
MATCH関数で複数の条件で検索す
=MATCH(B4&C4,B2:B7&C2:C7,0)

MATCH関数で複数の条件で検索する

第1引数の解説

MATCH関数で複数の条件で検索する
MATCH関数の第1引数は検索したい文字列・値を指定します。
今回は「りんご」と「犬」の組み合わせを指定したいため、B4とC4のセルを第1引数に入力していきます。
2つのセルを組み合わせて1つの文字列としたい場合、セルとセルの間にを挟むことで繋げていきます。
今回のケースではB4&C4を第1引数に入力するのが正解になります。

第2引数の解説

MATCH関数で複数の条件で検索する

MATCH関数の第2引数には、検索する範囲を指定します。

今回はB列とC列の2つのセルを組み合わせた文字列が検索条件なので、対象範囲を指示する第2引数にもB2:B7&C2:C7と2つの列を組み合わせるようにしましょう。

第3引数の解説0

MATCH関数で複数の条件で検索する
OFFSET関数の第3引数には、検索する条件を入力していきます。
今回は第1引数とイコールの関係を指示する0を入力するのが正解になります。

MATCH関数とIFERROR関数で複数列を対象範囲に設定する

MATCH関数とIFERROR関数を組み合わせることで、複数の列を対象範囲に設定することが可能です。

1~12の表の中で10が何行目にあるかをMATCH関数を使って調べてみましょう
MATCH関数とIFERROR関数で複数列を対象範囲に設定する
=IFERROR(MATCH(10,B2:B7,0),MATCH(10,C2:C7,0))

MATCH関数とIFERROR関数で複数列を対象範囲に設定する

IFFERROR関数は関数の結果がエラーの場合に、表示する値を自動的に変更することができる関数です。

つまり、「Aでない(=エラー)のであれば、Bを表示する」を指示することができる関数になります。

IFERROR関数の第1引数には通常の条件を、第2引数には第1引数だとエラーとなる場合に表示させたい条件を入力します。

MATCH関数とIFERROR関数で複数列を対象範囲に設定する

今回のケースではこのIFERROR関数の仕組みを使い、IFERRORの第1引数にはB列を検索対象としたMATCH関数を、第2引数にはC列を検索対象としたMATCH関数を入力します。

MATCH関数とIFERROR関数で複数列を対象範囲に設定する

これによってB列を検索対象としたMATCH関数がエラーになった場合も、別の列を検索対象としたもう一つのMATCH関数の結果を表示することができます。

MATCH関数とIFERROR関数で複数列を対象範囲に設定する

逆にB列を検索対象としたMATCH関数がエラーにならなければ、そのままそのMATCH関数の結果を表示することができます。

IFFERROR関数の詳しい解説については、こちらの「世界一分かりやすいエクセルの『IFERROR関数』の解説」をご覧ください。

関連記事

定時でカエルExcel(エクセル)でエラーになった箇所を毎回修正するのが面倒です。オフィスうさぎエラーを表示させたくないときは、IFERROR関数がおすすめだよ!IFERROR関数はセルがエラ[…]

MATCH関数とOFFSET関数を組み合わせる

MATCH関数はOFFSET関数やINDEX関数など、セルを指定する関数と組み合わせて使われることが非常に多いです。

ここではMATCH関数とOFFSET関数を組み合わせた使い方を解説しています。

F3に商品名を記載したとき、OFFSET関数とMATCH関数を使ってF4に価格が自動入力されるようにしましょう。
OFFSET関数とMATCH関数を組み合わせて使う
=OFFSET(B3,MATCH($F$3,B3:B7,0)-1,1,1,1)

OFFSET関数とMATCH関数

詳しい解説については、こちらの「世界一分かりやすいエクセルの『OFFSET関数』の解説」を参考にしてください。

関連記事

定時でカエルExcel(エクセル)のOFFSET関数が難しくて全然分からないです。。。オフィスうさぎ原理が分かればOFFSETもシンプルな関数だよ。この記事ではOFFSET関数について世界一分かり[…]