VLOOKUP函数 返回错误值的原因和解决方法。
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 公式,””)可以将错误值屏蔽掉。