跳至主要内容

Excel教程:拆分文本、数字和日期单元格(分列操作)

Author: Siluvia Last Modified: 2025-07-31

在使用Excel时,您可能会因各种需求需要将一个单元格的文本拆分到多个单元格中。本教程分为三部分:拆分文本单元格、拆分数字单元格和拆分日期单元格。每一部分都提供了不同的示例,帮助您在遇到类似问题时能够灵活应对拆分操作。

目录: [ 隐藏 ]

(点击下方或右侧目录中的任意标题可快速跳转至对应章节。)

1 拆分文本单元格

本部分汇总了拆分文本单元格为多列时常见的场景,并为您提供了相应的解决方法。

示例 #1 按逗号、空格或其他分隔符拆分单元格

若需按特定分隔符(如逗号、空格、短横线等)将文本单元格拆分为多列,可采用以下任一方法。

使用“数据分栏”功能按分隔符拆分单元格

数据分栏”作为Excel内置功能,经常用于单元格拆分。如下面截图所示,若要按逗号拆分“Text Strings”列中的单元格,可按如下步骤使用“数据分栏”功能。

A screenshot of a text cell split into multiple columns

1.选择需要按逗号拆分的列区域,点击“数据”>“数据分栏”。

A screenshot of the Text to Columns option in Excel ribbon

2. 在“ 文本分栏向导 –3步之第1步”对话框中,保持“分隔符号”单选项被选中,然后点击“下一步”。

A screenshot of the Convert Text to Columns Wizard – Step 1 of 3 dialog box with the Delimited option selected

3. 在“文本分栏向导 –3步之第2步”对话框中,根据需要指定分隔符(本例仅勾选“逗号”),然后点击“下一步”。

A screenshot of the Convert Text to Columns Wizard – Step 2 of 3 dialog box showing delimiters selection

4. 在最后一步对话框中,点击 Destination cell selection button 按钮,选择一个单元格作为拆分后文本的输出位置,然后点击 完成 按钮。

A screenshot of selecting a cell for the output in the Convert Text to Columns Wizard

随后,选中区域内的文本将按逗号拆分,并分别放置在不同的列中,如下图所示。

A screenshot of a text cell split into multiple columns

使用公式按分隔符拆分单元格

您可以使用以下公式,按指定分隔符拆分单元格中的文本。

通用公式

=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))

参数说明

Delim:用于拆分文本字符串的分隔符;
A1:表示包含待拆分文本字符串的单元格;
N:表示要提取的第N个子字符串。

接下来,按照以下步骤应用该公式。

1. 如下图所示,首先需创建一个辅助行,依次填入数字1、2、3……,分别放在不同单元格中。

备注:这里的1、2、3……分别代表文本字符串的第1、第2、第3个子字符串。

A screenshot of a helper row with numbers 1, 2, 3... created for splitting text strings in Excel

2. 在数字1下方的单元格中,复制或输入以下公式并按回车键获取第一个子字符串。选中结果单元格,向右和向下拖动其自动填充柄,以获取其他子字符串。见下图:

=TRIM(MID(SUBSTITUTE($B5,",",REPT(" ",LEN($B5))),(D$4-1)*LEN($B5)+1,LEN($B5)))

A screenshot showing the AutoFill Handle used to extend the formula for splitting text strings in Excel

备注:在公式中,“,”为拆分B5单元格文本的分隔符。您可根据实际需求更改此分隔符。

使用高效工具按分隔符拆分单元格

这里推荐使用Kutools for Excel的“分割单元格”功能,帮助您轻松按指定分隔符将单元格内容批量拆分为多列或多行。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1. 安装Kutools for Excel后,选择需要拆分文本的区域,然后点击Kutools > 合并与拆分 > 分割单元格

A screenshot showing the Split Cells option under the Kutools tab in Excel

2. 在“分割单元格”对话框中,需进行如下设置。

2.1)所选区域会显示在“分割区域”框中,可根据需要修改;
2.2)在“类型”区域,选择“分割至多行”或“分割至多列”单选项;
2.3)在“分隔依据”区域,选择所需分隔符。如果没有所需分隔符,选择“其他”单选项并在文本框中输入分隔符。本例中输入逗号;
2.4)点击“确定”。见下图:

A screenshot of the Kutools Split Cells dialog box with delimiter configuration

3. 在接下来的“分割单元格”对话框中,选择一个单元格作为子字符串的输出位置,然后点击“确定”。

A screenshot of the final Kutools Split Cells dialog box to select the output location

随后,子字符串将根据第2步的设置,拆分到不同的列或行中。

分割至多列

A screenshot of text strings split into columns using Kutools

分割至多行

A screenshot of text strings split into rows using Kutools

示例 #2 按指定长度拆分单元格

如需按指定长度拆分文本字符串,可参考以下方法。

使用“数据分栏”功能按指定长度拆分单元格

数据分栏”功能提供了“固定宽度”选项,帮助您按指定长度将选中单元格的文本字符串拆分。

如下图所示,若要将B5:B9区域的文本每3个字符拆分为一列,可按以下步骤操作。

A screenshot showing cells to be split by fixed width

1.选择需要拆分文本的单元格。

2. 点击“数据”> “数据分栏”

3. 在“文本分栏向导 –3步之第1步”对话框中,选择“固定宽度”单选项并点击“下一步”。

