新しいウィンドウです

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

書式
=MATCH(<検査値>,<検査範囲>,<照合の型>)
検査値を指定して、それが範囲の中の何番目の位置にあるか調べます。

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

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

式を入力するセルへ移動します。
Shift + F3キーを押してダイアログボックスを表示させます。
半角で <MATCH> と入力します。
このままエンターを押すか、Tabキーで<検索開始>へ移動してエンターを押します。
これで関数名の選択リストへ入ります。
上下カーソルで <MATCH> を見つけたらエンターを押します。
これで入力ダイアログボックスが開きます。
次のように入力します。

検査値の入力で 上田
Tab 1回

検査範囲の入力で A1:A4
Tab 1回

照合の種類の入力で 0
エンター、またはTabで<OK>へ移動してエンター
結果
結果は<>になります。<上田>は検索範囲の3番目にあります。
関数の入力セルには次の式が入っています。
=MATCH("上田",A1:A4,0)

上の例では式の中に<上田>という検索文字を入れましたが、これでは応用が利きません。
実際には検索文字を入れるセルを作っておいて、それを指定するセル参照を使います。


その2 式の中でセル参照を使う
サンプルデータは上の例と同じにします。
B1セル>として<上田>と入力しておきます。

参照セルに値がないとエラーになるので注意してください。

式を入力するセルへ移動します。
Shift + F3キーを押してダイアログボックスを表示させます。
半角で <MATCH> と入力します。
このままエンターを押すか、Tabキーで<検索開始>へ移動してエンターを押します。
これで関数名の選択リストへ入ります。
上下カーソルで <MATCH> を見つけたらエンターを押します。
これで入力ダイアログボックスが開きます。
ここで次のように入力します。

検査値の入力 B1
Tab 1回

検査範囲の入力 A1:A4
Tab 1回

照合の種類の入力 0
エンター、またはTabで<OK>へ移動してエンター
結果
結果は<>になります。<上田>は検索範囲の3番目にあります。
関数の入力セルには次の式が入っています。
=MATCH(B1,A1:A4,0)

使用例2 照合の型=1 範囲を示す数値データの検索
検索範囲の値は昇順で並んでいる必要があります。
宅配便の料金表のような、距離や重量が範囲で指定されているようなときに使います。
サンプルデータ
重量に応じた荷物の送料表があるとします。
荷物の重量を入力して、重量区分の何番目にあるかを求めることにします。

分かりやすくするために、A1からA4セルに次の重量区分を入力します。
A1に 2Kg未満
A2に 2Kg〜5Kg未満
A3に 5Kg〜10Kg未満
A4に 10Kg〜15Kgまで これらは省略してもかまいません。

この重量区分を次の数値に置き換えてB1〜B4セルに入力します。
実際に関数式を作るときは、このB列を使います。
B1に 0
B2に 2
B3に 5
B4に 10

この置き換えは次の対応になります。
2Kg未満のとき 0
2Kg〜5Kg未満のとき 2
5Kg〜10Kg未満のとき 5
10Kg〜15Kgまでのとき 10

この対応する数値は、重量の段階の中の最小の値を指定していることになります。
関数式の入力
重量の記入セルを<C1セル>とします。
ここに例えば<>を記入しておきます。

式を入力するセルへ移動します。この位置は自由です。
Shift + F3キーを押してダイアログボックスを表示させます。
半角で <MATCH> と入力します。
このままエンターを押すか、Tabキーで<検索開始>へ移動してエンターを押します。
これで関数名の選択リストへ入ります。
上下カーソルで <MATCH> を見つけたらエンターを押します。

検査値の入力 C1 これは重量を記入するセルです。
Tab 1回

検査範囲の入力 B1:B4
Tab 1回

照合の種類の入力 1
エンター、またはTabで<OK>へ移動してエンター
結果
結果は<>です。
これは<C1セル>の値の<8>が、重量区分の上から3番目の
<5Kg〜10Kg未満>にあることをを示します。

関数の入力セルには次の式が入っています。
=MATCH(C1,B1:B4,1)
注意
上の例では<C1セル>に<15以上>の値を入れても結果は<>のままです。
これを防ぐには、入力値がオーバーしたことを示す設定が必要になります。
参考
1、検査範囲の中で一致する値が複数あると、セル番地が小さいほうの位置を表示します。
2、検査値が文字列のとき、英字の大文字と小文字は区別しません。
3、検査値が見つからないときは、<#N/A>のエラーになります。

終わり


By にいがた窓の会