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

如何在表格中匹配零件编号与供应商定义的格式

零件编号格式匹配与供应商匹配解决方案

一、修正你的正则表达式错误

你当前使用的正则[{5}][-]\d{3}存在两个关键问题:

  • [{5}]写法错误:它会匹配{、5、}中的任意单个字符,而非你需要的「5个数字」,正确写法是\d{5}
  • 缺少字符串锚点:没有^(匹配文本开头)和$(匹配文本结尾),会导致部分匹配(比如12345-123abc也会被误判),我们需要确保匹配整个单元格的格式。

针对两种供应商格式,正确的正则表达式如下:

  • 对应EXAMPLE 1的XXXXX-XXX格式:
    ^\d{5}-\d{3}$
    
  • 对应EXAMPLE 2的XX-XXXXX-XX格式:
    ^\d{2}-\d{5}-\d{2}$
    

二、用公式实现自动匹配供应商

假设你的零件编号在单元格A6,可以根据规则数量选择以下方法:

方法1:IF嵌套判断(适合规则少的场景)

直接通过嵌套REGEXMATCH判断格式并返回供应商:

=IF(REGEXMATCH(A6, "^\\d{5}-\\d{3}$"), "EXAMPLE 1", IF(REGEXMATCH(A6, "^\\d{2}-\\d{5}-\\d{2}$"), "EXAMPLE 2", "未知供应商"))

注:Excel中反斜杠\需要转义为\\,Google Sheets部分版本可直接用\d,转义后兼容性更强。

方法2:VLOOKUP+数组公式(适合规则多的场景)

先把正则规则和供应商对应关系整理到单独区域(比如D2:D3存正则,E2:E3存供应商名称),再用数组公式批量匹配:

=VLOOKUP(TRUE, ARRAYFORMULA(REGEXMATCH(A6, D$2:D$3)), E$2:E$3, FALSE)

该公式会遍历所有正则规则,找到第一个匹配项后返回对应供应商。

三、验证示例

  • 输入12345-123时,REGEXMATCH(A6, "^\\d{5}-\\d{3}$")返回TRUE,对应供应商EXAMPLE 1
  • 输入12-12345-12时,REGEXMATCH(A6, "^\\d{2}-\\d{5}-\\d{2}$")返回TRUE,对应供应商EXAMPLE 2

内容的提问来源于stack exchange,提问作者Justin.k

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:40:34