我有一列数据,每个单元格都有:
Last First (Id)
如:
Thompson Joe (ABC12323)
我要解析:
ABC12323
注意:在一些罕见的情况下,我看到有两个ID如下所示:
Thompson Joe (ABC12323) (DEF1123432)
在这种情况下我想解析第二个
DEF1123432
在excel公式中执行此操作的最简单方法是什么?
答案 0 :(得分:2)
你可以使用这个令人讨厌的野兽:
=RIGHT(A1,LEN(A1) - FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
LEN(A1)-LEN(SUBSTITUTE(A1," ","")
将找到空格“”的出现次数。 Find(Substitute)
将为您提供单元格的长度,直到最后一次出现的空格。然后它只使用Right()
来挑选最后一节。
很酷的是,这将返回句子中的最后一个单词,无论它的长度如何。
更新:添加了几个替代品来摆脱这些问题:
=SUBSTITUTE(SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))),"(",""), ")", "")
答案 1 :(得分:0)
替代解决方案:
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(TRIM(A1),")",""),"(",REPT(" ",LEN(A1))),LEN(A1)))