Google Sheets:将VLOOKUP改为包含匹配而非精确匹配
解决方案:实现包含式匹配的数组公式
替换你原有的公式为以下版本,即可实现引用表A列的值包含在主表B列值中时的匹配:
=ARRAYFORMULA(IF(B2:B="", "", IFERROR(INDEX(Reference!B:B, MATCH(TRUE, SEARCH(Reference!A:A, B2:B), 0)), "Unknown")))
公式说明
SEARCH(Reference!A:A, B2:B):逐个检查引用表A列的内容是否包含在主表B列的对应单元格中,找到则返回位置数字,未找到返回错误值MATCH(TRUE, ..., 0):定位第一个满足包含条件的引用项位置INDEX(Reference!B:B, ...):根据匹配位置返回引用表B列的对应值IFERROR(..., "Unknown"):无匹配项时返回指定的"Unknown"文本ARRAYFORMULA:让公式批量作用于B列所有非空单元格
示例验证
针对你给出的测试场景:
- 主表单元格值为
Foo时,会匹配到引用表中的Foo和Fo,公式返回第一个匹配项对应的结果Foo - 主表单元格值为
Bar时,会匹配到引用表中的ar,返回对应结果 - 主表单元格值为
Go时,无匹配项,返回Unknown
内容的提问来源于stack exchange,提问作者user765151
相关产品推荐
相关产品推荐

