今回は、近年MOS試験エキスパートレベルにも出題範囲とされている「MATCH関数」について解説します。

マーク
MATCH関数っていうのがあるらしいんだけど、結局、何に使うのかよく分からないんだよねぇ
熊リオ
ほう?君にしてはよく勉強しているじゃないか。

まず、MATCH関数は、“match”(=一致)するものを探す関数なわけだ。

 

それでは本題に行きましょう。
例えば、こんな在庫表があるとします。

 

【例題】

MATCH関数を使用して、「ウインナー」は在庫表の上から何番目にあるかを調べましょう(表タイトルを含みます)

さて、この場合、ゴールとしては「8」と出力されて欲しいことになります。

2018-06-08_07h07_15

 

この場合のMATCH関数の使い方は、このようになります。

=MATCH(“ウインナー”,C16:C26,0)

2018-06-08_07h18_40

 

MATCH関数の引数は、次の通りです。

MATCH(検索値,検索範囲,[照合の種類])

①「検索値」は、「何を探す?」を指定します。

今回は”ウインナー”を探したかったので”ウインナー”と入力しました。

 

②「検索範囲」は、「どの範囲から?」をセル範囲で指定しましょう。

今回は[商品名]の列を指定したかったので、「C16:C26」を指定しました。

※ここで注意なのは、MATCH関数は縦に1列か、横に1列しか指定できない点です。

2018-06-08_07h25_57 2018-06-08_07h26_13

 

熊リオ
そもそもMATCH関数は、「上から何番目?」か、「左から何番目?」を調べるための関数なので、1行か1列しか選択してはいけないというわけだな。
マーク
そうか~。広い範囲を指定しちゃうと、「おい、行か列どっちの番目を知りたいんだよ!?」って怒られそうだもんね。

 

MATCH(検索値,検索範囲,[照合の種類])

③[照合の種類]については、「0(FALSE),1,-1」のうちどちらかを指定します。

  • 0かFALSEと入力した場合…「完全一致」で照合します。よく使うのはこの値ですね。
    この場合は”ウインナー”という検索値に完全に一致した場合にしか計算結果を返してくれません。
  • 1と入力した場合、「以下」を意味します。
  • -1と入力した場合、「以上」を意味します。
マーク
え…何?
「以上」「以下」ってどういうこと?何に使うの?
熊リオ
うむ。
ちょっと今回の例題だと分かりにくくなるな。
例題の主旨を変えてみよう。

「1」(以下)を理解するために、ちょっと例題を変えてみます。
定価が160以下の商品のうち、最大のものが何番目かを求めてみます。

 

2018-06-08_07h38_28

ここでは、三番目の引数を「1(”以下”)」にしています。

2018-06-08_07h38_28

 

  • 定価が160以下のデータを上から順番に見ていく。
  • その中で、最大(つまり160より大きくならないギリギリセーフなデータ)のセルは何番目なのか?を返す。

ということを行っているのです。

マーク
なるほどね。
ギリギリセーフな奴は何番目なのか?を求めてるわけか。
熊リオ
そういうことだ。
キミ自身も、色んな意味でギリギリだがな。

それはさておき、「1(“以下”)」なら上記の通り、「-1(“以上”)」ならその逆の条件となる。

ただし、”以上”ならデータが昇順になっていなければ正常な結果が出ない。
また、”以下”なら降順でなければいけないのが大切な条件だ。

 

 

以上、いかがだったでしょうか?

MATCH関数、ぜひ覚えておきましょう!

 

screenshot_122

エクセル兄さん IT講師の淳