如何在数据表中实现单个单元格部分匹配以自动归类支出?
基于关键词的支出自动归类实现方案
需求说明
我正在构建预算电子表格,需要实现基于关键词的支出自动归类:
- 信用卡账单提供交易描述
- 已建立按分类划分的常见支出数据库(分类区域为J1:AJ6)
- 希望通过部分匹配,将对应分类填充至I列
- 示例:含AMZN的交易需匹配对应关键词,并归类为"杂项"
简化数据示例
| 信用卡交易描述 | 期望归类结果 | 杂项 | 食品杂货 | 宠物相关 | 出行 | 娱乐 | 快餐 |
|---|---|---|---|---|---|---|---|
| NETFLIX.COM | 娱乐 | TARGET | H-E-B | CHEWY.COM | LYFT | NETFLIX.COM | CHICK-FIL-A |
| CHEWY.COM | 宠物相关 | AMZN | KROGER | UNITED | Prime Video | MCDONALD'S | |
| DOUBLETREE NEWCASTLE | SH SALON | UBER | |||||
| TARGET 00034215 | 杂项 | HILTON | |||||
| AMZN Mktp US*HB2XZ9AC3 | 杂项 | THEPARKINGSPOT | |||||
| MCDONALD'S F11327 | 快餐 | ||||||
| LEGENDS@NISSAN-ZIPPIN | |||||||
| LYFT *1 RIDE 09-22 | 出行 |
解决方案
在I列的第一个数据行(比如I13)输入以下数组公式,可自动完成整列的部分匹配归类:
=ARRAYFORMULA(IFERROR(LOOKUP(2,1/SEARCH($J$1:$AJ$6,A13),$J$1:$AJ$1),""))
公式说明:
SEARCH($J$1:$AJ$6,A13):在交易描述中查找关键词区域内的所有内容,返回匹配位置,不匹配则返回错误值1/SEARCH(...):将匹配位置转换为倒数,错误值变为#DIV/0!LOOKUP(2,1/..., $J$1:$AJ$1):定位到最后一个有效匹配对应的分类表头IFERROR(..., ""):未匹配到关键词时显示为空ARRAYFORMULA:公式自动应用至整列,无需手动下拉填充
内容的提问来源于stack exchange,提问作者givenss93
相关产品推荐
相关产品推荐

