为啥用vlookup就数据错误(使用vlookup出现错误)

VLOOKUP在查找的时候,明明数据中有,为啥查找不到,而是报#N/A错误呢?我总结了常见的出错的三种情况以及解决方法。

VLOOKUP报#N/A错的根本原因

查找值(第一个参数)在查找区域(第三个参数)中的第一列不存在。

原因一:数据类型不同

主要是指数字和文本,类型不同,也会认为是不同的值,所以需要将其类型进行统一。

存在2种情况:

1)查找值为文本,查找区域第一列中是数字

公式1:=VLOOKUP(--H2,A2:E7,5,0)

公式2:=VLOOKUP(H2*1,A2:E7,5,0)

公式3:=VLOOKUP(VALUE(H2),A2:E7,5,0)

文本转数字的方法:--,*1,value(值)

2)查找值为数字,查找区域第一列中是文本

公式:=VLOOKUP(TEXT(H3,"0"),A2:E7,5,0)

数字转文本的方法:text(值,格式)

这里面涉及到了数据类型的转换的知识,以及自定义格式的内容,在这里就不展开说了,后期会出对应的文章,大家按照上方的公式套用就可以使用。

原因二:数据中有空格或者不可打印字符

数据中有空格或者不可打印字符,也会导致数据不一致,需要将其清除

1)数据有空格:将空格替换为空

SUBSTITUTE(要处理的文本,需要被替换的旧字符,替换旧字符的新字符,替换第几个):替换指定字符;如果第4个参数省略,则替换所有的旧字符

公式:=VLOOKUP(SUBSTITUTE(D2," ",""),A2:B11,2,0)

2)数据有不可打印字符:将其删除

CLEAN(单元格):删除不可打印的字符

公式:=VLOOKUP(CLEAN(D3),A2:B11,2,0)

如果是数据区域第一列有空格或者不可打印字符,我们对整列进行替换清除即可,如果空格和不可打印字符都有,在SUBSTITUTE外套一个CLEAN即可0--CLEAN(SUBSTITUTE())

原因三:数据有通配符

查找值有通配符,不会将其当做正常的字符去使用,他有自身的含义,想要查找到,需要将其变成普通的字符去使用。

公式:=VLOOKUP(SUBSTITUTE(D2,"~","~~"),A2:B11,2,0)

公式解释:

1)通配符:在Excel中常见的通配符有3种

类型

含义

示例

星号(*)

代表多个字符

赵*-以赵开头的字符,后面字符个数不限

钱*三-以钱开头三结尾的字符,中间字符

问号(?)

代表单个字符

赵?-以赵开头的2个字符

钱??三-以钱开头三结尾的4个字符,中间2个字符

波形符(~)

取消通配符的通配性

使用在通配符前面,将通配符当做普通字符使用

~*;~?;~~

2)SUBSTITUTE(上方看语法哟)

整体就是将通配符(~),替换(SUBSTITUTE)成(~~),将其当做普通字符去进行查找即可。

注意事项:

当数据中有通配符时,我们需要去判断是否将通配符当做普通字符去使用呢?因为不同的要求,公式和结果可能就不相同。

1)当通配符去使用:星号(*)代表多个字符,XX-YYY1*4就是只要是XX-YYY1开头和4结尾的字符串,找的第一个满足条件的是XX-YYY1*104,他对应的目标值就是365。

公式:=VLOOKUP(E2,A2:C11,3,0)

2)当普通字符去使用:找到和其一模一样的查找值;将其替换成~*即可当做普通字符去使用。

公式:=VLOOKUP(SUBSTITUTE(E3,"*","~*"),A2:C11,3,0)

扩展:VLOOKUP与通配符搭配使用实现模糊匹配

在左侧数据中找到邮政所对应的金额放在黄色区域中,但是查找值是简称,而查找范围里是全称,但是只要带"邮政"2个字即可,不管前后有多少字符,所以前后可以拼接上(&)通配符星号(*)。

公式:=VLOOKUP("*"&D2&"*",A2:B11,2,0)

VLOOKUP的内容终于告了一个段落,目前写了5篇关于VLOOKUP的内容了,这4篇文章(日常工作中VLOOKUP的多种使用场景大揭秘(一) 日常工作中VLOOKUP的多种使用场景大揭秘(二) 日常工作中VLOOKUP的多种使用场景大揭秘(三) 日常工作中VLOOKUP的多种使用场景大揭秘(四)) 是VLOKUP的基本用法和使用场景的介绍,有兴趣的小伙伴,可以看一下,这些内容都是俺一个个去总结,去敲出来,希望可以帮助到大家,大家有什么问题,也可在评论区留言哟~

(0)

相关推荐