You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Excel公式通过字符串末尾字符识别产品类别?

Excel 产品类别识别公式实现

核心兼容版公式(支持所有Excel版本)

假设产品编号位于A2单元格,在B2输入以下公式后下拉填充:

=IF(LOWER(RIGHT(A2,3))="abc","Book",IF(OR(IFERROR(SUMPRODUCT(--MID(RIGHT(A2,3),ROW(1:3),1)),0)=17,IFERROR(SUMPRODUCT(--MID(RIGHT(A2,2),ROW(1:2),1)),0)=17),"Keyboard",IF(OR(IFERROR(SUMPRODUCT(--MID(RIGHT(A2,3),ROW(1:3),1)),0)=18,IFERROR(SUMPRODUCT(--MID(RIGHT(A2,2),ROW(1:2),1)),0)=18),"Mouse","Unknown")))

公式逻辑拆解

  1. Book规则匹配(优先级最高):
    • LOWER(RIGHT(A2,3))="abc":提取最后3位字符并转为小写,同时匹配ABC/ABc/abc三种大小写格式,满足则返回Book。
  2. Keyboard规则匹配:
    • 分别计算末尾3位、末尾2位数字的和(用IFERROR处理非数字场景,返回0避免公式报错),只要任一和为17,返回Keyboard。
  3. Mouse规则匹配:
    • 逻辑同Keyboard,只要末尾3位/2位数字和为18,返回Mouse。
  4. 默认值:
    • 不满足任何规则时返回Unknown,可根据需求改为空值(将"Unknown"替换为"")。

Excel 365简化版公式(利用正则精准提取)

如果使用Excel 365/2021版本,可通过正则提取末尾连续的2-3位数字,避免非数字字符干扰:

=LET(
    last3, RIGHT(A2,3),
    end_nums, REGEXEXTRACT(A2,"\d{2,3}$"),
    num_sum, IFERROR(SUMPRODUCT(--MID(end_nums,ROW(INDIRECT("1:"&LEN(end_nums))),1)),0),
    IF(LOWER(last3)="abc","Book",IF(num_sum=17,"Keyboard",IF(num_sum=18,"Mouse","Unknown")))
)

示例验证

产品编号识别结果
XYZ98Keyboard
ABC198Mouse
TESTabcBook
XXX123Unknown

内容的提问来源于stack exchange,提问作者QED_Millenium

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:53:16