VLOOKUP関数 (近似値含む=TRUE=1)
VLOOKUP関数
リストを列方向に検索して、対応する値を求める関数
ポイント
列方向の検索
対象のリスト(一覧表)の左端の列を検索する
検索の型、完全一致を探すのか?近似値を含めて探すのか?
? 行方向の検索は、HLOOKUP関数
? 検索する列が、左端で無い場合は、別の関数を使用する
*INDEX関数やLOOKUP関数など
? 近似値を含む場合は、リスト(一覧表)の左端の並びが、小さい順でなければならない
VLOOKUP(検査値,範囲,列番号,検索の型)
検査値
範囲の左端の列で検索するデータを指定
数値・文字列・論理値・セル参照など
範囲
セル範囲または配列定数を指定
この範囲内に、数値・文字列・論理値のいずれかのデータが入っているもの
列番号
範囲内で、求めたいデータが入力されている列の番号を、左端を1として指定
*小数点を含む数値の場合、小数点以下を切り捨てた整数とみなす
検索の型
完全一致 0=FALSE
近似値を含む TRUE=1(0以外の数値なら2でもOK 通常「1」を使う)
戻り値(求められる答え)
範囲の左端の列で、検索の型の設定に従い、検索値が検索され
発見されたセルと同じ行で、列番号で指定した列にあるセルの値が表示される
※ 検査値が左端の列の最小値より小さい場合 #N/Aエラー
※ 検索の型が、完全一致(FALSE=0)で検査値が見当たらない場合 #N/Aエラー
近似値を含む検索の場合 検索の型 TRUE=1
料金表などの場合は、近似値を含む検索になる場合が多い
(例) 重さ欄(E4セル)に対応する料金を、F4セルに表示
料金表から求める
この例の重さ「0」は、「0以上0.5未満」・「0.5」には「0.5以上1未満」の意味
* 検索する重さ「2.8kg」と全く同じ値は、左端の列に無い
* リスト(料金表)の左の列は、小さい順になっている
VLOOKUP関数を起動し
[関数の引数]ダイアログで、
・検査値は、E4セル
・範囲は、料金表A4:C9セル範囲
・列番号は、料金の列C列なので、左から3番目 「3」
・検索の型は、近似値を含む → TRUE=1

試験などでは、
会員ならば、割引一覧を適用し、割り引く などのように
IF関数とVLOOKUP関数を組み合わせさせる場合がある
(例)

回線プランが、「専用回線」の場合は、割引率一覧表を適用した割引率を、J列に表示する
=IF(H4="専用回線",VLOOKUP(G4,$B$4:$E$10,4,1),0)
※ この場合は、専用回線以外は、0% でしたが、別の割引率を適用する場合もある
すると
IF関数の偽の場合に、もう一度、VLOOKUP関数を入れ、別のリスト(割引率一覧)を検索させる
リストを列方向に検索して、対応する値を求める関数
ポイント
? 行方向の検索は、HLOOKUP関数
? 検索する列が、左端で無い場合は、別の関数を使用する
*INDEX関数やLOOKUP関数など
? 近似値を含む場合は、リスト(一覧表)の左端の並びが、小さい順でなければならない
VLOOKUP(検査値,範囲,列番号,検索の型)
範囲の左端の列で検索するデータを指定
数値・文字列・論理値・セル参照など
セル範囲または配列定数を指定
この範囲内に、数値・文字列・論理値のいずれかのデータが入っているもの
範囲内で、求めたいデータが入力されている列の番号を、左端を1として指定
*小数点を含む数値の場合、小数点以下を切り捨てた整数とみなす
完全一致 0=FALSE
近似値を含む TRUE=1(0以外の数値なら2でもOK 通常「1」を使う)
範囲の左端の列で、検索の型の設定に従い、検索値が検索され
発見されたセルと同じ行で、列番号で指定した列にあるセルの値が表示される
※ 検査値が左端の列の最小値より小さい場合 #N/Aエラー
※ 検索の型が、完全一致(FALSE=0)で検査値が見当たらない場合 #N/Aエラー
近似値を含む検索の場合 検索の型 TRUE=1
料金表などの場合は、近似値を含む検索になる場合が多い
(例) 重さ欄(E4セル)に対応する料金を、F4セルに表示
料金表から求める
この例の重さ「0」は、「0以上0.5未満」・「0.5」には「0.5以上1未満」の意味
* 検索する重さ「2.8kg」と全く同じ値は、左端の列に無い
* リスト(料金表)の左の列は、小さい順になっている
VLOOKUP関数を起動し
[関数の引数]ダイアログで、
・検査値は、E4セル
・範囲は、料金表A4:C9セル範囲
・列番号は、料金の列C列なので、左から3番目 「3」
・検索の型は、近似値を含む → TRUE=1
試験などでは、
会員ならば、割引一覧を適用し、割り引く などのように
IF関数とVLOOKUP関数を組み合わせさせる場合がある
(例)
回線プランが、「専用回線」の場合は、割引率一覧表を適用した割引率を、J列に表示する
=IF(H4="専用回線",VLOOKUP(G4,$B$4:$E$10,4,1),0)
※ この場合は、専用回線以外は、0% でしたが、別の割引率を適用する場合もある
すると
IF関数の偽の場合に、もう一度、VLOOKUP関数を入れ、別のリスト(割引率一覧)を検索させる