A screenshot of the Convert Text to Columns Wizard step 1 of 3 dialog box in Excel with Fixed width selected

4. 此时会弹出 第2步对话框。在“ 数据预览”区域,点击轴线上的目标位置以创建断行(带箭头的线)。创建所有断行后,点击“下一步”继续。

本例中,每隔3个字符创建一个断行。

A screenshot of the Convert Text to Columns Wizard step 2 of 3 dialog box with break lines placed to split text

5. 在最后一步向导中,选择一个单元格作为拆分后文本的输出位置,然后点击“完成”。

A screenshot of the Convert Text to Columns Wizard step 3 of 3 dialog box in Excel with output cell highlighted

现在,选中单元格中的文本字符串已按每3个字符拆分,如下图所示。

A screenshot of text strings split into separate columns every 3 characters in Excel

使用高效工具按指定长度拆分单元格

在Excel中按指定长度拆分单元格,可使用Kutools for Excel的“分割单元格 ”功能轻松实现。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1.选择需要按指定长度拆分的文本单元格,点击Kutools > 合并与拆分 > 分割单元格

2. 在“分割单元格”对话框中,需进行如下设置。

2.1)第1步选择的区域会显示在“ 分割区域”框中,如有需要可修改;
2.2)在“类型”区域,根据需要选择“分割至多行”或“分割至多列”选项;
2.3)在“ 分隔依据”区域,选择“指定宽度”单选项,并输入用于拆分文本的字符数。本例中输入数字3;
2.4)点击“确定”按钮。

A screenshot of the Split Cells dialog box with Split by width option selected

3. 在下一个“分割单元格”对话框中,选择一个单元格用于放置拆分后的文本,然后点击“确定”。

A screenshot of the Split Cells dialog box in Kutools for Excel with output destination selected

随后,选中单元格中的文本字符串将按指定长度拆分,并分别放置在不同的列中。

示例 #3 按指定单词拆分单元格

如下图所示,若要按整个单词“sales”拆分B5:B9区域的文本字符串,可使用本节提供的公式。

A screenshot of text strings in Excel to be split by the word 'sales'

获取单元格中某单词前的子字符串

可基于LEFT和FIND函数的组合公式,获取文本字符串中某单词前的子字符串。

通用公式

=LEFT(A1,FIND("certain_word", A1)-1)

参数说明

A1:表示包含待按指定单词拆分的文本字符串的单元格;
Certain_word:用于拆分文本字符串的单词。可以是单元格引用,也可以是双引号括起来的具体单词;

1.选择一个空白单元格,复制或输入以下公式并按回车键获取该单词前的子字符串。选中结果单元格,向下拖动 自动填充柄应用公式至其他单元格。

=LEFT(B5,FIND("sales",B5)-1)

A screenshot of the formula used in Excel to get the substring before a certain word

获取单元格中某单词后的子字符串

获取单词前的子字符串后,需使用以下公式获取其后的子字符串。

通用公式

=TRIM(MID(A1,SEARCH("certain_word",A1)+LEN("certain_word"),255))

参数说明

A1:表示包含待按指定单词拆分的文本字符串的单元格;
Certain_word:用于拆分文本字符串的单词。可以是单元格引用,也可以是双引号括起来的具体单词;

1. 在第一个结果单元格(D5)旁边选择一个空白单元格。

2.复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他结果。

=TRIM(MID(B5,SEARCH("sales",B5)+LEN("sales"),255))

A screenshot of the formula used in Excel to get the substring after a certain word

现在,您已按整个单词将文本字符串拆分到不同列中。

示例 #4 按换行符拆分单元格

本节将演示多种方法,帮助您在Excel中按换行符拆分文本单元格。

A screenshot of Excel with a table, showing the selected cells to be split by line breaks

使用“数据分栏”功能按换行符拆分单元格

可通过“数据分栏”功能按换行符拆分单元格。具体操作如下。

1.选择需要按换行符拆分文本的单元格区域。

2. 点击“数据”>“数据分栏”

3. 在“文本分栏向导 –3步之第1步”对话框中,选择“分隔符号”单选项,然后点击“下一步”;

A screenshot of the Convert Text to Columns Wizard in Excel, showing the Delimited option selected

4. 在第2步对话框中,取消所有已有分隔符的勾选,勾选“其他”复选框,然后按下Ctrl + J组合键。此时文本框中只显示一个小点,且在“数据预览”框中,文本已按换行符拆分。点击“下一步”。

A screenshot of the Step 2 of 3 dialog box in Excel with the Other delimiter selected and Ctrl + J entered

5. 在最后一步向导中,选择一个目标单元格作为拆分后文本的输出位置,然后点击“完成”。

A screenshot of the final step of the Text to Columns Wizard in Excel, showing the destination cell selected

随后,选中单元格中的文本将按换行符拆分到不同的列中。

使用公式按换行符拆分单元格

以下公式同样可帮助您在Excel中按换行符拆分单元格。

以上述示例为例,拆分后可在不同列中获得三个子字符串。

获取第一个换行符前的子字符串

首先,可基于LEFTSEARCH函数的组合公式,获取单元格中第一个换行符前的子字符串。

通用公式

=LEFT(cell, SEARCH(CHAR(10),cell,1)-1)

