如何隔离Excel中以空格开头并以逗号结尾的文本string?
我有一列地址如下所示的单元格:
- 34470 Yucaipa Boulevard Yucaipa,CA 992399
- 15787 Main Street Hesperia,CA 92345
- 15109 Bear Valley Road Victorville,CA 92345
我想撤出城市,国家邮编; 我试图写一个公式来完成这个,但我有麻烦。
基本上我正在寻找一种方法来find昏迷, 从右到左读取string ,并停在第一空间; 看起来很简单….
所以在上面的例子中,我正在寻找下面的string
- Yucaipa,CA 992399
- Hesperia,CA 92345
- Victorville,CA 92345
你可以使用这个:
=MID(A1,FIND("@",SUBSTITUTE(LEFT(A1,FIND(",",A1))," ","@",LEN(LEFT(A1,FIND(",",A1)))-LEN(SUBSTITUTE(LEFT(A1,FIND(",",A1))," ",""))))+1,LEN(A1))
这返回:
Yucaipa, CA 992399 Hesperia, CA 92345 Victorville, CA 92345
从你的testing数据。
如果你有任何可能的话在你的文本中有@
符号,你可以试试这个:
=MID(A1,FIND(CHAR(1),SUBSTITUTE(LEFT(A1,FIND(",",A1))," ",CHAR(1),LEN(LEFT(A1,FIND(",",A1)))-LEN(SUBSTITUTE(LEFT(A1,FIND(",",A1))," ",""))))+1,LEN(A1))
说明
=LEFT(A1,FIND(",",A1))
给出34470 Yucaipa Boulevard Yucaipa,
。 我们称之为“文本”。
=SUBSTITUTE(Text," ","@",LEN(Text)-LEN(SUBSTITUTE(Text," ","")))
。 这一点是用@
replace空间的最后一个实例。 SUBSTITUTE
的第四个参数给出要replace空间的实例,而LEN(Text)-LEN(SUBSTITUTE(Text," ",""))
给出文本中的空格数。 这部分的结果是34470 Yucaipa Boulevard@Yucaipa,
你得到34470 Yucaipa Boulevard@Yucaipa,
然后,对此做一个MID
来获得@
的位置直到结束。
在Excel 2010中,可以使用数据function区上的“文本到列”function。
这在上瘾的方面更详细地解释了它
将数据拆分成列后,添加将城市,州和邮政编码连接在一起的新列。 像= CONCATENATE(D2,“”,E2,“”,F2)。
尝试这样的事情:
=LEFT( RIGHT(A1,LEN(A1)-SEARCH(",",A1)-1), SEARCH(" ",RIGHT(A1,LEN(A1)-SEARCH(",",A1)-1))-1)
这种search的唯一问题是您的数据需要超净。 在你的示例中,我不得不在逗号之后立即跳过空格,但是如果你的数据并不总是有空格,那么它将无法正常工作。
根据你的意见,试试这个:
=LEFT( RIGHT(A1,LEN(A1)-SEARCH(" ",A1)), SEARCH(",",RIGHT(A1,LEN(A1)-SEARCH(" ",A1)))-1)
我希望这个没有提到:
= TRIM(RIGHT(SUBSTITUTE(A1,“”,REPT(“”,99)),297))