问题描述
按照以下查询:
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]")
我得到了结果,但是在单独的公式中,因为这个结果返回多个值。它已经洒了。我想要一个单元格中的所有内容。
另一种方法来自:
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)
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 (将#修改为@)