参数说明

Cell:需拆分第一个换行符前子字符串的文本单元格。

1.选择一个空白单元格(本例为D5),复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他单元格第一个换行符前的子字符串。

=LEFT(B5, SEARCH(CHAR(10),B5,1)-1)

A screenshot of the Excel sheet showing a formula for extracting a substring before the first line break

获取第一个与第二个换行符之间的子字符串

如需获取单元格中第一个与第二个换行符之间的子字符串,可使用以下公式。

通用公式

=MID(cell,SEARCH(CHAR(10),cell)+1,SEARCH(CHAR(10),cell,SEARCH(CHAR(10),cell)+1)-SEARCH(CHAR(10),cell)-1)

参数说明

Cell:需拆分第一个与第二个换行符之间子字符串的文本单元格。

1. 在D5右侧的E5单元格中,复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他单元格间的子字符串。

=MID(B5, SEARCH(CHAR(10),B5) +1, SEARCH(CHAR(10),B5,SEARCH(CHAR(10),B5)+1) - SEARCH(CHAR(10),B5) -1)

A screenshot of the Excel sheet showing a formula for extracting a substring between the first and second line breaks

获取第二个换行符后的子字符串

第一步是使用以下公式获取第二个换行符后的子字符串。

通用公式

=RIGHT(cell,LEN(cell) - SEARCH(CHAR(10),cell, SEARCH(CHAR(10), cell) +1))

参数说明

Cell:需拆分第二个换行符后子字符串的文本单元格。

1. 在F5单元格中,复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他单元格第二个换行符后的子字符串。

=RIGHT(B5,LEN(B5) - SEARCH(CHAR(10), B5, SEARCH(CHAR(10), B5) +1))

A screenshot of the Excel sheet showing a formula for extracting a substring after the second line break

使用VBA按换行符拆分单元格

本节提供VBA代码,帮助您轻松按换行符拆分选中单元格中的文本。

1. 按下Alt + F11组合键,打开Microsoft Visual Basic for Applications窗口。

2. 在Microsoft Visual Basic for Applications窗口中,点击“插入”>“模块”,然后将以下VBA代码复制到代码窗口。

VBA代码:在Excel中按换行符拆分单元格

Sub ExtendOffice_SplitRangeTex()
'Updated by Extendoffice 20211116
Dim xStr() As String
Dim xRg As Range
Dim xCell As Range
Dim xI As Integer
Set xRg = Application.InputBox("Please select the range of cells where you want to split by line break:", "Kutools for Excel", "", , , , , 8)
If xRg Is Nothing Then Exit Sub
For xI = 1 To xRg.Count
    Set xCell = xRg.Item(xI)
    xStr = VBA.Split(xCell.Value, vbLf)
    xCell.Resize(1, UBound(xStr) + 1).Offset(0, 1) = xStr
Next
End Sub

A screenshot of the Microsoft Visual Basic for Applications window showing VBA code to split cells by line breaks

3. 按下F5键运行代码,此时会弹出Kutools for Excel对话框,选择需要按换行符拆分的单元格区域,最后点击“确定”。

A screenshot of the Kutools for Excel dialog box with the range of cells selected to split by line break

随后,选中单元格中的文本将立即按换行符拆分到不同的列中。

A screenshot of the result after splitting cells by line break in Excel using Kutools

使用高效工具按换行符拆分单元格

这里为您介绍 Kutools for Excel的“分割单元格 ”实用工具。借助此工具,您只需几次点击即可批量按换行符拆分选中单元格中的文本。

1.选择需要按换行符拆分文本的单元格区域。

2. 点击Kutools > 合并与拆分 > 分割单元格以启用该功能。

3. 在“分割单元格”对话框中,需进行如下设置。

3.1)在“分割区域”框中,保持所选区域或更改为新区域;
3.2)在“类型”区域,根据需要选择“ 分割至多行”或“ 分割至多列”;
3.3)在“分隔依据”区域,选择“另起一行”单选项;
3.4)点击“确定”按钮。见下图:

A screenshot of the Split Cells dialog box with settings to split by line breaks

4. 在下一个弹出的“分割单元格”对话框中,选择一个空白单元格用于放置拆分后的文本,然后点击“确定”。

A screenshot of the Split Cells dialog box with the destination cell selected

随后,选中单元格中的文本将按换行符拆分到不同的列中,如下图所示。

A screenshot showing the result of splitting text by line breaks in Excel using Kutools

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取

示例 #5仅按第一个或最后一个分隔符拆分单元格

有时,您可能只需按第一个或最后一个分隔符将单元格拆分为两部分,可尝试以下公式。

使用公式按第一个分隔符拆分单元格

如下图所示,若要将B5:B9区域的每个单元格按第一个空格拆分为两部分,需分别应用两个公式。

A screenshot of splitting text by the first space in Excel

拆分第一个空格前的子字符串

可使用基于LEFT和FIND函数的公式,拆分第一个空格前的子字符串。

通用公式

=LEFT(cell,FIND("delimiter",cell)-1)

参数说明

Cell:需拆分第一个空格前子字符串的文本单元格。
Delimiter:用于拆分单元格的分隔符。

1.选择一个单元格(本例为D5)用于输出子字符串,复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他单元格的子字符串。

