我有一个问题,例如,我在 A 列中有一句话,上面写着“hello ID users tbzoo, rjkth, mnkz, plzoo, rtzoo and fghzt”,我想创建一个新的 B 列,提取 A 列中所有以 zoo 结尾并以逗号分隔的单词,例如 B 列将有 tbzoo、plzoo、trzoo。到目前为止,我使用 MID 和搜索得出的公式仅返回以 zoo 结尾的第一个单词,而不是所有单词。请帮忙!谢谢
答案1
这里的关键可能是将字符串拆分成一个单词数组。有了 ExcelO365,您可以使用:
=TEXTJOIN(", ",,FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(A1,",","")," ","</s><s>")&"</s></t>","//s[substring(., string-length(.) - string-length('zoo') +1) = 'zoo']"))
如果通过以下方式输入,它也可以在 Excel 2019 中工作CtrlShiftEnter
SUBSTITUTE()
不用说,如果单词末尾有更多类型的标点符号,则需要更多嵌套。另外,请记住XPATH
区分大小写!
如果你想了解更多关于这个FILTERXML()
功能的信息,可以阅读这里。
如果您无法访问TEXTJOIN()
,我想您可以求助于 PowerQuery 或 VBA。