VLOOKUP函数返回错误值怎么办?

08-03

  VLOOKUP函数 返回错误值的原因和解决方法。

  一. VLOOKUP函数基本语法

  =VLOOKUP (lookup_value, table_array,col_index_num, [range_lookup])

  这个太复杂了哦,看鹅理解的VLOOKUP函数中文语法吧:

  =VLOOKUP(查找值,数据源,第几列,模糊查找1/精确查找0)

  二. 实例说话

  接下来,先看一个VLOOKUP函数的应用实例吧。

  通过菜名查询库存数量。

  C11单元格公式如下:

  =VLOOKUP(B11,$B$3:$D$6,2,0)

  这样的用法大家都很熟悉了,可是VLOOKUP函数也有不听话的时候,有时会返回错误值#N/A。这是怎么回事呢?咱们来看看出现的原因和解决方法:

  第一种:数据源没有绝对引用。

  公式拖动时,查找区域发送变化,导致找不到查询值。所以锁定查询区域尤其重要,否则就会查询不到而返回#N/A。

  第二种:指定第三参数错误,也会返回错误值。

  例如以下公式

  =VLOOKUP(E11,$C$3:$D$6,3,0)

  这里的查询区域只有C、D两列,而指定返回的列是3,明显超出查询区域范围,Excel 就晕了,因此就会显示#REF!

  第三种:查找值与数据源中的数据不一致。

  1.有空格。

  可以双击单元格,查看最后一个字符后面是否有空格或者是在编辑栏公式栏里看。

  解决方案:

  1) 复制一个数据源,粘贴在公式的查找条件里。

  2) 直接通过函数TRIM去掉空格

  C11=VLOOKUP(TRIM(B11),$B$3:$D$6,2,0)。

  3) 如果ERP系统导出来的数据包含不可见字符,通过CLEAN 函数处理一下,一般即可正常查询。

  如:

  =VLOOKUP(CLEAN(B11),$B$3:$D$6,2,0)

  2.查询值和查询区域中的数据类型不统一,既有文本又有数值。

  可以通过TYPE函数判断。

  TYPY返回信息如下:

  数值=1;文字=2;逻辑值=4;错误值=16;数组=64

  这种情况下,只要将文本格式的数字转换成真正数字就可以正常查询了。

  转换成数字的方法有很多种:

  E11*1

  E11/1

  E11+0

  E11-0

  --E11

  VALUE(E11)

  使用时任选其中一种即可。

  第四种,查询区域中没有查询值,所以显示#N/A。

  通过=IFERROR 公式,””)可以将错误值屏蔽掉。