=LEFT(B5,FIND(" ",B5)-1)

A screenshot of the formula for splitting text before the first space in Excel

拆分第一个空格后的子字符串

然后应用以下公式,获取单元格中第一个空格后的子字符串。

通用公式

=RIGHT(cell,LEN(cell)-FIND("delimiter",cell))

参数说明

Cell:需拆分第一个空格后子字符串的文本单元格。
Delimiter:用于拆分单元格的分隔符。

1. 在E5单元格中复制或输入以下公式并按回车键获取结果。选中结果单元格,向下拖动自动填充柄获取其他单元格最后一个空格后的子字符串。

=RIGHT(B5,LEN(B5)-FIND(" ",B5))

A screenshot of the result for splitting text after the first space in Excel

备注:公式中的单元格引用和分隔符可根据实际需求更改。

使用公式按最后一个分隔符拆分单元格

如需将B5:B9区域的文本按最后一个空格拆分为两部分,可参考本节提供的两个公式。

A screenshot of splitting text by the last space in Excel

获取最后一个分隔符左侧的文本

如需获取单元格中最后一个分隔符左侧的文本,可使用以下公式。

通用公式

=LEFT(B5,SEARCH("^",SUBSTITUTE(cell,"delimiter","^",LEN(cell)-LEN(SUBSTITUTE(cell,"delimiter",""))))-1)

参数说明

Cell:需拆分最后一个分隔符左侧文本的单元格。
Delimiter:用于拆分单元格的分隔符。

1.选择一个单元格用于放置左侧子字符串,复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄应用公式至其他单元格。

=LEFT(B5,SEARCH("^",SUBSTITUTE(B5," ","^",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)

A screenshot of the formula for splitting text before the last space in Excel

获取最后一个分隔符右侧的文本

本例需获取最后一个空格右侧的文本。

通用公式

=TRIM(RIGHT(SUBSTITUTE(cell,"delimiter",REPT("delimiter",LEN(cell))),LEN(cell)))

参数说明

Cell:需拆分最后一个分隔符右侧文本的单元格。
Delimiter:用于拆分单元格的分隔符。

1.选择一个单元格用于放置右侧子字符串,复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄应用公式至其他单元格。

=TRIM(RIGHT(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))),LEN(B5)))

A screenshot of the formula for splitting text after the last space in Excel

备注:公式中的单元格引用和分隔符可根据实际需求更改。

示例 #6 按大写字母拆分单元格

本节介绍自定义函数,按大写字母拆分单元格中的单词。

A screenshot of splitting text by capital letter in Excel

1. 按下Alt + F11组合键,打开Microsoft Visual Basic for Applications窗口。

2. 在Microsoft Visual Basic for Applications窗口中,点击“插入”>“模块”,然后将以下VBA代码复制到代码窗口。

VBA代码:在Excel中按大写字母拆分单元格

Function GetName(s As String, Num As Long) As String
'Updated by Extendoffice 20211116
  With CreateObject("VBSCript.RegExp")
    .Global = True
    .Pattern = "[A-Z][a-z]+|[A-Z]"
    GetName = .Execute(s).Item(Num - 1)
  End With
End Function

3. 按下Alt + Q组合键关闭Microsoft Visual Basic for Applications窗口。

4.选择一个单元格(本例为D5)用于输出第一个大写字母左侧的单词,输入以下公式并按回车键。选中结果单元格,向右再向下拖动自动填充柄获取其他单词。

=IFERROR(GetName($B5,COLUMNS($D:D)),"")

A screenshot of the result of splitting text by capital letter using VBA

备注:代码中的$B5为待拆分的单元格,$D:D为结果单元格所在列。请根据实际数据调整。

示例 #7 拆分单元格中的姓名

假设您有一个包含全名的工作表列,想要将全名拆分为不同列(如将教名和姓拆分,或将教名、中间名字和姓分别拆分)。本节将列出详细步骤,帮助您解决这些问题。

将全名拆分为教名和姓

如下图所示,教名、中间名字和姓之间以空格分隔。若只需将全名拆分为教名和姓并分别放入不同列,可采用以下任一方法。

A screenshot showing a column of full names to be split into separate columns for first and last names

1)使用公式将全名拆分为教名和姓

需分别应用两个公式,将全名拆分为教名和姓。

从全名中拆分教名

可基于LEFT和SEARCH函数的组合公式,从全名中拆分教名。

通用公式

=LEFT(cell, SEARCH(" ", cell) -1)

1.选择一个单元格用于输出教名。

2.复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄,将其他全名的教名拆分出来。

=LEFT(B5, SEARCH(" ", B5) -1)

A screenshot of the formula used to split the first name from a full name in Excel

现在,指定区域内所有全名的教名已拆分出来,接下来可应用以下公式拆分姓。

从全名中拆分姓

通用公式

=RIGHT(cell, LEN(cell) - SEARCH("^", SUBSTITUTE(cell," ", "^", LEN(cell) - LEN(SUBSTITUTE(cell, " ", "")))))

1. 在教名单元格旁边选择一个单元格。

2.复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄,将其他全名的姓拆分出来。

=RIGHT(B5, LEN(B5) - SEARCH("^", SUBSTITUTE(B5," ", "^", LEN(B5) - LEN(SUBSTITUTE(B5, " ", "")))))

