Excel - 从字符串中间提取 2 个或更多单词

问题描述

按照以下查询

Excel extract one word from the any part of the string

我试图从 Excel 中的文本中间提取多个子字符串。

字符串如下所示:

1 Willow Court,1192 Christchurch Road,Bournemouth,Dorset,BH7 6EG

我有两个有效的解决方案。两者都至多部分工作。 一种解决方案使用 FILTERXML 函数,这里提到:

Excel - Extract substring(s) from string using FILTERXML

我使用了以下公式:

     =FILTERXML("<t><s>"&SUBSTITUTE(A1,","</s><s>")&"</s></t>","//s[position()=2 or position()=3]")

我得到了结果,但是在单独的公式中,因为这个结果返回多个值。它已经洒了。我想要一个单元格中的所有内容

enter image description here

另一种方法来自:

https://www.ablebits.com/office-addins-blog/2016/06/01/split-text-string-excel/

而我在这里所做的是:

    =MID(A1,SEARCH(",A1) + 1,A1,A1)+1) - SEARCH(",A1)-1)

作为我收到的回报:

基督城路 1192 号

对我的公式稍加修改后:

   =MID(A4,A4) + 1,A4,A4)+1)+1) - SEARCH(",A4)-1)

通过添加一个我可以收到的 SEARCH 元素:

1192 Christchurch Road,伯恩茅斯

很好,但是这个公式有一个主要问题。中间的字符串总是在第一个逗号之后。我应该在这里更改什么以接收来自第二个逗号等的子字符串?

我尝试做这样的事情:

   =MID(A1,2) + 1,2,2)+1)+1) - SEARCH(",2)-1)

但它不起作用,以及其他试验:

   =MID((A1,A1)+1)+1) - SEARCH(",A1)-1),2)

   =MID(A1,A1) + 2,A1)+2)+2) - SEARCH(",A1)-1)

如果您可以查看我上面尝试的完整地址,您能告诉我是否有可能将 MID 函数应用于位于第二个逗号之后的子字符串,依此类推?

我怎样才能摆脱上面溢出的公式?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)