从单元格中提取除一个子字符串之外的最后一个子字符串



我在一列中有地址。我只需要将该列中除一个之外的最后一个名称拆分为另一列。

除一个子字符串外的最后一个子字符串由左右两侧的空格分隔。

单元格A2中的内容是";经由米兰,25罗马RM";并且我在单元格B2中输入了下面的公式(我需要单元格B2中的"ROMA"(

我尝试使用以下公式:

=MID(A2,FIND(CHAR(1),SUBSTITUTE(A2," ",CHAR(1),LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))+1,LEN(A2))

但它返回给定字符串中的最后一个子字符串(在这种情况下为"RM"(。无法修改它以获得除一个子字符串之外的最后一个子字符串。如果有用:当前使用macOS Catalina 10.15.7。

编辑:字符串地址总是以相同的方式格式化";经由"街道名称""门牌号"comune"省";。

你可以做一些可怕的事情:

=LEFT(
RIGHT(
SUBSTITUTE(A2," ","!",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-1),
LEN(SUBSTITUTE(A2," ","!",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-1))-
SEARCH("!", SUBSTITUTE(A2," ","!",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-1))),
SEARCH(" ",
RIGHT(SUBSTITUTE(A2," ","!",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-1),
LEN(SUBSTITUTE(A2," ","!",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-1))-
SEARCH("!", SUBSTITUTE(A2," ","!",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-1)))))

尽管我确信有更快/更干净的方法可以得到你想要的东西。注意"quot;只是被选为一个不会出现在字符串中的字符。还要注意,这就是为什么最佳实践是将最小的数据块存储为单独的项,而不是存储在一个字符串中!

请求编辑:如果你只是想把所有东西都放在逗号的右边和空格的左边(例如"25"来自"Via Milano,25 ROMA RM"(,你可以使用下面的

=LEFT(
TRIM(RIGHT(A2,LEN(A2)-SEARCH(",",A2))),
SEARCH(" ", TRIM(RIGHT(A2,LEN(A2)-SEARCH(",",A2)))))

相关内容

  • 没有找到相关文章

最新更新