A screenshot of the formula used to split the last name from a full name in Excel

备注:公式中的B5为待拆分的全名单元格,可根据实际需求更改。

2)使用高效工具将全名拆分为教名和姓

许多Excel用户难以记住公式。这里推荐使用Kutools for Excel的“分割姓名 ”功能。借助此功能,您只需几次点击即可轻松将全名拆分为教名和姓。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1.选择全名单元格区域,点击Kutools > 合并与拆分 > 分割姓名

A screenshot of the Split Names option in Kutools tab in Excel

2. 在“分割姓名”对话框中,仅勾选“教名”和“”选项,然后点击“确定”。

提示:所选区域会显示在“分割区域”框中,可根据需要修改。

A screenshot showing the Split Names dialog box where First and Last Name are selected to be split

3. 随后会弹出另一个“分割姓名”对话框,选择目标单元格并点击“确定”。

A screenshot of the Split Names dialog box where the user selects a destination cell

随后,选中单元格中的全名将批量拆分为教名和姓,如下图所示。

A screenshot showing the results after splitting full names into first and last names in Excel using Kutools

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取

将全名拆分为教名、中间名字和姓

如下图所示,全名列中的教名、中间名字和姓以空格分隔。若需将全名拆分为教名、中间名字和姓并分别放入不同列,可参考以下方法。

A screenshot of a column containing full names with first, middle, and last names separated by spaces

1)使用“数据分栏”将全名拆分为教名、中间名字和姓

内置的“数据分栏”功能可帮助您轻松将全名拆分为教名、中间名字和姓。

可按照上文所述步骤应用“数据分栏”功能

备注:在第2步向导中,仅勾选“空格”选项。

2)使用公式将全名拆分为教名、中间名字和姓

也可通过公式将全名拆分为教名、中间名字和姓。

用于拆分全名的通用公式

拆分教名

=LEFT(cell,SEARCH(" ", cell)-1)

拆分中间名字

=MID(cell, SEARCH(" ", cell) +1, SEARCH(" ", cell, SEARCH(" ", cell)+1) - SEARCH(" ", cell)-1)

拆分姓

=RIGHT(cell,LEN(cell) - SEARCH(" ",cell, SEARCH(" ",cell,1)+1))

随后,在不同单元格中应用上述公式,分别获取教名、中间名字和姓。

1. 在D5单元格中输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他全名的教名。

=LEFT(B5,SEARCH(" ", B5)-1)

A screenshot of the formula used to split the first name from a full name into a separate column

2. 在E5单元格中输入以下公式并按回车键获取第一个中间名字。选中结果单元格,向下拖动自动填充柄获取其他中间名字。

=MID(B5, SEARCH(" ", B5) +1, SEARCH(" ", B5, SEARCH(" ", B5)+1) - SEARCH(" ", B5)-1)

A screenshot of the formula used to split the middle name from a full name into a separate column

3. 若需获取姓,在F5单元格中输入以下公式并按回车键,然后选中结果单元格,向右拖动自动填充柄至所需单元格。

=RIGHT(B5,LEN(B5) - SEARCH(" ",B5, SEARCH(" ",B5,1)+1))

A screenshot of the formula used to split the last name from a full name into a separate column

3)使用高效工具将全名拆分为教名、中间名字和姓

这里介绍Kutools for Excel的“分割姓名 ”功能,您只需几次点击即可将全名一次性拆分为教名、中间名字和姓。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1.选择需要拆分的全名单元格,然后点击Kutools > 合并与拆分 > 分割姓名

2. 在“分割姓名”对话框中,需进行如下设置。

2.1)所选区域会显示在“ 分割区域”框中,可根据需要修改;
2.2)在“分割类型”区域,勾选“ 教名”、“中间名字”和“”选项;
2.2)点击“确定”按钮。

A screenshot of the Split Names dialog box where the first, middle, and last names are selected to be split

3. 在下一个弹出的“分割姓名”对话框中,选择一个目标单元格用于输出拆分后的文本,然后点击“确定”。见下方演示。

A GIF showing the Split Names feature in Kutools for Excel splitting full names into first, middle, and last names

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取

示例 #8 拆分单元格中的文本和数字

假设有一组包含文本和数字混合的字符串,如下图所示,若需将文本和数字分列显示,本文为您提供四种方法。

A screenshot showing a list of text strings containing both text and numbers

使用公式拆分文本和数字

通过以下公式,可将单元格中的文本和数字分别拆分到两个单元格。

通用公式

提取文本

=LEFT(cell,MIN(FIND({0,1,2,3,4,5,6,7,8,9},cell&"0123456789"))-1)

提取数字

=RIGHT(cell,LEN(B5)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},cell&"0123456789"))+1)

随后,在不同单元格中应用这两个公式,即可分别获得文本和数字。

1.选择一个空白单元格,用于放置列表中第一个文本字符串的文本部分,复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取列表中其他文本字符串的文本。

=LEFT(B5,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B5&"0123456789"))-1)

A screenshot showing the formula to extract text from a cell in Excel

2. 在第一个结果单元格(D5)旁边的E5单元格中,复制或输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取列表中其他文本字符串的数字。

=RIGHT(B5,LEN(B5)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},B5&"0123456789"))+1)

