新しいウィンドウです

範囲の中で指定した値のある行や列の位置を求める MATCH(マッチ)関数

説明
1、範囲の中にある値を指定して、その値の位置を数値で求めます。
2、この場合の位置はセル番地ではなく、表の左上の角を1として数えた位置です。
3、範囲が縦方向(列)のときは上からの位置を、横方向(行)のときは右方向の位置を求めます。
書式
=MATCH(<検査値>,<検査範囲>,<照合の型>)
検査値を指定して、それが範囲の中の何番目の位置にあるか調べます。

照合の型は<0・1・−1>の3つがあります。
この型を指定しないと<1>を指定したとみなされます。

照合の型=0
完全一致で検索します。検査範囲の値の並び順は自由です。
照合の型=1
検査値以下の最大の値を検索します。
検査範囲の値は昇順で並んでいることが必要です。
照合の型=−1
検査値以上の最小の値を検索します。
検査範囲の値は降順で並んでいることが必要です。
このページでは、使うことの多い照合の型が<0>と<1>について説明をします。
使用例1 完全一致の検索 照合の型=0
氏名・商品名・コード番号などの検索に使われます。
検査範囲の値の並び順は自由です。
サンプルデータ
検査範囲の入力
<A1>から<A4>セルに下のデータを入力します。
青木
今井
上田
江川
式の入力1 式の中で検査値を指定する
検査範囲の<A1からA4>の中で<上田>のある位置を求めます。

B1セルに下の式を入力します。
=MATCH("上田",A1:A4,0)
結果は<3>です。上田は検査範囲の3番目にあります。

上の例では式の中に<上田>という検査値を入れましたが、これでは応用が利きません。
実際には検査値の入力セルを作っておいて、それを指定するセル参照を使います。
式の入力2 式の中でセル参照を使う
上の例で検査値の入力セルをB1セルとします。
B1セルに<上田>と入力します。ここにデータがないとエラーになるので注意してください。

下の式をB2セルへ入力します。
=MATCH(B1,A1:A4,0)
結果は<3>です。
使用例2 範囲で示された数値の検索 照合の型=1
宅配便の料金表のような、距離や重量が範囲で指定されているようなときに使います。
検査範囲の値が<昇順>で並んでいる必要があります。
サンプルデータ
重量に応じた宅配荷物の料金表があるとします。

データ1
重量区分の見出しを入力します。
これは結果を見やすくするためで、関数式には使いません。

<A1>から<A4>セルに重量の区分を入力します。
2Kg未満
2Kg〜5Kg未満
5Kg〜10Kg未満
10Kg〜15Kgまで

データ2
<検査範囲>を入力します。
これは重量区分に対応する数値です。
この数値は、それぞれの重量区分の最小の数値を指定しています。

<B1>から<B4>セルに下の値を入力します。



10
式の入力
検査値を入力
重量の記入セルを<C1>セルとします。
ここに例えば<8>を入力します。

関数式の入力
C2セルに下の式を入力します。
=MATCH(C1,B1:B4,1)


結果は<3>です。
これはC1セルの値の<8>が、重量区分の3番目、<5Kg〜10Kg未満>を示します。
注意
上の例では、<C1セル>に<15以上>の値を入れても結果は<>のままです。
これを防ぐには、入力値がオーバーしたことを示す設定が必要になります。
参考
1、検査範囲の中で一致する値が複数あると、セル番地が小さいほうの位置を表示します。
2、検査値が文字列のとき、英字の大文字と小文字は区別しません。
3、検査値が見つからないときは、<#N/A>のエラーになります。

終わり


By にいがた窓の会