検索
2段階の検索
定義
INDEX と MATCH を組み合わせると、まず MATCH で位置を見つけ、次に INDEX でその位置にある値を取り出します。
構文
=INDEX(return_range, MATCH(key, lookup_range, 0))
引数
| 引数 | 意味 |
|---|---|
return_range |
取り出したい値が入っている列または行です。 |
key |
探している項目です。 |
lookup_range |
キーが入っている列または行で、戻り値の範囲と同じ大きさにします。 |
0 |
MATCH に完全一致を探させます。 |
計算例
価格表では価格が A 列、商品が B 列にあるため、キーが答えの右側にあります。
| A: 価格 | B: 商品 |
|---|---|
| 29 | Kettle |
| 68 | Blender |
| 53 | Toaster |
数式: =INDEX(A2:A4,MATCH("Toaster",B2:B4,0))
結果: 53。MATCH は Toaster が位置 3 にあることを見つけ、INDEX は、キーの左側にあるにもかかわらず3番目の価格 53 を返します。
練習問題
都市 Quito、Lima、Bogota は B2:B4 にあり、それぞれの標高(メートル)2850、154、2640 は A2:A4 にあります。D2 に、Bogota の標高を返す数式を書いてください。
- D2 に、Bogota の標高を返す INDEX と MATCH の数式を書いてください。標高は A2:A4、都市は B2:B4 にあります。
- D2 は Bogota の標高を表示する必要があります。
ステップ 1 / 2
D2 に =INDEX(A2:A4,MATCH("Bogota",B2:B4,0)) と入力します。
Bogota は都市リストの3番目なので、標高は 2640 です。
このサイトの数式では、どの言語でも SUM のような英語の関数名を使い、小数点にはピリオド(.)を使います。
シートを読み込み中…
D2 は INDEX と MATCH を使っています。
D2 は 2640 を表示しています。
次のレッスンは何桁残すかです。
関連する関数
INDEX と MATCH は検索を2つのステップに分けるので、それぞれを単独で確かめられ、どちらも別の場所で再利用できます。
よくある間違い
INDEX(A2:A4,MATCH(...,B3:B5,0)) のように範囲がそろっていないミスです。位置が1行ずれて、違う項目が返ってきます。