关于“数据查找”,表妹之前已经发布了N篇教程(想要学习的同学到文末【知识点】版块中进行查看),跟着表妹一起学习成长起来的老学员们也早已使用得驾轻就熟。不过,“学无止境”这句话永远是不变的真理,像什么“完全掌握了数据查找方法”的这种话,表妹就从来不敢夸下海口随便乱说,唯恐贻笑大方,被人打脸。本期推送,表妹就来给大家展示两个数据查找的“高级”案例,喜欢挑战极限的同学不妨来测试一下,看看自己是否在99%的行列之中~~下面开始讲解。
~~~~~~数据查找的分割线~~~~~~
案例一:通配符数据
【问题】VLOOKUP公式查找结果错误
-------------------------------------
公式返回结果不正确的根本原因就在于数据中的“*”号。在VLOOKUP函数眼中,查找数据D3中“*”并不是普通的文本,而是可以代表文本的通配符。之前我们在【推送28】中介绍过,通配符“*”可以代表多个字符,因此VLOOKUP认为查找数据“L7*2.55”、“L7*55”和“L7*5”其实是一样的。再根据VLOOKUP只返回相同查找值中“第一个”查找值对应结果的特点,所以最终公式统一返回了D2的对应价格“220”。
-------------------------------------
既然问题的根本原因是通配符“*”,那么只要规避了通配符,问题就自然可以解决了。
【方法一】使用SUBSTITUTE函数替换通配符“*”为文本“~*”
公式=VLOOKUP(SUBSTITUTE(D3,"*","~*"),$A$2:$B$12,2,0)
-------------------------------------
【方法二】使用不支持通配符查找的SUMPRODUCT函数
公式=SUMPRODUCT(($A$2:$A$12=D3)*$B$2:$B$12)
-------------------------------------
【方法三】使用不支持通配符查找的LOOKUP函数
公式=LOOKUP(1,0/($A$2:$A$12=D3),$B$2:$B$12)
-------------------------------------
解决了第一个“通配符数据”的查找案例,我们再来看第二个“大小写数据”的查找案例~~
案例二:大小写数据
【问题】VLOOKUP公式查找结果错误
-------------------------------------
公式返回结果不正确的根本原因就在于VLOOKUP函数不能区分查找数据中的大写文本和小写文本,所以在VLOOKUP函数眼中,查找数据D2和D3其实是一样的,再根据VLOOKUP只返回相同查找值中“第一个”查找值对应结果的特点,所以公式统一返回了D2的对应价格“189”。
-------------------------------------
既然问题的根本原因是VLOOKUP不能区分大小写,那么使用可以区分大小写文本的函数进行辅助查找,问题就自然可以解决了。
【方法一】使用可以区分大小写的SUBSTITUTE函数辅助查找
公式=VLOOKUP("",SUBSTITUTE($A$2:$B$12,D2,""),2,0)
PS:此公式为数组公式,执行运算需同时按下Ctrl+Shift+Enter三键
-------------------------------------
【方法二】使用可以区分大小写的EXACT函数辅助查找
公式=LOOKUP(1,0/EXACT($A$2:$A$12,D2),$B$2:$B$12)
-------------------------------------
以上就是数据查找的两个“高级”案例了。怎么样?有了高级案例的拓展补充,同学们的知识储备是不是有更上了一个台阶呢?欢迎留言告诉表妹哟~~原创不易,且看且珍惜~~
如果你觉得表妹的分享内容很实用,欢迎分享给其他小伙伴呦,独乐乐不如众乐乐嘛!长按二维码图片,识别图中二维码,关注“表妹的EXCEL”,每周一、三、五获取原创分享教程。加入“表妹的EXCEL群”,和勤奋好学的小伙伴们一起快乐地学习EXCEL吧!
微信公众号 QQ学习群