VLOOKUP函数是一个非常好用的查找函数,但由于种种原因,在实际使用时会遇到种种让人搞不明白的错误。平日经常碰到VLOOKUP()出错,有哪些V迷们都是凭感觉各处修改、各种尝试,从没想到从错误值入手去深究。于是我们把常遇到的vlookup错误问题来一次大整理,希望能对曾经受困扰的您有用。
一、函数参数使用错误。
第1种:第2个参数区域设置错误导致第三参数也错误
例1:如下图所示,根据姓名查找性别时产生错误
出错原因: vlookup函数第二个参数是查找区域,该区域的第1列有一个必备条件,就是查找的对象(A15),必须对应于区域的第1列。本例中是根据姓名查找的,那么,姓名列必须是在区域的第1列位置,而上述公式中姓名列是在区域A1:I6的第2列。,而性别也是位于该区域的第三列,所以公式应改为:
=VLOOKUP(A15,B1:I6,3,0)
第2种:第3个参数区域设置错误
例2如下图所示根据姓名查找岗位时产生查找错误。
出错原因:本例是根据姓名查找岗位,这个第3参数设置就错误了,我们根据查找值(排头兵)所在列(B列)作为第一列开始数数到岗位在第几列就是第几列,而不是从A列开始,所以公式应改为:
=VLOOKUP(A15,B1:E6,4,TRUE)
第3种:第4个参数少了或设置错误。
例3,如下图所示根据姓名查找岗位
出错原因:vlookup第四个参数为0时表示精确查找,为1或省略时表示模糊查找。如果忘了设置第4个参数则会被公式误以为是故意省略,按模糊查找进行。当区域也不符合模糊查找规则时,公式就会返回错误值。所以公式应改为。
=VLOOKUP(A15,B1:E6,4,0)或 =VLOOKUP(A15,B1:E6,4,)
注:当参数为0时可以省略,但必须保留“,”号。,千万不能少了我哦,对今天我就是来找存在感的
二、数字格式不同,造成查找错误。
第4种 查找为数字,被查找区域为文本型数字。
例4:如下图所示根据员工编号查找姓名,查找出现错误。
出错原因:在vlookup函数查找过程中,文本型数字和数值型数字会被认为不同的字符。所以造成无法成功查找。
解决办法:把查找的数字在公式中转换成文本型,然后再查找。即:
=VLOOKUP(A15&'',A1:I6,2,0)
第5种 查找格式为文本型数字,被查找区域为数值型数字。
例5:如下图所示根据员工编号查找姓名,查找出现错误
出错原因:也是和上面的例子中错误一样的,数字格式不一致
解决办法:把文本型数字转换成数值型。即:
=VLOOKUP(A15*1,A1:I6,2,0)
注:当然你也可以手工把文本转换成数值类型。
三、引用方式使公式复制后产生错误。
第6种 没有正确的使用引用方式,造成在复制公式后区域发生变动引起错误。
例6,如下图所示,当B15的公式复制到B16和B17后,B16查找结果显示错误,
出错原因:由于第二个参数A2:I11是相对引用,所以向下复制公式后会自动更改为A3:I12,而A16中的员工编号1所在的行,不在A3:I12区域中,从而造成查找失败。
解决办法:把第二个参数的引用方式由相对引用改为绝对引用即可。
B15公式改为:=VLOOKUP(A15,$A$2:$I$11,2,0)
四、多余的空格或不可见字符
第7种 数据表中含有多余的空格。
例7 由于A列员工编号中含有多余的空格,造成查找错误。
出错原因:多一个空格,用不带空格的字符查找当然会出错了。
解决办法: 1、手工替换掉空格。建议用这个方法
2 、在公式中用TRIM(CLEAN)函数替换空格而必须要用数据公式形式输入。数据量较大时候TRIM相当得劲了~~即:=VLOOKUP(A16,TRIM(A2:I6),2,0),同时按ctrl+shift+enter结束
第8种:类空格但非空格的字符。
在表格存在大量的“空格”,但又用空格无法替换掉时,这些就是类空格的不可见字符,直接在单元格中复制不可见字符粘贴到替换窗口,替换掉就可以啦。
第9种:不可见字符的解决办法
例: 如下图所示,B列看上去不存在空格和类空格字符,但查找结果还是出错。
出错原因:如果是从网页或数据库中导出的数据可能会带来不可见字符,造成了查找的错误。
解决办法:复制该列到空白单元格进行分列操作(数据 - 分列),可把不可见字符去掉,复制该区域到数据源
第10种:反向查找vlookup不支持产生的错误。
例10 如下图所示的表中,根据姓名查找工号,结果返回了错误。
出错原因:vlookup不支持反向查找。
解决办法:1 用if函数重组区域,让两列颠倒位置。
=VLOOKUP(A16,IF({0,1},A1:A6,B1:B6),2,0)
2 用index+match组合实现。
=INDEX(A1:A6,MATCH(A16,B1:B6,0))
第11种:通配符引起的查找错误
如下图所示,根据区间查找提成返回错误值。
出错原因:~用于查找通配符,如果在vlookup公式中出现,会被认为特定用途,非真正的~。
解决办法:用两个~~就可以表示查找~了,(在EXCEL中第一个~表示通配符,第二个才表示真正的~)相当于强制声明~是一个有含义的字符,这样才能得出正确的结果。在Excel中,如果表示文本的~,则需要更改为为~~所以公式可以修改为
=VLOOKUP(SUBSTITUTE(D2,'~','~~'),A1:B8,3,0)
第12种:vlookup函数第1个参数不直接支持数组形式产生的错误
例12:如下图所示,同时查找各个产品名称的单价,然后用SUM求和。
备注:进价明细中单价前标题是名称
出错原因:VLOOKUP第一个参数不能直接用于数组。
解决办法:利用N/T+IF结构转化一下数组,公式修改为:
=SUM(VLOOKUP(T(IF({1},$B$3:$B$7)),$F$3:$G$7,2,0)*$D$3:$D$7),同时按CTRL+SHIFT+ENTER结束
好啦,今天的VLOOKUP函数常见的12种错误就介绍到这里,您经常碰到哪种问题,希望您掌握了这些技巧可以在以后的工作中不再会被VLOOKUP公式所困扰了。
联系客服