Vlookup公式出错,问同事们都不知道,难道是bug?

举个工作中的例子,左边是商品的价格表 , 现在我们要查找匹配部分产品的价格

Vlookup公式出错,问同事们都不知道,难道是bug?

通常我们会使用vlookup公式来查找匹配,我们输入的公式是:
=VLOOKUP(E2,B:C,2,0)
Vlookup公式出错,问同事们都不知道,难道是bug?

但是我们发现,这个结果是错的,结果明明是8699,查找结果却是11899,这是为什么呢,问了办公室同事都觉得奇怪, 是不是出bug了?

1、出错原因分析

很明显不是bug,是我们忽略了一个点 , 那就是通配符问题,在excel中 , 有3个通配符,分别是
通配符
意义
*
任意多个字符
?
任意单个字符
~
【Vlookup公式出错,问同事们都不知道,难道是bug?】转义符
所以当我们的查找值是iPhone*Xs时,表示以iPhone关键词开头 , 以Xs结尾的数据都是符合要求的,所以会匹配到上面的一条数据 , 得到的结果是11899
Vlookup公式出错,问同事们都不知道,难道是bug?

2、如何正确匹配通配符

那遇到通配符的时候,如果正常的匹配到我们想要的结果呢?
通配符
意义
字符本身
*
任意多个字符
~*
?
任意单个字符
~?
~
转义符
~~
那我们就需要使用~*去代替*号进行查找匹配,我们可以使用substitute公式
=SUBSTITUTE(E2,"*","~*")
可以将*号,替换成~*文本
Vlookup公式出错,问同事们都不知道,难道是bug?

然后我们再使用vlookup就可以得到我们想要的结果了:
=VLOOKUP(SUBSTITUTE(E2,"*","~*"),B:C,2,0)
Vlookup公式出错,问同事们都不知道,难道是bug?

下次遇到通配符查找匹配的时候,你就不会犯错了,动手试试吧~!

相关经验推荐