Excel基于SKU映射规则自动生成对应商品名的公式实现方法
SKU与商品名自动化匹配实现方案
现有场景与痛点
- 已有固定SKU编码与商品名的映射规则,示例包括:
TS=Men’s Tee、PP=Men’s Pants、PT=Plain Pocket Tee、MS=Men's Shorts、B=Boxer、BB=Boxer Briefs - 核心需求:以C列存储的SKU原始字符串为判断依据,自动在B列输出对应的匹配商品名
- 原有方法缺陷:使用嵌套
IF+ISNUMBER+SEARCH的公式实现基础匹配,需要逐段手动录入每一条匹配编码和对应商品名,规则数量多的时候公式臃肿、维护效率极低 - 实际匹配效果参考:

- 此前查找的同场景参考教程仅针对单条固定匹配逻辑做说明,无法直接适配批量维护映射规则的需求
自动化实现逻辑
将所有映射规则从公式中剥离,做成独立可维护的规则表,后续调整规则只需要修改规则表内容,不需要反复调整单元格公式。
搭建独立规则表
找一块和现有数据区不冲突的空白列区域(比如F、G列),逐行录入映射关系:
- F列:存储所有需要匹配的SKU编码
- G列:存储对应SKU编码匹配成功后要返回的商品名
- 注意:长编码的规则要放在短编码的上方,例如
BB的规则行要在B的规则行上方,避免匹配时短编码优先触发导致错配
批量匹配公式
根据Excel版本选择对应公式,输入后下拉整列完成批量匹配:
Excel 365/2021及以上版本
B1单元格输入公式:
=LET( 规则区, F:G, XLOOKUP( TRUE, ISNUMBER(SEARCH(INDEX(规则区,,1), C1)), INDEX(规则区,,2), "未匹配" ) )
匹配逻辑与原有SEARCH用法完全一致,不区分大小写,只要C列的SKU字符串包含规则表对应的编码,就会返回匹配的商品名。
旧版Excel(无高版本函数支持)
B1单元格输入公式,按Ctrl+Shift+Enter触发数组计算后下拉填充:
=IFERROR(INDEX($G:$G, MATCH(TRUE, ISNUMBER(SEARCH($F:$F, C1)), 0)), "未匹配")
方案优势
- 规则维护零成本:后续新增、修改SKU映射关系,只需要调整F、G列的规则表内容,不需要反复修改单元格公式
- 匹配逻辑与原有公式完全对齐:支持模糊匹配SKU字符串任意位置的编码内容
- 无规则数量上限:哪怕有上百条SKU映射规则,公式也不需要做任何改动
内容的提问来源于stack exchange,提问作者raggedmane
相关产品推荐
相关产品推荐

