Excel公式中解析此字符串的最佳方法是什么?

时间:2014-10-21 18:45:56

标签: string excel parsing

我有一列数据,每个单元格都有:

   Last First (Id)

如:

  Thompson Joe (ABC12323)

我要解析:

  ABC12323

注意:在一些罕见的情况下,我看到有两个ID如下所示:

  Thompson Joe (ABC12323) (DEF1123432)

在这种情况下我想解析第二个

   DEF1123432

在excel公式中执行此操作的最简单方法是什么?

2 个答案:

答案 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)))