Excel(エクセル)のVLOOKUP関数は、指定された範囲の 1 列目(一番左端の列)で値を検索し、その指定範囲内の別の列の同じ行にある値を返します。検索データが横方向(行)の場合は、HLOOKUP関数を使用します。
目的データの探し方・・・範囲を縦方向に検索値を探して検索値があったら横に行き指定列番号まで行き目的データを表示させる。
<イメージ>
↓
↓
検索値 → → →目的データ
商品番号などを入力すると、対応する商品名や価格などの情報がセルに表示されるようにできる。細かいルールとして・・・
- ・表の左端列に検索対象のデータを入力し、VLOOKUP関数が返すデータを検索対象の列より右の列に入力する。
- ・検索範囲の列のデータを重複されない(重複するデータがある場合は、より上の行にあるデータが検索される)
- ・検索対象のデータが数値の場合は昇順に並べ替えるか、引数検索方法をFALSE(0)にする。
項目 | 詳細 |
---|---|
書式 | VLOOKUP(検索値, 範囲, 列番号, 検索方法) |
検索値 (必須) |
検索する値またはセル参照を指定します。どのセルの値も検索値にできるので、遠く離れたセルや別シートのセルを検索値できる。検索値はあくまでも表示させたいデータの左隣りあるだけ。 |
範囲 (必須) |
2 列以上のセル範囲を指定します。ここで指定した範囲の左端の列で検索値を検索します。 |
列番号 (必須) |
目的データが入力されている列番号を指定します。
重要範囲の左端の列が 1 になり、次の列が 2 になります。 指定した範囲から何番目の列が欲しいか指定する。 |
検索方法 (省略可) |
検索値の検索方法を TRUE(近似値)か FALSE(完全一致)で指定します。省略するとTRUEとして処理されます。
TRUE の場合範囲の左端の列にあるデータを、昇順に並べ替えておく必要があります。昇順になってない場合、正しい結果が求められません。検索値が見つからない場合は、検索値未満の最大値が使用されます。 FALSE の場合データの並べ替えは必要なく、検索値が文字列の場合にワイルドカードが使用できます。検索値を完全に一致するデータが無い場合エラー値「#N/A」が返されます。 |
●VLOOKUPで検索方法を使い分けるには
A→データの内容によって使い分けます。
VLOOKUP関数は引数の検索方法にTRUE(あるいは1)を指定するか、FALSE(あるいは0)を指定するかで検索方法を使い分けることができます。
・FALSE(あるいは0)
引数検索値と完全に一致する値だけを検索します。一致する値が見つからないときは、エラー値「#N/A」が表示されます。FALSEあるいは0の指定は、完全に一致するものだけを検索し、一致するものがない場合にはエラー値を表示させる、いわゆる一致検索に利用します。この場合は、検索範囲のデータを昇順に並べ替えておく必要はありません。
・TRUE(あるいは1)
引数検索値と一致する値がない場合は、引数検索値未満でもっとも大きい値を検索します。引数を省略したいときは、TRUE(1)とみなされます。TRUE(1)の指定は完全に一致するものがない場合には、その値を超えない近似値を変えさせる、いわゆる「近似検索」に利用します。この場合は、検索範囲のデータを昇順に並べ替えておく必要があります。昇順に並べ替えておかないと、結果が正しく表示されません。
関数の種類 | VLOOKUP | |
検索の種類 | 一致検索 | 近似検索 |
引数の指定 | FALSEまたは0 | TRUEまたは1 |
検索値が完全に一致するデータがある場合 | 検索値が完全にっ地したデータが抽出される | |
検索値が完全に一致するデータがない場合 | エラー値「#N/A」が表示される | 検索値未満でもっとも大きい値がもとめられる。 |
データの並べ方 | 検索範囲の左端列のデータを昇順に並べ替えておく必要はない | 検索範囲の左端列のデータを昇順に並べ替えておく必要がある |
VLOOKUP関数の使用例(その1)
式 | =VLOOKUP(“ネギ”, A2:C6, 3,FALSE) | 結果
800 |
---|---|---|
説明 | 商品名から「ネギ」を検索して、ネギの値段を調べます。 |
(その2)「近似値検索」
式 | =VLOOKUP(60, A2:B6, 2,TRUE) | 結果
数学 |
---|---|---|
説明 | 検索値「60点」が範囲内に無いため、「60点」未満の最大値である「55点」が検索値と使用されます。点数は予め昇順で並べ替えておく必要があります。 |
式 | =VLOOKUP(60, A2:B6, 2,FALSE) | 結果
#N/A |
---|---|---|
説明 | 検索の型をFALSE(完全一致)にすると、検索値「60点」が範囲内に無いためエラー値が返されます。 |
- <IFERRORとVLOOKUPの組み合わせ>
- =IFERROR(VLOOKUP(C6,E5:G9,3,o),””)
- ・ポイントはIFERRORの前の=と,を忘れないことと空欄(””)を必ず指定すること。