Excel文本到列表,扭转结果

我有一个很长的地址列表,整个地址在一个单元格中,地址的每一行都用逗号分开。 我需要能够提取邮政编码。 当前数据的一个例子如下,

Red House, Street, Town, City, YO13 9DY Blue House, Street, YP8 2FR Black House, Street, City, L10 1AA Green House, Street, Street 2, Town, City, PO5T CDE 

正如你可以看到每个地址遵循相同的模式,使用相同的逗号作为分隔符,但都是不同的长度。

文本到列的工作在一定程度上,但由于每个单元格的布局,邮政编码总是结束在不同的列。

有没有办法扭转这个输出,所以类似于文本到列,但是每个分隔符都是以相反的顺序打印的?

如果我没有解释得很好,请说,我会试图重新说话。

而不是使用文本到列,你可以使用它来获取最后一个逗号之后的内容:

 =TRIM(MID(A1,FIND("@",SUBSTITUTE(A1,",","@",LEN(A1)-LEN(SUBSTITUTE(A1,",",""))))+1,LEN(A1))) 

(假设A1包含你的例子中的完整地址)

如果邮政编码位于不同的列中,则可以使用以下代码(放入B1和G1中的H1和其他列)取最后(非空)列的值:

 =IF(G1<>"";G1;IF(F1<>"";F1;IF(E1<>"";E1;IF(D1<>"";D1;IF(C1<>"";C1;IF(B1<>"";B1;"")))))) 

如果你的语言不同,你可能要改变一切;,

如果列数较大或者有其他限制,则可以轻松扩展…