関数編 位置検索 18/20
関数編
合計
縦検索
条件値合計
年抽出
日付表示
順位
近似値倍数
文字列置換
半角変換
文字列結合
文字列繰返し
平均
個数
値種類
値取出
余り
位置検索
エラー情報
円周率
MATCH 位置検索
MATCH(
検索値
,検索範囲,
検索方法
)
検索範囲から
検索値
を探し出し、その位置(何番目なのか)を求める関数です。
検索方法によって検索値が検索範囲内にないときは#N/Aエラーになります。
検索値
探す元になる値を直接指定するかセル番地で指定します。文字や数値などが利用できます。
検索範囲
探したい値の集まりをセル範囲で指定します。
検索方法
0
のとき
完全に一致する値の位置を求めます。
1
のとき
検索値に近い値の位置を求めます。
検索範囲の値は昇順に並んでいる必要があります。昇順とは数値の小さい順や五十音順、ABC順のことです。
省略
したとき
1と同じ働きをします。
-1
のとき
降順に並んでいる値に対してその位置を求めます。降順とは数値の大きい順や五十音の逆順、ABCの逆順のことです。
次のような値がセルに入力されているものとします。この例題では数値に対する考え方を説明します。
例1
MATCH(
14
,C3:C13,
0
)
5
セル範囲C3:C13の中で14は5番目にあるので。
例2
MATCH(
4
,C3:C13,
0
)
#N/A
4に一致する値がセル範囲内にないので。
例3
MATCH(
15
,D3:D13,
0
)
7
範囲内の値が大きい順でも一致すれば、その位置が求まる。
例4
MATCH(
7
,E3:E13,
0
)
2
範囲内の値が順不同でも位置は求まる。ただし、同じ値が複数あるときは1つ目の位置になる。
このように検索方法を0にすると、完全に一致した値の位置を求めることができます。
この例題は文字に対する考え方を説明します。
例1
MATCH(
”J”
,C3:C13,
0
)
7
アルファベット順でもその位置が求まる。
例2
MATCH(
”K”
,C3:C13,
0
)
#N/A
Kに一致する値がセル範囲内にないので。
例3
MATCH(
”J”
,D3:D13,
0
)
6
範囲内の値は逆に並んでいても検索される。
例4
MATCH(
”P”
,E3:E13,
0
)
#N/A
セル範囲E3:E13内に1文字のPは存在しないので。
例5
MATCH(
”PP”
,E3:E13,
0
)
10
セル範囲内にPPという文字は存在するので。
例6
MATCH(
”テレビ”
,F3:F13,
0
)
6
日本語でも検索される。
例7
MATCH(
”イス”
,F3:F13,
0
)
#N/A
イスという文字が範囲内に存在しないので。
いすはありますが・・・。
このように文字でも位置を求めることができます。ただし、文字が完全に一致しないとエラーになります。
この例題では検索方法が
1
の設定で、数値に対する考え方を説明します。
例1
MATCH(
15
,C3:C13,
1
)
5
一致する値があるときは、正確な位置が求まる。
例2
MATCH(
17
,C3:C13,
1
)
5
範囲内に17は存在しないが、検索方法が1なので、この値(17)より小さく一番近い値(15)の位置が求まる。
したがって、検索値が15以上18未満の値で求めると結果はすべて5となる。
例3
MATCH(
50
,C3:C13,
1
)
11
範囲内の最大の値(35)以上を検索値にすると、範囲内での最大位置(11)が求まる。
したがって、検索値が35以上のときは、すべて結果は11になる。
例4
MATCH(
0
,C3:C13,
1
)
#N/A
範囲内の最小値(1)より小さい値を検索値にするとエラーになる。
例5
MATCH(
5
,D3:D13,
1
)
#N/A
検索方法が1のときは、範囲内の値は小さい順に並んでいないとエラーになる。
例6
MATCH(
5
,E3:E13,
1
)
10
範囲内の値が順不同のときは、意味不明な結果がでる。
このように検索方法を1にするときは、検索範囲内の値を昇順に並べておく必要があります。(文字のときも同様です)
この例題では検索方法が
-1
の設定で、数値に対する考え方を説明します。
例1
MATCH(
5
,D3:D13,
-1
)
10
検索範囲内の値が降順(大きい順)なので正しい結果が求まる。
例2
MATCH(
3
,D3:D13,
-1
)
10
検索値(3)より大きく一番近い値(5)の位置が求まる。
したがって、検索値が1より大きく5以下の値で求めると結果はすべて10となる。
例3
MATCH(
40
,D3:D13,
-1
)
#N/A
検索範囲内の最大の値よりも大きな値で検索するとエラーになる。
例4
MATCH(
5
,C3:C13,
-1
)
#N/A
検索範囲内の値が昇順(小さい順)なのでエラーになる。
例4
MATCH(
21
,E3:E13,
-1
)
#N/A
範囲内の値が順不同のときはエラーになる。
このように検索方法を-1にするときは、検索範囲内の値を降順に並べておく必要があります。(文字のときも同様です)