VLOOKUP函数出错原因和解决方法
第一种:数据源没有绝对引用。
公式拖动时,查区域发送变化,导致不到查询值。所以锁定查询区域尤其重要,否则就会查询不到而返回#N/A。函数iferror的使用方法
第二种:指定第三参数错误,也会返回错误值。
例如以下公式:=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)
java正则表达式判断数字字母2.查询值和查询区域中的数据类型不统一,既有文本又有数值。
可以通过TYPE函数判断。(TYPY返回信息如下:数值=1;文字=2;逻辑值=4;错误值=16;数组=64)
这种情况下,只要将文本格式的数字转换成真正数字就可以正常查询了。转换成数字的方法有很多种:E11*1、E11/1、E11+0、E11-0、--E11、VALUE(E11)。使用时任选其中一种即可。
第四种,查询区域中没有查询值,所以显示#N/A。
通过=IFERROR(公式,””)可以将错误值屏蔽掉。
VLOOKUP函数的常见错误类型及解决方法
一、一般出现“#N/A”的错误,说明在数据表首列查不到第一参数的值。invalid name
这种错误值的处理一般有两种方案:1)核实查值是否拼写错误;2)改成用通配符查询:=VLOOKUP(A8&"*",A1:D5,2,0)
infrastructure 中文二、出现#REF!错误。
如果VLOOKUP函数的第三参数超过了数据表的最大列数或者小于1,将会这种情况下,修改正确的返回值列数即可。
clientwidth属性三、如果查的值不在数据表的第一列,也会出现错误值。
如下图,【工号】信息在数据表的第二列,要返回的是第一列的值,因此公式返回错误。
这种情况下,建议将【工号】列挪到数据表第一列,或使用INDEX+MATCH函数、LOOKUP函数等解决。
比如上图例子中,工号在数据表的第二列,需要查询位于左侧的姓名,就可以使用=LOOKUP(1,0/(B2:B8=A8),A2:A8)
四、如果查的值为数字,并且返回错误值时,多数情况是查值和原始数据表值的格式不一样。
如下图,B8单元格输入的是数字“111”,而A列存储的是文本型数字,两者不同,因此返回错误。
上面所述的这种错误,也有两种解决方法:
1)利用【分列】功能将A列的文本型数字转化为数字;
2)把VLOOKUP的第一参数加上&""转换为文本。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论