Excel:将字符返回到最后(或倒数第二)发生的左侧和右侧?

时间:2014-11-02 20:58:13

标签: excel string return formula

我有一个这样的字符串:100 Stupid Street;政府大楼7;芝加哥棕榈,MA 92111

我想返回最后一个分号左边的所有字符。

最后一个分号的左边是:100 Stupid Street;政府大楼7号


那是第1步。我还想从这个字符串中提取字符:Chicago Palm,MA 92111

我想将所有字符返回到倒数第二个空格的右侧和左侧。

所以, 在倒数第二个空格的右边是:MA 92111

第二个到最后一个空格的左边是:Chicago Palm,

如果有办法删除最后一个公式中的最后一个逗号,那就更好了。


这个公式对我有所帮助:

=TRIM(RIGHT(SUBSTITUTE(A1,";",REPT(" ",LEN(A1))),LEN(A1)))

Cell A1具有原始字符串。此公式成功返回最后一个分号右侧的所有内容。

2 个答案:

答案 0 :(得分:2)

如果您想要解析所有碎片,之前的一些返回可以帮助进行下一个操作,因此不必重复部分公式。

stupid street

B1是=LEFT(SUBSTITUTE(A3, ";", "×",LEN(A3)-LEN(SUBSTITUTE(A3,";",""))), FIND("×",SUBSTITUTE(A3&"×", ";", "×",LEN(A3)-LEN(SUBSTITUTE(A3,";",""))))-1)

B2是=TRIM(RIGHT(SUBSTITUTE(A2,";",REPT(" ",99)),99))

B3是=TRIM(RIGHT(SUBSTITUTE(A3,",",REPT(" ",99)),99))

B4是=TRIM(SUBSTITUTE(SUBSTITUTE(A4,B3,""),",",""))

答案 1 :(得分:0)

较短的版本:

B1      =LEFT(A1,(FIND(";",A1,FIND(";",A1)+1))-1)               ==> 100 Stupid Street ; Government Tower 7
B2      =TRIM(RIGHT(A1,LEN(A1)-FIND(";",A1,FIND(";",A1)+1)))    ==> Chicago Palm, MA 92111
B3      =LEFT(B2,FIND(",",B2)-1)                                ==> Chicago Palm
B4      =TRIM(RIGHT(B2,LEN(B2)-(FIND(",",B2)+1)))               ==> MA 92111

更通用:

B1   =LEFT(A1,(FIND("^",SUBSTITUTE(A1,";","^",LEN(A1)-LEN(SUBSTITUTE(A1,";","")))))-1)

否则可以实现替换。作业。