如何通过部分文本匹配实现Excel表格列映射?
实现模糊匹配映射简化名称的Excel解法
针对你要用Table2的关键词匹配Table1混乱名称、生成简化名称的需求,直接用带数组逻辑的XLOOKUP或者INDEX+MATCH就能搞定,不用纠结反向通配符的问题:
方法1:XLOOKUP公式
在Table1的Name_Simplified列第一个单元格(比如B2)输入以下公式,下拉填充即可:
=XLOOKUP(TRUE,ISNUMBER(SEARCH(Table2[Contains_Name],A2)),Table2[Name_Simplified],"")
公式逻辑:
SEARCH(Table2[Contains_Name],A2):逐个检查Table2里的关键词是否包含在当前原始名称中,返回匹配位置(数字)或错误值ISNUMBER(...):把上面的结果转成布尔数组(匹配为TRUE,不匹配为FALSE)XLOOKUP(TRUE,...):找到第一个TRUE对应的Table2里的简化名称
方法2:INDEX+MATCH公式
如果你的Excel版本不支持XLOOKUP,用这个替代:
=INDEX(Table2[Name_Simplified],MATCH(TRUE,ISNUMBER(SEARCH(Table2[Contains_Name],A2)),0))
公式逻辑:
- 核心逻辑和XLOOKUP一致,用MATCH找到第一个匹配关键词的位置,再用INDEX提取对应的简化名称
测试下来,这个逻辑完全符合你的需求:不管原始名称里关键词在开头、中间还是结尾,只要包含Table2里的关键词,就能正确映射出对应的简化名称。
内容的提问来源于stack exchange,提问作者Dice_Rolls
相关产品推荐
相关产品推荐