A screenshot showing the formula to extract numbers from a cell in Excel

使用“闪填”(2013及更高版本)拆分文本和数字

如果您使用的是Excel2013或更高版本,可利用内置的“闪填”功能将文本和数字从一个单元格拆分到两列。

备注:要使“闪填”功能生效,需将结果列放在原始文本字符串列的右侧。例如,若原始文本在B列,拆分后的文本和数字应分别放在C列和D列。见下图:

A screenshot showing Excel's Flash Fill feature being used to split text and numbers into columns

1. 在C5单元格手动输入第一个文本字符串单元格(D5)的文本部分。

2. 在C6单元格继续输入第二个文本字符串单元格(D6)的文本部分。

A screenshot showing manually typing the first example of split text in Excel

3. 激活C7单元格,点击“数据”>“ 闪填”。

A screenshot showing the Flash Fill option in Excel

随后,其他文本字符串的文本部分会自动填充到单元格中,如下图所示。

A screenshot showing text filled automatically in Excel using Flash Fill

4. 重复步骤1至3,将数字填充到D列。

A screenshot showing the split numbers filled automatically in Excel using Flash Fill

注意事项

1)若文本字符串不规则,可能会返回错误值。可按Ctrl + Z撤销“闪填”,然后尝试其他方法。
2)若“闪填”无效,请点击“文件”>“选项”。在“Excel选项”窗口左侧点击“高级”,勾选“编辑选项”区域的“自动” “闪填”复选框,然后点击“确定”

A screenshot showing how to enable the Flash Fill feature in Excel options

使用自定义函数拆分文本和数字

若列表中的文本字符串不规则,前两种方法可能会返回错误结果,如下图所示。

A screenshot showing incorrect results from using Flash Fill in Excel with irregular data

这里介绍自定义函数,无论数字在文本字符串中的位置如何,都能将文本和数字拆分到两列。见下图:

A screenshot showing correct results using a user-defined function in Excel to split text and numbers

1. 按下Alt + F11组合键。

2. 在打开的Microsoft Visual Basic for Applications窗口中,点击“插入”>“模块”,然后将以下VBA代码复制到代码窗口。

VBA代码:将单元格中的文本和数字拆分到两列

Public Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Update by Extendoffice 20211105
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
    xStr = VBA.Mid(pWorkRng.Value, i, 1)
    If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
        SplitText = SplitText + xStr
    End If
Next
End Function

A screenshot showing the Microsoft Visual Basic for Applications window

3. 按下Alt + Q组合键关闭 Microsoft Visual Basic for Applications窗口。

4.选择一个单元格用于输出第一个文本字符串的文本部分,输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取同一列表中其他文本字符串的文本。

=SplitText(B5,FALSE)

A screenshot showing the formula used to extract text using a user-defined function in Excel

5. 在第一个文本结果单元格旁边选择一个单元格用于输出数字,输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他文本字符串的数字。

=SplitText(B5,TRUE)

A screenshot showing the formula used to extract numbers using a user-defined function in Excel

使用高效工具拆分文本和数字

这里推荐最简单的方法:一次性将单元格中的文本和数字拆分到两列。使用Kutools for Excel的“分割单元格”功能,只需几次点击即可轻松完成。

1.选择需要将文本和数字拆分为两列的文本单元格。

2. 点击Kutools > 合并与拆分 > 分割单元格

3. 在“分割单元格”对话框中,需进行如下设置。

3.1)所选区域会显示在 分割区域 框中,您可点击 Range selection button 按钮,根据需要选择新区域;
3.2)在“类型”区域,选择“分割至多行”或“分割至多列”;
3.3)在“分隔依据”区域,选择“拆分为文本和数字”单选项;
3.4)点击“确定”按钮。

A screenshot showing the Split Cells dialog box settings

4. 在下一个“分割单元格”对话框中,选择一个单元格用于输出拆分后的文本和数字,然后点击“确定”。

随后,选中单元格中的文本和数字将一次性拆分到两列,如下图所示。

A screenshot showing the result after splitting text and numbers into two columns in Excel using Kutools

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取


2. 拆分数字单元格

本部分介绍两种数字单元格拆分场景:将多位数字拆分为单个数字,以及按小数点拆分数字,分别提取整数和小数部分。

示例 #1:按数字位数拆分单元格

若需将多位数字拆分为单个数字并分别放入不同列,可尝试以下任一方法。

A screenshot showing the method of splitting a number into individual digits in Excel with multiple columns

使用公式将单元格中的数字拆分为单个数字

以下公式可帮助将数字拆分为单个数字,并分别放入不同列。

通用公式

=MID($A1, COLUMNS($A$1:A$1),1)

参数说明

A1:表示包含待拆分数字的单元格。

1.选择一个空白单元格用于输出第一个数字,输入以下公式并按回车键。

=MID($B3, COLUMNS($B$3:B$3),1)

2.选中结果单元格,向右拖动自动填充柄获取其他数字。保持所有结果单元格选中状态,再向下拖动自动填充柄获取其他数字的单个数字。

A screenshot showing the result of splitting a number into individual digits in Excel

备注:公式中的B3为待拆分的数字单元格,可根据实际需求更改。

使用VBA将单元格中的数字拆分为单个数字

以下VBA代码同样可帮助您在Excel中将单元格中的数字拆分为单个数字。具体操作如下。

