乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel通配符-当vlookup函数遇上通配符,而我还是选择lookup函数

excel通配符-当vlookup函数遇上通配符,而我还是选择lookup函数

作者:乔山办公网日期:

返回目录:excel表格制作

有朋友提到在使用vlookup函数查找的时候结果为什么是错的?明明查找规格都是一样的,并且没有任何格式差别,怎么会出错了呢?


看到朋友发来的文件才知道原来是通配符惹的祸?在excel中星号(*)是有特别意义的,如果你需要查找的内容中包含星号,那么星号的本身是(~*),这样才能正确查找!


  • 非通配符:~加在通配符*或?前,此时*或?不再作为通配符使用,仅仅作为其符号本身这个字符
  • 通配符:如果不加~,作通配符使用,分别代表任意个字符和任意一个字符!
比如下面两个典型的查找失败案例

vlookup函数查找失败案例


  • 案例1:查找数量

在d3中输入公式=VLOOKUP(D4,$A$4:$B$6,2,0),这是vlookup函数的最基本的用法,语法结构就跟大家写了!


在excel中只会理解【女童连衣裙*XL】为以女童连衣裙为开头或者以XL为结尾的关键词,所以第一个案例中查找的结果是第一个品名的数量15,导致出错


  • 案例2:根据应纳所得税查找对应区间税率
此案例中的~并非是作为通配符使用,查找数字区间的~本身,就要在前面添加一个波浪号(~)才能正确查找!

当在有通配符*存在的情况下,很多函数可能都会出错!比如使用SUMIF函数求和、COUNTIF函数!唯独lookup函数在查找的时候都能准确!


  • 好了,看一下文章开头说的案例中根据【产品规格查询比重】的正确解法吧,在I2中输入公式

=LOOKUP(1,0/(G2=库存表!$D:$D),库存表!$E:$E)


公式解释:判断G2是否等于d列,如果相等就是true,否则就是Flase,在excel中true是代表1,Flase代表0,将0/0转为错误,根据lookup函数【以大欺小】的查找规则,将返回0对应的值(即返回小于1的最大值)
  • lookup函数的固定查找套路,适用于单条件、多个条件查找

=lookup(1,0/((条件1)*(条件2)*(条件3)……(条件n)),返回结果所在区域)


本案例中刚好还有一个求和,如果直接输入公式

=SUMIF(入库明细!G:G,D2,入库明细!R:R)


得到的结果明显是错误的,sumif函数将前2个规格的产品默认为一个了


正确的解法:当然前面的失败案例使用vlookup函数也是可以的,就是需要套用一个subtitute函数将*替换为他的本身(~*)

关于今天的分享就到这里了,小编觉得lookup函数才是我们真正需要的查找函数!如果你还有疑问,欢迎在评论区留言交流一下!你的转发/赞赏将会是我继续创作的动力!


lookup函数以大欺小规则的其他用法:

从办公室文员那里发来的员工休假管理表,人事经理看了之后就怒了


lookup函数vs数据透视表计算考勤加班


相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网