Excel在String VLOOKUP失败

时间:2011-01-21 18:01:36

标签: excel excel-formula

我有一张看起来像这样的表

   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在搜索值为数字时有效,但在使用字符串时始终失败。

2 个答案:

答案 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的下一个最大值。如果FALSEVLOOKUP会找到完全匹配。如果找不到,则返回错误值#N/A

答案 1 :(得分:3)

另外,不匹配的格式类型会导致问题。 (一个单元格被格式化为包含数字,另一个单元格被格式化为包含文本)。请参阅此页面上的问题/解决方案#2:

Solutions to Three Common Problems when Using VLOOKUP()