我有一列包含以下地址的单元格:
我想撤出City,State Zip;我正在尝试写一个公式来完成这个但我遇到了麻烦。
基本上我正在寻找一种找到昏迷的方法,从右到左读取字符串,然后停在第一个空格;看起来很简单......
所以在上面的例子中我想要提取以下字符串
答案 0 :(得分:0)
在Excel 2010中,您可以使用“数据”功能区上的“文本到列”功能。
中有更详细的解释将数据拆分为列后,添加一个将城市,州和邮编连接在一起的新列。类似= CONCATENATE(D2,“”,E2,“”,F2)。
答案 1 :(得分:0)
尝试这样的事情:
=LEFT(
RIGHT(A1,LEN(A1)-SEARCH(",",A1)-1),
SEARCH(" ",RIGHT(A1,LEN(A1)-SEARCH(",",A1)-1))-1)
这种搜索的唯一问题是您的数据需要超级干净。在您的示例中,我必须在逗号后立即跳过该空格,但如果您的数据并不总是有空格,则无法正常工作。
根据您的评论,试试这个:
=LEFT(
RIGHT(A1,LEN(A1)-SEARCH(" ",A1)),
SEARCH(",",RIGHT(A1,LEN(A1)-SEARCH(" ",A1)))-1)
答案 2 :(得分:0)
您可以使用:
=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
来自您的测试数据。
如果你的文字中有@
符号,你可以尝试这样做:
=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," ","")))
。这一位是用@
替换最后一个空格实例。 SUBSTITUTE
的第4个参数给出了要替换的空格的实例,LEN(Text)-LEN(SUBSTITUTE(Text," ",""))
给出了文本中的空格数。作为此部分的结果,您得到34470 Yucaipa Boulevard@Yucaipa,
然后,对此进行MID
以获取@
的位置直至结束。
答案 3 :(得分:0)
我希望没有提到这一点:
= TRIM(右(替换(A1,“”,REPT(“”,99)),297))