在 Excel 中将文本字符串分成不同的列

在 Excel 中将文本字符串分成不同的列

我需要一个 Excel 公式将当前一列中的多个姓名分成三列。一个单元格当前包含:Jackson Hakel Brynn Holohan John Holohan。我需要三列包含名字和姓氏的列,即:

Column1          Column 2          Column3
Jackson Hakel    Brynn Holohan     John Holohan.

答案1

假设/限制每个名字和姓氏之间都有一个空格,并且重复 3 个名字,并且其中没有第四个名字,请尝试以下操作。

假设您的数据在单元格 B4 中

单元格 C4

=LEFT(B4,SEARCH(" ",B4,SEARCH(" ",B4)+1)-1)

单元格 D4

=LEFT((RIGHT(B4,LEN(B4)-LEN(C4)-1)),SEARCH(" ",(RIGHT(B4,LEN(B4)-LEN(C4)-1)),SEARCH(" ",(RIGHT(B4,LEN(B4)-LEN(C4)-1)))+1)-1)

细胞E4

=RIGHT(B4,LEN(B4)-(LEN(C4)+LEN(D4)+2))

答案2

我将向您展示一个非常基本的示例,您应该能够在自己的案例中类似地使用它。我将公式分开,以便于学习。

在此处输入图片描述

首先,我先从一些数据开始,像你一样用空格分隔。本质上,你想在每个其他空间,所以这就是我要做的。

首先我找到第一个空间的位置:

在此处输入图片描述

其次,我从找到第一个空间的位置开始,找到第二个空间的位置:

在此处输入图片描述

现在我们知道了第二个空格的位置,只需将原始文本修剪到第二个空格处:

在此处输入图片描述

最后,显示前面被修剪掉的剩余文本:

在此处输入图片描述

现在要继续拆分,只需从最后一个单元格重复前面的方法即可。正如我在开头所说的那样,公式被拆分开是为了让您学习,但为了简化占用的空间,您可以合并公式。

希望这可以帮助!

答案3

数据在A1, 在B1进入:

=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:A)*999-998,999)) & " " & TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:B)*999-998,999))

C1进入:

=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:C)*999-998,999)) & " " & TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:D)*999-998,999))

以及D1进入:

=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:E)*999-998,999)) & " " & TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:F)*999-998,999))

在此处输入图片描述

相关内容