夜雨聆风学习资料网

ARTICLE · 1352645

被Excel坑得最惨的一次:VLOOKUP死活找不到,全怪这个“~”

被Excel坑得最惨的一次:VLOOKUP死活找不到,全怪这个“~”

VLOOKUP报错中最让人头疼的就是,在表格中明明有这条数据,但是它却冷冰冰地给你一个#N/A。公式没有错误,空格也检查过了,最后发现罪魁祸首居然是一个不起眼的波浪号!

一、Excel里这3个符号,不只是普通字符

❶ 星号*:表示可以匹配任意多个字符。例如“车间*”,车间一组和车间二组都可以被匹配到。

❷ 问号?:匹配任意一个字符。例如“车间?”可以匹配到“车间A”,但是不能匹配到“车间AB”。

❸ 波浪号~:转义符,用来使*、?、~恢复为普通的字符。

所以,要找到真正的带星号的“车间*”,不能直接写成“车间*”,而应该写成“车间~*”。否则Excel就会把星号当作通配符来使用,所有的以“车间”开头的内容都会被匹配到。

二、数据没丢,是“~”被Excel偷偷忽略了

如果查找值为D~E,在数据源中也明明白白地写有D~E,那么VLOOKUP为什么还找不到呢?

原因就是Excel会把~看作转义符,不是普通的文本。所以你看到的D~E,在函数中会被当作DE来处理。两边不对齐的话,#N/A 就会出现。

这个坑最阴的地方就是,数据看上去一切正常,用肉眼核对十遍也未必能找到问题。当你终于发现了它的时候,它已经把公式拆了N次,就连数据源都开始怀疑自己了。另外MATCH、COUNTIF使用通配符的函数也有可能被它绊倒。

三、解决办法很简单:一个“~”变成两个

要使Excel把波浪号当作普通的字符来处理,在波浪号之前加上一个~:

原内容:D~E

修改为:D~~E

数据很少,直接修改即可;数据很多的时候可以用Ctrl+H来替换:

查找内容:~~

替换为:~~

点击全部替换

只对公式中需要查找的值或者辅助列进行替换,不要把数据源和查找列一起替换。两边都是双波浪号,但是又不匹配。

不想修改原来的数值的话,可以使用公式来查找值:

=VLOOKUP(SUBSTITUTE(A2,"~","~~"),数据区域,返回列数,FALSE)

它会把A2中的单个~转换为~~,然后交给VLOOKUP来查找,原来的表格不需要改动。

四、记住一个口诀,下次少查半小时

星号、问号要查找的时候,在前面加上波浪线;波浪线本身要查找的时候,两个一起上。

下次再遇到“数据明明存在,但是函数偏偏说是不存在”的情况时,不要急于删除公式重新编写。先看查找值中是否有*、?、~等符号,一般情况下,造成问题的就是这些小符号。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料