我有一个像
这样的值的列WI60P-14E64F5167E6-01138
或
WI60-34D03E185267-01051
等...
我需要找到-
的第一次出现,直到第二次出现-
并删除生成的字符。
我正在使用此功能=MID(A1,FIND("-",A1),13)
,它会从上面的字符串中返回-34D03E185267
或-14E64F5167E6
。
但我希望输出如 WI60P-01138 或 WI60-01051
任何人都可以帮助我吗?
答案 0 :(得分:0)
假设两个连字符之间的文本长度不变,您可以使用现有函数和SUBSTITUTE
来获取所需的字符串,如下所示:
=SUBSTITUTE(A1,MID(A1,FIND("-",A1),13),"")
或者,您可以使用FIND
来获取连字符位置,然后再次使用SUBSTITUTE
来获取替换后的字符串,如下所示:
=SUBSTITUTE(A1,MID(A1,FIND("-",A1),FIND("-",A1,FIND("-",A1)+1)-FIND("-",A1)),"")
请注意,其中一个FIND
表达式需要3个参数 - 通过传递FIND("-",A1) + 1
作为第三个参数,我们得到了第二个出现的' - '在细胞内。
答案 1 :(得分:0)
这适用于两个连字符的任何位置:
=CONCATENATE(MID(A1;FIND("-";A1)+1;FIND("-";A1;FIND("-";A1)+1)-FIND("-";A1)-1))
答案 2 :(得分:0)
将其放在单元格B1
中以获取代码的第一部分:
=MID(A1,1,FIND("-",A1)-1)
将其放在单元格C1
中以获取代码的最后部分:
=MID(A1,FIND("-",A1)+1,LEN(A1))
将其放在单元格D1
中以连接两者并获得结果:
=concat(B1,C1)
将其放在单元格B1
中以获得与上面相同的结果:
=concat(MID(A1,1,FIND("-",A1)-1),MID(MID(A1,FIND("-",A1)+1,LEN(A1)),FIND("-",MID(A1,FIND("-",A1)+1,LEN(A1))),LEN(MID(A1,FIND("-",A1)+1,LEN(A1)))))