[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.