1. 按下Alt + F11组合键,打开 Microsoft Visual Basic for Applications窗口。

2. 在Microsoft Visual Basic for Applications窗口中,点击“插入”>“模块”,然后将以下VBA代码复制到代码窗口。

VBA代码:在Excel中将数字拆分为单个数字

Sub SplitNumberIntoDigits()
'Updateby Extendoffice 2021118
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "Kutools for Excel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
 xInt = InputRng.Row

Application.ScreenUpdating = False

For Each Rng In InputRng
    xValue = Rng.Value
    xRow = (Rng.Row - xInt) + 1
    For I = 1 To VBA.Len(xValue)
        OutRng.Cells(xRow, I).Value = VBA.Mid(xValue, I, 1)
    Next
Next
Application.ScreenUpdating = True
End Sub

A screenshot of the Microsoft Visual Basic for Applications window showing VBA code for splitting numbers into individual digits

3. 按下F5键运行代码,随后会弹出Kutools for Excel对话框,选择需要拆分的数字单元格区域,然后点击“确定”。

A screenshot of the Kutools for Excel dialog box used to select a range of number cells to split

4. 第二个 Kutools for Excel对话框弹出后,选择一个单元格用于输出单个数字,然后点击“确定”。

A screenshot of the Kutools for Excel dialog box used to select the cell for output when splitting number cells into digits

备注:此代码同样可将单词拆分为单个字母。

随后,选中单元格中的数字将拆分为单个数字,并分别放入不同列。

A screenshot showing the result of splitting number cells into individual digits using Kutools

使用高效工具轻松将数字拆分为单个数字

Kutools for Excel的“ 分割单元格”功能是一款便捷工具,帮助您轻松将数字拆分为单个数字。

1. 安装Kutools for Excel后,选择需要拆分的数字单元格区域,点击Kutools > 合并与拆分 > 分割单元格

2. 在“分割单元格”对话框中,进行如下设置。

2.1)在 分割区域 区域中,可看到所选区域已显示在文本框中。您可点击 Range selection button 按钮,根据需要更改区域;
2.2)在“类型”区域,根据需要选择“ 分割至多行”或“分割至多列”;
2.3)在“分隔依据”区域,选择“指定宽度”单选项,并在文本框中输入数字1
2.4)点击“确定”按钮。

A screenshot of the Split Cells dialog box with the option to split cells into rows or columns

3. 在弹出的“分割单元格”对话框中,选择一个空白单元格用于输出数字,然后点击“确定”。

A screenshot of the Split Cells dialog box with the output destination for individual digitsb

随后,选中单元格中的数字将一次性拆分为单个数字。

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取

示例 #2 按小数点拆分数字

本节介绍几种方法,帮助您在Excel中将数字按小数点拆分为整数和小数部分。

A screenshot of a sample table showing number cells to split at decimals

使用公式按小数点拆分数字

可通过TRUNC函数将数字按小数点拆分。具体操作如下。

通用公式

提取整数部分

=TRUNC(A1)

提取小数部分

=A1-TRUNC(A1)

参数说明

A1:表示需要按小数点拆分的单元格。

随后,可应用这两个公式,将指定区域内的数字按小数点拆分。

1.选择一个单元格用于放置第一个数字单元格的整数部分,输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他数字单元格的整数部分。

=TRUNC(B5)

A screenshot of the result after splitting a number into integer portion using the TRUNC function

2. 在第一个结果单元格旁边选择一个单元格用于放置小数部分,输入以下公式并按回车键。选中结果单元格,向下拖动自动填充柄获取其他数字单元格的小数部分。

=B5-TRUNC(B5)

A screenshot of the result after splitting a number into decimal portion using the TRUNC function

使用“数据分栏”按小数点拆分数字

可通过“数据分栏”功能将数字按小数点拆分。

1.选择需要按小数点拆分的数字单元格区域,然后点击“数据”> “数据分栏”

2. 在“文本分栏向导 –3步之第1步”对话框中,选择“分隔符号”单选项并点击“下一步”。

A screenshot of the 'Step 1 of 3' dialog box of the Text to Columns feature in Excel, with the 'Delimited' radio button selected

3. 在 第2步对话框中,仅勾选“其他”复选框,在文本框中输入点号,然后点击“下一步”。

A screenshot of the 'Step 2 of 3' dialog box of the Text to Columns feature in Excel, with the 'Other' checkbox selected and a dot entered

4. 在 第3步 对话框中,点击 Range selection button 按钮,选择一个目标单元格用于输出拆分后的整数和小数,最后点击 完成 按钮。见下图:

A screenshot of the 'Step 3 of 3' dialog box of the Text to Columns feature in Excel, with the destination cell selected

随后,选中单元格中的整数和小数部分将被拆分出来,如下图所示。但小数部分会丢失负号,用户可能需要注意。

A screenshot of the result after splitting a number into integer and decimal parts using Text to Columns, showing a negative decimal issue

使用“闪填”(2013及更高版本)按小数点拆分数字

上文已介绍如何用“ 闪填”功能拆分单元格中的文本和数字,这里同样适用于按小数点拆分数字。

1. 输入几个示例。本例在C5输入B5的整数部分,在C6输入B6的整数部分。见下图:

