[[20090204223708]] 『Vlookupの値が・・・?』(還暦) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Vlookupの値が・・・?』(還暦)

    <sheet1>
     A       B
    品番   数量
 1   700      #N/A
 2   800      #N/A
 3   900      #N/A
 4  1000       50
 5  1015       50
 6  1020       60
 7  1030       70
 8  1035       70
 9  1040       80

   <sheet2>
     A       B
    品番   数量
 1  1000       50
 2  1020       60
 3  1030       70
 4  1040       80

 上の様な表を作っています
 お聞きしたいことはvlookupでsheet1のB1には
 =vlookup(A1,sheet2$A$1:$B$4,2,1)がはいっています。
 ここでお聞きしたいのですが、
 sheet1のB5とB8の値がなぜこの数字になるのか
 わかりません。どなたか教えてください。
 宜しくお願い致します
       


 以下、ヘルプからの引用です。

 >VLOOKUP(検索値,範囲,列番号,検索の型)
 >検索の型   
 > 検索値と完全に一致する値だけを検索するか、その近似値を含めて検索するかを、論理値で指定します。
 > TRUE を指定するか省略すると、検索値が見つからない場合に、検索値未満で最も大きい値が使用されます。
 > FALSE を指定すると、検索値と完全に一致する値だけが検索され、見つからない場合はエラー値 #N/A が返されます。

 また、論理値を求められる場面に数値が使われた場合、Excelは「0」を「False」、「0以外」を「True」と扱います。
 ですので、「=vlookup(A1,sheet2$A$1:$B$4,2,1)」と「検索の型」に「1」を指定しているので「True」を指定しているものとして
 扱われるため「検索値が見つからない場合に、検索値未満で最も大きい値が使用されます」となります。
 (独覚)

 せっかく書いたので、載せておきます。

 sheet1のB5とB8はどのような結果になって欲しいのですかね?

 VLOOKUP関数は「VLOOKUP(検索値,範囲,列番号,検索の型)」と書きますね。
 検索の型に 
   1   を入力(現在の状態)
   TRUE を入力
   何も入力しない
 とした場合
 「検索値が見つからない場合は、検索値未満の最大値が使用されます。」
 という関数です。

 検査値「1035」はsheet2のA1:A4の範囲に見つからないので
 検査値未満「1000,1020,1030」の最大の値「1030」が使用されます。
 そして、「1030」の隣の列の数量「70」が返されます。

 番号が一致した時にのみ数量を返したい場合は
 検索の型に「FALSE」を指定してください。

 この場合、検索値が見つからなかったらエラーになりますので
 エラー処理が必要になってきます。

 記憶に新しいところで、こちらは似ていると思うので、ご参考に。
[[20090201101341]]『関数式を教えて下さい。』(今年から) 

 (HANA)

 (独覚)さん (HANA)さん
 有難うございました。
 「False」、「True」を履き違えていました
 このような親切な説明で本当に良くわかります。
 またつまらない質問をするかも知れませんが
 よろしくお願いします。
   還暦より

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.