You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VLOOKUP使用????作为查找值时匹配任意四字符内容而非精确匹配如何解决

问题根因

Excel的VLOOKUP即使在第四个参数设为FALSE(精确匹配)的模式下,也会默认识别通配符:

  • ? 代表匹配任意1个单字符
  • * 代表匹配任意长度的任意字符
  • ~ 为通配符转义符,放在?或*前可以将其转为普通文本处理

你遇到的问题就是查找值????被识别成了通配符规则,匹配到了长度为4的Jack,而非精确匹配????文本本身。

解决方案

方案1:改造VLOOKUP公式,对通配符转义

无需修改第四个匹配参数,只需用SUBSTITUTE函数对查找值中的通配符做转义处理即可:

=VLOOKUP(SUBSTITUTE(B2,"?","~?"),A:A,1,FALSE)

如果还要兼容*作为普通文本的查找场景,可以嵌套两层替换:

=VLOOKUP(SUBSTITUTE(SUBSTITUTE(B2,"?","~?"),"*","~*"),A:A,1,FALSE)

该方案兼容所有Excel版本,不会影响普通文本的查找结果。

方案2:使用XLOOKUP实现无通配符精确匹配

如果使用Excel 2021及以上版本/365版本,可以直接使用XLOOKUP的完全精确匹配模式,默认不会识别通配符:

=XLOOKUP(B2,A:A,A:A,#N/A,0)

公式第五个参数设为0即为完全精确匹配,会直接对比文本的字面内容,不会将?、*当做通配符处理。

内容的提问来源于stack exchange,提问作者Namak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:06:03