备注:对于负数,记得输入负号。

A screenshot of the Flash Fill method being applied to extract the integer portion of a number in Excel

3.选中要填充的列(包括示例),点击“数据”>“ 闪填”。

A screenshot of the Flash Fill option in Excel

随后,指定数字单元格的整数部分将被提取出来,如下图所示。

A screenshot showing the extracted integer portion after using Flash Fill on number cells in Excel

4. 重复上述步骤,将小数部分拆分出来。

A screenshot showing the extracted decimal portion after using Flash Fill on number cells in Excel


3. 拆分日期单元格

另一种常见需求是拆分日期单元格。若需将日期单元格拆分为日、月和年,或将日期单元格拆分为日期和时间,可根据实际需求选择以下解决方案。

示例 #1 将日期单元格拆分为日、月和年

假设B5:B9区域有一组日期,需将每个日期值拆分为三列(日、月、年),以下三种方法可帮助您实现日期拆分。

A screenshot of a list of date cells in Excel, showing an example of date values in column B5:B9

使用公式将日期单元格拆分为日、月和年

可分别基于DATEMONTHYEAR函数的三个公式,将日期拆分为日、月和年。

通用公式

=DATE(A1)

=MONTH(A1)

=YEAR(A1)

参数说明

A1:表示需要拆分为日、月和年的日期单元格。

1. 创建三列用于分别放置日、月和年。

2. 在“日”列的第一个单元格中输入以下公式并按回车键,获取第一个日期单元格(B5)的日。选中结果单元格,向下拖动自动填充柄获取其他日期单元格的日。

=DAY(B5)

A screenshot of a formula in Excel to extract the day from a date, using the DAY function in the Day column

3. 按照第1步的操作,在“”和“”列分别应用以下公式,获取日期单元格的月和年。

获取日期的月

=MONTH(B5)

A screenshot of a formula in Excel to extract the month from a date, using the MONTH function in the Month column

获取日期的年

=YEAR(B5)

A screenshot of a formula in Excel to extract the year from a date, using the YEAR function in the Year column

使用“数据分栏”将日期单元格拆分为日、月和年

可按照上述步骤,应用“数据分栏”功能 将日期单元格拆分为日、月和年。

备注:在 第2步对话框中,仅勾选“其他”选项,并在文本框中输入“/”符号。

A screenshot of the 'Text to Columns' dialog box in Excel, with the 'Other' option checked and a slash (/) symbol entered to split date cells

使用高效工具将日期单元格拆分为日、月和年

以下演示展示如何通过Kutools for Excel的“分割单元格”功能,将日期拆分为月、日和年。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

该功能可帮助您仅需几次点击即可批量拆分日期。

点击了解更多关于此功能的信息。

A screenshot of a gif showing the Split Cells feature, splitting date cells into day, month, and year

Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取

示例 #2 拆分单元格中的日期和时间

假设B5:B9区域有一组日期时间列表,需将日期和时间分别拆分到不同列,本节将演示多种实现方法。

A screenshot of a list of date-time cells in Excel, showing examples of dates and times in column B5:B9

使用公式拆分单元格中的日期和时间

可通过以下公式将日期和时间分别拆分到不同列。

1. 创建两列用于分别放置日期和时间。

2.需将日期列单元格设置为日期格式,时间列单元格设置为时间格式。

1)选中日期区域,右键点击并选择“设置单元格格式”。在“设置单元格格式”对话框中,选择“日期”分类,在“类型”框中选择所需日期格式,然后点击“确定”保存。

A screenshot of the Format Cells dialog box in Excel, with the Date category selected to format a date column

2)选中时间区域,右键点击并选择“ 设置单元格格式”。在“ 设置单元格格式”对话框中,选择“时间”分类,在“类型”框中选择所需时间格式,然后点击“确定”保存。

A screenshot of the Format Cells dialog box in Excel, with the Time category selected to format a time column

3. 在“日期”列的第一个单元格中输入以下公式并按回车键,获取B5的日期。选中结果单元格,向下拖动自动填充柄获取其他日期。

=INT(B5)

A screenshot of an Excel formula to extract the date portion from a date-time value, using the INT function

4. 在时间列应用以下公式,获取B5:B9的时间。

=B5-D5

A screenshot of an Excel formula to extract the time portion from a date-time value, using the formula =B5-D5

使用“闪填”(2013及更高版本)拆分单元格中的日期和时间

如果您使用的是Excel2013及更高版本,可利用内置的“闪填”功能将日期和时间分别拆分到不同列。

1. 创建“日期”和“时间”列,并输入几个示例作为输出。在“日期”列输入B5的日期到C5,B6的日期到C6;在“时间”列输入B5的时间到D5,B6的时间到D6。见下图:

A screenshot showing examples of date and time values entered manually in Excel columns for Flash Fill to split them

2.选中要填充的“日期”列(包括示例),点击“数据”>“ 闪填”。

3.选中要填充的“时间”列(包括示例),同样启用“闪填”功能。随后,B5:B9区域的日期和时间将分别拆分到不同列,如下方演示。

A screenshot of a gif demonstrating Excel's Flash Fill feature automatically splitting date and time values into separate columns

现在,您已学会在不同场景下使用多种方法拆分Excel单元格。可根据实际需求选择最合适的方法。

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!