有朋友公司系统升级,需要将原旧代码变更一下,如旧代码为“K008-M01-003-002”需变更为只有一个“-”符号的新代码“K008-M01003002”,旧代码“-”符号可能有三个也可能有两个,但只要保留前面一个,后面的“-”符号去除。
这个需求很容易解决,即1.找到第一个“-”符;2.保留“-”符前的字串;3.“-”符后面的字串将“-”替换成空;4.如果没有“-”符则继续使用旧名称。公式如下:
=IF(ISERROR(FIND("-",A2)),A2,MID(A2,1,(FIND("-",A2)))&SUBSTITUTE(MID(A2,FIND("-",A2)+1,3000),"-",""))
解释:
FIND("-",A2):找到第一个“-”符所在的位置,如果没有“-”符则ISERROR为True。
MID(A2,起始位置,结尾位置):获得区间字串。
SUBSTITUTE(字串,"-",""):替代字串中的“-”字符为空。