\”为什么vlookup函数会给我错误的结果?难道这是Excel的bug?\”
单元格D3,D4中分别是要查询的字段,但E3、E4中的查询结果,却不是正确的结果。这是为什么呢?
其实,这是因为你遇上了 通配符 。
字段中的问号\” ? \”和星号\” * \”都是Excel中的通配符。他们可以被用在诸如Find/Replace, Search, Match以及Lookup这样的函数中,具体说来:
? -代表单个字符
* -代表任意长度的字符
回到上述的例子中,在进行第一个vlookup时,“ 裤子?8 ”意味着这样的一个字符串:
以“ 裤子 ”开始
以“ 8 ”结尾
两者间还有一个字符
所以造成在使用vlookup时,Excel首先匹配到了A5单元格的“ 裤子28 ”。
而在进行第二个vlookup时,“ 裤子*9 ”则首先让程序匹配到了A4单元格的“ 裤子蓝色29 ”。
因此,如何才能在使用vlookup查询包含“?”或“*”这样的字符串呢?
你需要在“?”/“*”前添加一个“ ~ ”
如图所示,在通配符前添加“~”后,就能查询到正确的结果了。
不过,如果你不记得在查询前给单元格中的通配符加上~,那你可以使用SUBSTITUTE函数。
=VLOOKUP(SUBSTITUTE(lookup_value,\”*\”,\”~*\”),$A$3:$B$7,2,0)
excel通配符怎么使用,如何使用通配符对表格进行查找替换?
比如countif,sumif会使用到通配符,只有两种通配符:
?
代表一个字符
*
代表很多字符。
举例
在a1、a2分别输入
![[Excel]当lookup遇上通配符](https://www.jukendg.com/wp-content/uploads/2025/02/c6597ee73ff70e72334b485a72940255.jpeg)
a3br
a4br
在b1分别输入
=countif(a1:a2,\”a?br\”)
=countif(a1:a2,\”a*\”)
excel 的通配符
使用WPS Office打开表格,全选整个区域。
通配符“*”代表任意多个字符,这里在查找框输入“可乐***”,点击“查找全部”。
(注意:通配符“*”需要在英文状态下输入)
即可查找出所有包含“可乐”的单元格。
通配符“?”代表一个字符,在查找内容中输入“可乐?”,点击“查找全部”。
(注意:通配符“*”需要在英文状态下输入)
即可查找“可乐”后有三个字符的单元格。
(注意:通配符也可放在前面使用)
举例说明。
有表格如图所示。
第一步:选择A2:A10,点击条件格式,设置单元格数值<=25时,填充色为黄色。如图所示:
设置后结果如图:
第二步:选择C1单元格后,点击筛选。设置筛选条件=包含“s*s”,如图所示:
按确定后结果如图:
第三步:将筛选条件修改为 =包含 s?s后结果如图:
从第二步和第三步的差异可以看到通配符* 和?的区别。
以上就是关于[Excel]当lookup遇上通配符全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!