目的のデータが、表の先頭から何番目にあるかを調べる関数。基本的な使い方に加えて、INDEX関数と組み合わせて仕事に役立つ実例も紹介する。
目的のデータが上から何番目にあるかを調べるMATCH(マッチ)
目的のデータ(数値やテキスト)が、表の先頭から何番目にあるかを知りたい。こんなときに利用するのが、「MATCH」関数だ。
活用のポイントは、書式にある「照合の型」の指定。たいていは「完全一致」の「0」(省略も可)を指定することが多いはず。例えば、社員番号順に001から並んでいる社員名簿の中で「○○さんの社員番号」を調べたり、営業部の売り上げ成績が上位から順に並んでいる表で「○○さんの成績」を調べたりといったことができる。
書式
書式 | MATCH(検査値,検査範囲,照合の型) |
---|---|
検査値(必須) | 検索する値を指定する |
検査範囲(必須) | 検索するセル範囲を指定する |
照合の型(省略可) | 検索方法を1、0、-1で指定する(下表参照) |
1または省略 | 検査値以下の最大の値が検索される |
---|---|
0 | 検査値に完全一致する値が検索される |
-1 | 検査値以上の最小の値が検索される |
基本的な使い方
会員リストから「山口太郎」さんの会員番号をB3セルに表示するケースを考える。MATCH関数の「検査値」に名前のセル(B2)、「検査範囲」に会員名のセル範囲(E2:E9)、「照合の型」に完全一致の「0」を指定する。B2セルに「山口太郎」と入力すると、これは会員名の上から5番目にあるので、MATCH関数の計算結果は「5」と表示される。
【仕事での使い方】縦横の項目名を指定してデータを転記
上図のような料金表で、行と列の項目名を入力すると、該当する価格が表示されるようにしたい。これは、MATCH関数と、「INDEX」関数を組み合わせれば、即座に実現できる。
まずMATCH関数を使って、B2セルに入力した「種類」とB3セルに入力した「等級」がそれぞれ何番目にあるかをB6セルとB7セルに表示する。B4セルにはINDEX関数を使って価格を表示する。これには、B6セルとB7セルの数字を、INDEX関数の「行番号」と「列番号」に指定すればいい。もちろん、INDEX関数の「範囲」には価格の表部分(E3:G6)を指定する。