Excel公式中parsing出这个string的最好方法是什么?
我有一列数据,每个单元格都是这样的:
Last First (Id)
如 :
Thompson Joe (ABC12323)
我想parsing出:
ABC12323
注:在一些罕见的情况下,我看到有这样列出的两个id:
Thompson Joe (ABC12323) (DEF1123432)
在这种情况下,我想parsing出第二个
DEF1123432
在excel公式中最简单的方法是什么?
你可以使用这个讨厌的野兽:
=RIGHT(A1,LEN(A1) - FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
LEN(A1)-LEN(SUBSTITUTE(A1," ","")
将找出空格的出现次数LEN(A1)-LEN(SUBSTITUTE(A1," ","")
Find(Substitute)
将给出单元格的长度,直到最后出现的空格然后它使用Right()
来select最后一部分。
很酷的是,这将会返回一个句子中的最后一个单词,而不pipe它的长度。
更新:添加了一些替代品来摆脱禁忌:
=SUBSTITUTE(SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))),"(",""), ")", "")
备用解决scheme:
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(TRIM(A1),")",""),"(",REPT(" ",LEN(A1))),LEN(A1)))