首页 > 解决方案 > 通过分隔符从单元格中获取多个子字符串

问题描述

我在一个单元格中有多个值,这些值的顺序如下:

0#0#54232#5#123# ...

现在我想把每一个值放在一个单独的单元格中。我尝试使用 SEARCH、FIND、LEFT、MID 函数等,但一切看起来都很繁琐,我无法让它工作。我的想法是查找文本中的每个 # 并获取其间的每个子字符串。但是在一个单元格中有 20 多个值,这最终会变得非常混乱。

编辑:值的长度可能会有所不同

标签: excelexcel-formula

解决方案


您可以使用FILTERXML拆分字符串(此解决方案适用于 Office 365,因为需要提供动态数组):

=FILTERXML("<t><s>"&SUBSTITUTE(A1;"#";"</s><s>")&"</s></t>";"//s[string-length()>0]")

在 Excel 中使用 FILTERXML 拆分字符串

最近 Stackoverflow 上有一个很好的问题,我强烈建议您阅读:

Excel - 使用 FILTERXML 从字符串中提取子字符串


推荐阅读