将复杂字符串解析为单独的单元格

将复杂字符串解析为单独的单元格

我需要将具有不同字段长度的字符串解析为单独的列。我有以下一系列数据。

在此处输入图片描述

使用公式,我想填充 F、G、H 和 I 列以及 D 列中的各个字段部分。我已经手动创建了当前内容,但想使用公式来完成此操作。

我可以得到大部分正确的信息,但在 G 列遇到了麻烦,因为这个数据有时有两个字符(即 01、03),有时有五个字符(即 01-16)。

答案1

这是一种直接的方法,假设格式保持某些内容 [空格] 某些内容 [空格] 等。诀窍是关注空格(分隔符),而不是数据(文本)

  • F 列 =left($d6,find(" ",$d6)) 这使用查找来确定要拉多少。

  • g 列 =MID($D6,1+LEN(F6),FIND(" ",$D6,1+LEN(F6))-LEN(F6))

这使用 mid,从 f 列之后开始,然后寻找第二个空格

  • h 列 =MID($D6,1+LEN(F6&G6),FIND(" ",$D6,1+LEN(F6&G6))-1-LEN(F6&G6))

这遵循相同的模式。使用中间值并从前 2 列数据开始,查找下一个空格,差异就是要使用多少。

只需将其复制下来即可。

答案2

在 Excel 中,转到文本分列 在此处输入图片描述

选择分隔符

在此处输入图片描述

选择空间

在此处输入图片描述

单击“下一步”即可获得它。

答案3

我会使用“文本到列”方法,但既然您要求提供公式,请将其放在 B2 中并向下复制:

=TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",999)),(COLUMN(A:A)-1)*999+1,999))

在此处输入图片描述

相关内容