MATCH函数使用数组Lookup_Value对单单元格执行通配符匹配的可行性咨询
问题内容
我想咨询是否可以在MATCH函数中使用数组类型的Lookup_Value,而非单个Lookup_Value对单个目标项执行匹配?也就是遍历数组Lookup_Value中的所有元素,判断其中是否存在某一个元素与Lookup_Array(此处为单个单元格而非数组)匹配。
由于本次是通配符搜索场景,必须使用数组Lookup_Value中的所有元素匹配单个目标项,无法反向执行匹配操作。
如下方示例中,*Amazon*可以匹配“Amazon AWS 1”与“Amazon Webservices Invoice”。

解答
完全可以实现你需要的匹配逻辑,具体操作方法如下:
- 核心公式逻辑:利用
MATCH支持数组参数的特性,搭配ISNUMBER和OR函数完成判断,通用公式写法为:=OR(ISNUMBER(MATCH(通配符数组区域/常量数组, 目标单个单元格, 0))) - 版本适配说明:
- 如果你使用Microsoft 365、Excel 2021及以上支持动态数组的版本,直接输入公式回车即可得到正确结果
- 如果你使用更早的旧版Excel,输入公式后需要按
Ctrl+Shift+Enter三键组合触发数组计算,才能返回正确结果
- 注意事项:必须将
MATCH的第三个参数设置为0,只有精确匹配模式才支持通配符匹配,使用1或-1的排序匹配模式会得到错误结果。
内容的提问来源于stack exchange,提问作者Mturks83
相关产品推荐
相关产品推荐

