如何在Excel中实现列间关键词部分匹配并完成交易分类?
信用卡账单分类:公式实现关键词部分匹配
核心需求
Sheet1的「信用卡交易描述」列包含商家/关键词,需匹配Sheet2中对应关键词的分类,自动填充「分类(待填充)」列,每月200笔交易、50个分类,适合批量公式处理。
公式实现方法
方法1:INDEX+MATCH+SEARCH(推荐,稳定性更高)
在Sheet1的C2单元格(第一笔交易的分类单元格)输入以下公式,下拉填充至所有行:
=IFERROR(INDEX(Sheet2!$B$2:$B$5,MATCH(TRUE,ISNUMBER(SEARCH(Sheet2!$A$2:$A$5,Sheet1!A2)),0)),"未匹配")
- 公式拆解:
SEARCH(Sheet2!$A$2:$A$5,Sheet1!A2):检查Sheet2的每个关键词是否出现在当前交易描述中,返回匹配位置或错误值ISNUMBER(...):将搜索结果转换为TRUE(找到关键词)或FALSE(未找到)MATCH(TRUE,...):定位第一个匹配关键词在Sheet2中的行号INDEX(Sheet2!$B$2:$B$5,...):根据行号返回对应的分类IFERROR(...):处理无匹配的情况,返回自定义文本(示例为「未匹配」,可改为空值"")
方法2:VLOOKUP结合通配符
若需使用VLOOKUP,可通过数组公式实现反向匹配(交易描述包含关键词):
在Sheet1的C2单元格输入以下公式,旧版Excel按Ctrl+Shift+Enter确认,新版Excel直接回车即可,之后下拉填充:
=IFERROR(VLOOKUP("*"&INDEX(Sheet2!$A$2:$A$5,MATCH(TRUE,ISNUMBER(SEARCH(Sheet2!$A$2:$A$5,Sheet1!A2)),0))&"*",Sheet2!$A$2:$B$5,2,FALSE),"未匹配")
- 公式拆解:
- 先通过
INDEX+MATCH+SEARCH定位交易描述中包含的关键词 - 用
"*"&关键词&"*"构造通配符规则,让VLOOKUP在Sheet2的关键词列中匹配到对应项,返回分类
- 先通过
注意事项
- 用绝对引用(如
$A$2:$A$5)锁定Sheet2的关键词和分类范围,避免下拉填充时范围偏移 - 若同一交易描述匹配多个关键词,公式会返回第一个匹配的分类,需提前调整Sheet2的关键词顺序,优先放置更精准的关键词
- 可根据需求修改
IFERROR中的默认返回内容
内容的提问来源于stack exchange,提问作者mattsmith5
相关产品推荐
相关产品推荐

