我在一个单元格中有地址,我想将它们提取到同一行的不同单元格中。有些单元格有四行地址,有些单元格有三行。我能够使用文本轻松地将列分为三个分隔符,而不是四个分隔符。
在此处输入图片描述
在第一个示例中,我有四行,第二条有三行
Anchorage Oncology Centre
3801 University Lake Drive
Suite 300-B2
Anchorage, AK 99508 US
我希望将以上内容分成5个单元格。每个单元格一个,用于地址,城市,州,邮政编码和国家/地区
Anchorage Oncology Centre
3801 University Lake Drive
Suite 300-B2
Anchorage
AK
99508
US
在下面的第二个示例中
Providence Alaska Medical Center
3200 Providence Drive
Anchorage, AK 99508 US
我想要
Providence Alaska Medical Center
3200 Providence Drive
Anchorage
AK
99508
US
这可以使用公式吗?
到目前为止,我所做的是完整的地址位于单元格A1
中,我希望它们位于B1
,C1
,D1
,E1
中和F1
。我所做的是针对我使用的国家(=RIGHT(A2,2)
,邮政编码,我使用的是=MID(A2, LEN(A2)-7, 5)
,州=MID(A2, LEN(A2)-10, 2)
。现在,我试图提取这座城市。该城市在逗号之前和换行符(Char(10))
之后,并且地址是前2或3行。我不知道该怎么做。
每行之间都有一个换行符。
谢谢
答案 0 :(得分:1)
可能的解决方案是
=IF(ROW(A1)<SUMPRODUCT((A$1:A$7<>"")*1),A1,TRIM(MID(SUBSTITUTE(SUBSTITUTE(INDEX(A$1:A$7,SUMPRODUCT((A$1:A$7<>"")*1)),",",)," ",REPT(" ",999)),(ROW(X1)-SUMPRODUCT((A$1:A$7<>"")*1)+1)*999-998,999)))
分割部分is from here:
=TRIM(MID(SUBSTITUTE(A$2," ",REPT(" ",999)),ROW(X1)*999-998,999))
我添加了一些计算以查找最后一行并消除逗号:
SUBSTITUTE(INDEX(A$1:A$7,SUMPRODUCT((A$1:A$7<>"")*1)),",",)
如果所有地址都位于第一行,那么您可以在第一列的地址下方插入公式并将其向下和向右复制。当前地址可以有7行,因此您必须至少将其复制到第8行。
答案 1 :(得分:1)