查找值自带excel通配符,vlookup函数要怎么精确查找?

上一篇文章:信息不完整Vlookup函数怎么查询,excel通配符来搞定讲了当第一个参数查找值信息不完整时,vlookup可以借助通配符这种模糊查找的方式来实现查找。原因是通配符可以代表其它任意字符假装将未知的信息补充完整。

既然通配符可以这样妙用,那么有朋友就问了:万一我的查找值自身就包含了通配符,那它就会因此被视为模糊查找,找到的结果可能就不对了。怎么避免这种情况呢?

思考下,你已经知道通配符可以代表其它任意字符,你也知道只要你的字段中含有通配符,查找时它一定会发挥这一功效。可是你现在想要精确查找,所以你需要它只代表它自己。

怎么实现呢?把所有的通配符替换为“~通配符”,就可以让通配符变成普通的字符,它就可以做自己了。

来举个例子看看:根据F2的门店编码“BA*00060”在A:B查找门店名称。

你可能会说,要查找还不简单,于是不管三七二十一,套用vlookup函数:

噢,是南昌麦德龙店。可是你再稍微仔细观察一下查找区域,会发现F2的编码明明对应的是上海世博店,可是怎么查找不对呢?

再去看一眼南昌麦德龙店对应的门店编码:后面部分与F2是一致的。所以可以推断:查找时,F2应该是首先识别到了A4,然后就不往下继续找,于是就返回了A4对应的门店名称。(vlookup查找的逻辑是只查找首个结果)

可是为什么查找时,F2遇到A4就停住了呢?这当中就是F2中的通配符星号(*)在作祟。因为通配符星号(*)可以代表多个字符,所以F2中的星号就意味着其后的“00060”前面可以有任意信息。而A4相比F2,正好只是在它前面多了个“BA”,二者可以匹配。

好,现在知道症结在哪里,就好办了。我们试试将“*”替换为“~*”。怎么替换呢?

这里要来介绍一个替换函数:substitute。

首先,它的用途:顾名思义,替换函数,它可以将字段中指定的内容替换为新的内容。

其次,它的语法:这是一个文本函数,有4个参数,前3个是必需的,第4个可缺省。

第1个参数,是你需要替换的完整字符串;第2个参数,是完整字符串中现有需要被替换的老字符串;第3个参数,是用来替换老字符串的新字符串;第4个参数,是表示要替换第几次出现在完整字符串中的老字符串。如果省略,则表示所有老字符串都要被替换。

好,现在一切准备就绪了,我们接着回到这个例子:只需要对第一个参数用substitute将通配符“*”替换成“~*”即可。

关于这个公式,需要注意的是:”*”、”~*”是文本,所以都需要加上双引号。

好,到这里,今天的主题就讲完了。结合昨天的文章,你应该对通配符有比较清晰的理解。其实,通配符往往在查找中用得比较多,所以除了vlookup查找会用到,直接通过查找(Ctrl+F)或替换(Ctrl+H)也会用到。

阅读已结束,喜欢的话就点个赞吧
注册坚果云网盘
还有其他问题,可以咨询小坚果咨询小坚果
赞(0)
网站部分内容和图片来源于网络如有侵权请联系我们删除:坚果芸 » 查找值自带excel通配符,vlookup函数要怎么精确查找?
分享到: 更多 (0)
查找值自带excel通配符,vlookup函数要怎么精确查找?

本文链接:查找值自带excel通配符,vlookup函数要怎么精确查找?https://content.officeapi.cn/22876.html

坚果云 便捷、安全的网盘产品

免费试用下载客户端