gpt4 book ai didi

Excel从字符串的任意部分提取一个单词

转载 作者:行者123 更新时间:2023-12-04 22:19:27 25 4
gpt4 key购买 nike

我有包含地址的字符串,这些部分用逗号分隔。
Locksbrook 校区外(巴斯温泉大学) Locksbrook Road, Bath, CB1 3QQ 位于 D19 细胞
我想从这个字符串中提取城市的名称,即“Bath”。城市名称总是放在邮政编码之前。
我分两步处理了它。首先,我提取了最后一个逗号之前的所有内容,如下所示:
Excel IF statement for trim function

  =MID(D19,1,FIND("@",SUBSTITUTE(D19,",","@",LEN(D19)-LEN(SUBSTITUTE(D19,",","")))))
这给了我:
Locksbrook 校区外(巴斯温泉大学) Locksbrook Road, Bath,
接下来,我必须使用以下公式提取新字符串中的最后一个单词:
  =TRIM(RIGHT(SUBSTITUTE(AA5," ",REPT(" ",100)),100))
这给了我几乎最终的结果:
巴斯,
但是,我只想通过 1 次操作来完成它。
有可能吗?
我在这里找到了一些公式,它应该必须从字符串中提取任何单词(第 n 个单词),但遗憾的是,它在我的情况下不起作用。
https://exceljet.net/formula/extract-nth-word-from-text-string
   =TRIM(MID(SUBSTITUTE(D19," ",REPT(" ",LEN(D19))), (N-1)*LEN(D19)+1, LEN(D19)))
它给了我 #NAME?最后。
此外,我有疑虑,本地址字符串会略有不同时,它会不起作用,包含更多元素,如街区名称、街道名称、城市、邮政编码或仅街道名称、城市和邮政编码。
有没有办法在最后一个逗号之前(在最后一个逗号之后)从字符串中只提取一个部分?

最佳答案

你可以试试:

=FILTERXML("<t><s>"&SUBSTITUTE(D19,", ","</s><s>")&"</s></t>","//s[position()=last()-1]")
xpath 表达式 //s[position()=last()-1]告诉函数返回按位置索引倒数第二个 s 节点。
有关 FILTERXML() 的更多信息以及使用某些 xpath 返回感兴趣的子字符串,您可能会发现 this有趣的。

关于Excel从字符串的任意部分提取一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65626333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com