この記事ではエクセルのMATCH関数の使い方や組み合わせついて、初心者にも分かりやすく詳しく解説したいと思います。
エクセルのMATCH関数とは
エクセルのMATCH関数とは、指定した条件と合致するセルが対象範囲の何行目にあるかを示す関数です。
つまり、MATCH関数は「指定した条件に合致するセルがどこにあるかを検索し、そのセルがある場所を表示するための関数」になります。
MATCH関数では以下の3つの条件を指定し、それに合致するセルを検索して表示することができます。
- 指定した文字列・数値と等しい
- 指定した数値以下の最大値
- 指定した数値以上の最小値
指定した文字列・数値と等しい
MATCH関数では指定した文字列や数値と等しいセルという条件で、その条件に合致するセルを検索することができます。
例えば下記の表で50を指示した場合、等しい数値である「50」が検索結果になります。
MATCH関数は検索結果のセルが何行目にあるかを示す関数なので、今回の例でいくと4が表示されます。(上から4行目にあるため)
指定した数値以下の最大値
MATCH関数では指定した数値以下の中で一番大きな数値という条件で、その条件に合致するセルを検索することができます。
例えば下記の表で50を指示した場合、50以下で一番大きな数値である「45」が検索結果になります。
MATCH関数は検索結果のセルが何行目にあるかを示す関数なので、今回の例でいくと3が表示されます。(上から3行目にあるため)
指定した数値以上の最小値
MATCH関数では指定した数値以上の中で一番小さな数値という条件で、その条件に合致するセルを検索することができます。
例えば下記の表で50を指示した場合、50以上で一番小さな数値である「60」が検索結果になります。
MATCH関数は検索結果のセルが何行目にあるかを示す関数なので、今回の例でいくと3が表示されます。(上から3行目にあるため)
エクセルのMATCH関数の書式
エクセルのMATCH関数の書式がこちらです。
MATCH関数は「指定する文字列・数値(検査値) かつ 指定する条件(照合の型)を満たすセルが、対象の列(検査範囲)の何行目にあるかを示す関数」になります。
上記の表のMATCH関数で表すと、=MATCH(D3,B2:B7,0)となります。
指定した検査値の50は対象範囲であるB2:B7の上から4行目にあるため、=MATCH(D3,B2:B7,0)のセルは4を示すことになります。
MATCH関数の第1引数の解説
MATCH関数の第1印数には、検索したい文字列・数値を入力します。
=MATCH(“りんご“,検査範囲,照合の型)と直接入力することもできますし、=MATCH(B3,検査範囲,照合の型)のようにセルを参照することも可能です。
こちらの事例であればD3のセルに入力された数値を検索するため、第1引数にはD3と入力するのが正解です。
MATCH関数の第2引数の解説
MATCH関数の第2引数では、検索対象のセル範囲を指示します。
こちらの事例であればB列に入力されている表を選ぶので、第2引数にはB2:B7と入力するのが正解です。
MATCH関数の第3引数の解説
MATCH関数の第3引数には、検索するための条件を指示します。
第三引数には0・1・-1のいずれかの数値を入力することができ、それぞれの数値が意味する検索条件が下記の通りです。
MATCH関数の第3引数 | 検索条件 |
0 | 指定した文字列・数値と等しい |
1 | 指定した数値以下の中で最大の値 |
-1 | 指定した数値以上の中で最小の値 |
MATCH関数の第3引数「0」
MATCH関数の第3引数に0を入力した場合、「第1引数の文字列・数値と等しいセル」という条件を意味します。
例えば下記の表で「=MATCH(D3,B2:B7,0)」という関数を記載すると、D3に等しいセルとして「50(B5)」が検索結果となります。
MATCH関数の第3引数「1」
MATCH関数の第3引数に1を入力した場合、「第1引数の数値以下の中で一番大きな数値」という条件を意味します。
例えば「=MATCH(D3,B2:B7,1)」という関数を記載すると、D3以下の数値で一番大きな「45(B4)」が検索結果となります。
MATCH関数の第3引数に「1」を入力する際は、対象範囲の表は昇順に並べ替えておく必要があります。
順番がバラバラしていたり降順になっている場合は、MATCH関数がエラーになってしまうので注意しましょう。
MATCH関数の第3引数「-1」
MATCH関数の第3引数に-1を入力した場合、「第1引数の数値以上の中で一番小さな数値」という条件を意味します。
例えば「=MATCH(D3,B2:B7,-1)」という関数を記載すると、D3以上の数値で一番大きな「60(B4)」が検索結果となります。
MATCH関数の第3引数に「-1」を入力する際は、対象範囲の表は降順に並べ替えておく必要があります。
順番がバラバラしていたり昇順になっている場合は、MATCH関数がエラーになってしまうので注意しましょう。
エクセルのMATCH関数の実践問題
ここからはMATCH関数をどのように使うのかを、実践形式の練習問題を出しながら解説していきます。
MATCH関数を単独で使う
OFFSET関数を単独で使うことは実務ではあまりありませんが、仕組みを理解するためにまずは単独での使い方を解説します。

第1引数の解説

第2引数の解説
MATCH関数の第2引数には、検索する範囲を指定します。
今回はB3~B7に記載された表を対象範囲にしたいので、第2引数にB3:B7と入力しましょう・
第3引数の解説

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

第1引数の解説

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

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

IFFERROR関数は関数の結果がエラーの場合に、表示する値を自動的に変更することができる関数です。
つまり、「Aでない(=エラー)のであれば、Bを表示する」を指示することができる関数になります。
IFERROR関数の第1引数には通常の条件を、第2引数には第1引数だとエラーとなる場合に表示させたい条件を入力します。
今回のケースではこのIFERROR関数の仕組みを使い、IFERRORの第1引数にはB列を検索対象としたMATCH関数を、第2引数にはC列を検索対象としたMATCH関数を入力します。
これによってB列を検索対象としたMATCH関数がエラーになった場合も、別の列を検索対象としたもう一つのMATCH関数の結果を表示することができます。
逆にB列を検索対象としたMATCH関数がエラーにならなければ、そのままそのMATCH関数の結果を表示することができます。
IFFERROR関数の詳しい解説については、こちらの「世界一分かりやすいエクセルの『IFERROR関数』の解説」をご覧ください。
定時でカエルExcel(エクセル)でエラーになった箇所を毎回修正するのが面倒です。オフィスうさぎエラーを表示させたくないときは、IFERROR関数がおすすめだよ!IFERROR関数はセルがエラ[…]
MATCH関数とOFFSET関数を組み合わせる
MATCH関数はOFFSET関数やINDEX関数など、セルを指定する関数と組み合わせて使われることが非常に多いです。
ここではMATCH関数とOFFSET関数を組み合わせた使い方を解説しています。

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