我有一张看起来像这样的表
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!
更新我在另一张表中重现了这个确切的错误。 VLOOKUP
在搜索值为数字时有效,但在使用字符串时始终失败。
答案 0 :(得分:25)
除非你用第四个参数指定“完全匹配”,否则VLOOKUP会做一些奇怪的事情,如下所示:
=VLOOKUP("S",B43:C48,2,FALSE)
来自Excel的帮助文件:
VLOOKUP(Lookup_Array中,则table_array,Col_index_num为,range_lookup)
如果
range_lookup
为TRUE,则table_array第一列中的值必须按升序排列:..., - 2,-1,0,1,2,...,AZ,FALSE ,是的;否则VLOOKUP
可能无法给出正确的值。如果range_lookup
为FALSE,则不需要对table_array进行排序。
还有:
range_lookup
是一个逻辑值,用于指定您是希望VLOOKUP
找到完全匹配还是近似匹配。如果为TRUE或省略,则返回近似匹配。换句话说,如果未找到完全匹配,则返回小于lookup_value
的下一个最大值。如果FALSE
,VLOOKUP
会找到完全匹配。如果找不到,则返回错误值#N/A
。
答案 1 :(得分:3)
另外,不匹配的格式类型会导致问题。 (一个单元格被格式化为包含数字,另一个单元格被格式化为包含文本)。请参阅此页面上的问题/解决方案#2: