このようなテーブルがあります
B C
43 XS 6
44 S 11
45 M 16
46 L 21
47 XL 26
48 XXL 31
私は式を書きました:
`VLOOKUP("S",B43:C48,2)`
21の値を返しています。なぜですか。 11を返すはずです!
pdateこの正確なエラーを別の表に再現しました。 VLOOKUP
は、検索値が数値の場合に機能しますが、文字列を使用すると一貫して失敗します。
次のように、4番目の引数で「完全一致」を指定しない限り、VLOOKUPは奇妙なことを行います。
=VLOOKUP("S",B43:C48,2,FALSE)
Excelのヘルプファイルから:
VLOOKUP(lookup_value、table_array、col_index_num、range_lookup)
range_lookup
がTRUEの場合、table_arrayの最初の列の値は昇順で配置する必要があります。..、-2、-1、0、1、2、...、A-Z、FALSE、TRUE。そうでない場合、VLOOKUP
は正しい値を提供しない可能性があります。range_lookup
がFALSEの場合、table_arrayをソートする必要はありません。
そしてまた:
range_lookup
は、VLOOKUP
で完全一致と近似一致のどちらを検索するかを指定する論理値です。 TRUEまたは省略された場合、おおよその一致が返されます。つまり、完全一致が見つからない場合は、lookup_value
より小さい次に大きい値が返されます。FALSE
の場合、VLOOKUP
は完全一致を検索します。見つからない場合は、エラー値#N/A
が返されます。
また、フォーマットタイプが一致しないと問題が発生します。 (1つのセルは数値を含むようにフォーマットされ、もう1つのセルはテキストを含むようにフォーマットされます)。このページの問題/解決策#2を参照してください: