Power Query模糊匹配:将匹配的分类去重合并至交易表新列
交易表分类匹配解决方案
需求说明:检查交易表(Transaction Table)中cargo列的值是否与分类表(Categories table)的Item keywords匹配;若匹配,将对应Item的Category添加至交易表的新列;若存在多个匹配结果,需将所有不重复的分类用逗号分隔合并到该列。
Google Sheets 实现方案
在交易表的目标新列(如D2单元格)输入以下公式,下拉填充至所有行:
=TEXTJOIN(", ", TRUE, UNIQUE(FILTER(Categories!$B$2:$B, ISNUMBER(SEARCH(Categories!$A$2:$A, Transaction!C2)))))
公式解析
SEARCH(Categories!$A$2:$A, Transaction!C2):遍历分类表的所有关键词,检查是否在当前交易的cargo内容中出现,返回匹配位置或错误值FILTER(Categories!$B$2:$B, ...):筛选出所有匹配关键词对应的分类值UNIQUE(...):对筛选出的分类去重,避免重复结果TEXTJOIN(", ", TRUE, ...):将去重后的分类用「逗号+空格」连接成字符串,TRUE参数会自动忽略空值
可选优化(处理无匹配场景)
如果需要给无匹配的行添加默认提示,可嵌套IFERROR:
=IFERROR(TEXTJOIN(", ", TRUE, UNIQUE(FILTER(Categories!$B$2:$B, ISNUMBER(SEARCH(Categories!$A$2:$A, Transaction!C2))))), "未匹配分类")
注意事项
- 请根据实际数据范围调整公式中分类表的列引用(
Categories!$A$2:$A、Categories!$B$2:$B)和交易表的cargo列引用(Transaction!C2) - 关键词匹配为模糊匹配(不区分大小写),若需要精确匹配,可将
SEARCH替换为EXACT并调整逻辑
内容的提问来源于stack exchange,提问作者Miguel de las Nieves
相关产品推荐
相关产品推荐

