修剪细胞与多个回车

我有一个csv格式的导出报告,其中包含一个地址字段与多行的spreasheet。

这里是一个单元格内容的例子(我用一个图像来显示每行末尾的问号):

在这里输入图像说明

我需要从地址中提取郊区(在这种情况下,布鲁克林),但我有的是有一些情况下,在地址中有一个额外的行,例如:

在这里输入图像说明

在所有情况下,郊区将永远是倒数第二线,所以我虽然是以某种方式倒退,但我不知道如何做它作为一个公式。

任何帮助将非常感激。

我们假设地址位于单元格A1中。 然后,下面的值会给你最后一行。

它是通过使用以下伪代码派生的:

MID (A1, (the position of the [n-1]th new-line character) + 1, (the position of the [n]th new-line characters) - (the position of the n-1 new-line characters) - 1) 

这是使用以下公式实现的:

新行字符的出现次数由下式给出:

 LEN(A1)-LEN(SUBSTITUTE(A1," ","")) 

换行符的第n次出现如下:

 FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),(*n*-1))) 

因此,最终公式由下式给出:

 ">"&MID(A1,FIND(" ",A1,FIND(" ",A1)+((LEN(A1)-LEN(SUBSTITUTE(A1," ","")))-2))+1,(FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))-(FIND(" ",A1,FIND(" ",A1)+((LEN(A1)-LEN(SUBSTITUTE(A1," ","")))-2)))-1)&"<" 

正如你所看到的,在最后的公式中连接><字符以确保最终string中没有额外的字符。 你可以省略这些连接。

参考

如何在Excel中find文本string中的第n个出现(位置)? 在ExtendOffice上