韩之卓韦 发表于 2021-12-16 13:31:00

产品型号去杂

各位大神,公司的产品在设计时是用英文字母+数字代表产品型号,比如HY4208,但不同客户会有不同的要求,所以我们下单时会在型号后面标注些字母或数字,代表该产品做了少量的变动,比如HY4208BS1,各种各样都有,我想把这个型号统一成产品最初的设计型号。详见附件表中。跪求大神指教

小野哥啊 发表于 2021-12-16 19:43:55

附件里没看到有红色标注的异常啊?

帅姐 发表于 2021-12-19 15:50:28

没一点规律

米耗子 发表于 2021-12-22 07:24:09


正则自定义函数Private Function bh(TXT$, pt$)

With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = pt
If .test(TXT) Then
    bh = .Execute(TXT)(0)
Else
    bh = ""
End If
End With
End Function

=bh(A2,"^\d**\d*(?:\d)")

麦草草 发表于 2022-1-1 09:15:35

规律就是 原式若是字母+数字+字母+其他,只保留字母+数字(后面的不要)
      原式若是数字+字母+数字+其他,只保留数字+字母+数字(后面的不要)

崔国荣 发表于 2022-1-2 15:25:27

=IF(OR(MIN(FIND({"-","/"},A2&"-/"))>FIND(ROW($1:$10)-1,A2&1/17)),LEFT(A2,IF(A2<"a",MATCH(1,-MID(A2,ROW($1:$33),1)),MODE(ROW($1:$33)-ISERR(-MID(A2,ROW($1:$33),1)),{1,1}%))),"")

数组公式 下拉
除了 RVV5*0.5 返回 RVV5 其他都正常

爆笑的哪吒 发表于 2022-1-13 10:13:30

=IF(OR(MIN(FIND({"-","/"},A2&"-/"))>FIND(ROW($1:$10)-1,A2&1/17)),LEFT(A2,IF(A2<"a",MATCH(1,-MID(A2,ROW($1:$33),1)),MODE(ROW($1:$33)-ISERR(-MID(A2,ROW($1:$33),1)),{1,1}%))),"")

数组公式 下拉
除了 RVV5*0.5 返回 RVV5 其他都正常

筱鱼 发表于 2022-1-21 06:48:49

放到模块里面

周利飞 发表于 2022-1-22 18:01:47

终于搞定了,希望评个分!更新了

鳕伊 发表于 2022-1-26 04:54:43

带星号的只有这一种情况,多套个IF就满足了
页: [1] 2
查看完整版本: 产品型号去杂