跳至主要内容

在 Excel 中分割单元格(详细步骤的完整指南)

Author: Siluvia Last Modified: 2025-05-07

在 Excel 中,您可能需要分割单元格数据的原因有很多。例如,原始数据可能包含多个信息合并在一个单元格中,如全名或地址。分割这些单元格可以让您将不同类型的信息分开,使数据更易于清理和分析。本文将作为您的全面指南,展示如何根据特定的分隔符将单元格分割为多行或多列的不同方法。


视频


在 Excel 中将单元格分割为多列

如以下截图所示,假设您有一个全名列表,并希望将每个全名分割为单独的教名和姓氏,并将分割的数据放在不同的列中。本节将演示四种方法来帮助您完成此任务。

example of splitting cells into multiple columns

使用“文本分列”向导将单元格分割为多列

要根据特定分隔符将单元格分割为多列,一种常用的方法是在 Excel 中使用“文本分列”向导。这里,我将逐步向您展示如何使用此向导来实现所需的结果。

步骤1:选择您希望分割的单元格并打开“文本分列”向导

在这种情况下,我选择包含全名的区域 A2:A8。然后转到“数据”选项卡,点击“文本分列”以打开“文本分列”向导。

click Text to Columns under the Data tab

步骤2:在向导中逐步配置步骤
  1. 步骤1/3 向导中,选择 分隔符 选项,然后点击 下一步 按钮。
    select the Delimited option in the first step
  2. 步骤2/3 向导中,选择数据的分隔符,然后点击 下一步 按钮继续。
    在这种情况下,由于我需要根据空格将全名分割为教名和姓氏,因此我只选择“分隔依据”部分中的“空格”复选框。
    select the delimiters for your data in the second step
    备注
    • 如果您需要的分隔符未在此部分显示,您可以选择“其他”复选框并在文本框中输入自己的分隔符。
    • 要通过换行符分割单元格,您可以选择 其他 复选框并按 Ctrl + J 键。
      options to split cells by line break
  3. 在最后一个向导中,您需要进行如下配置:
    1) 在“输出至”框中,选择一个单元格以放置分割数据。这里我选择单元格 C2。
    2) 点击“完成”按钮。
    select a cell to place the split data in the last step
结果

选定单元格中的全名被分割为教名和姓氏,并位于不同的列中。

cell values are separated into separate columns

使用 Kutools方便地将单元格分割为多列

如您所见,“文本分列”向导需要多个步骤才能完成任务。如果您需要更简单的方法,强烈推荐使用 Kutools for Excel 的“分割单元格”功能。使用此功能,您可以方便地根据特定的分隔符将单元格分割为多列或多行,只需在一个对话框中完成设置。

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

安装 Kutools for Excel 后,选择 Kutools > 合并拆分 > 分割单元格以打开“分割单元格”对话框。

  1. 选择包含您希望分割的文本的单元格区域。
  2. 选择“数据分栏”选项。
  3. 选择 空格 (或您需要的任何分隔符)并点击 确定.
    specify the options in the dialog box
  4. 选择一个目标单元格并点击 确定 以获取所有分割数据。
备注:要使用此功能,您应该在计算机上安装 Kutools for Excel。前往下载 Kutools for Excel以获得30 天无限制的免费试用

使用“快速填充”将单元格分割为多列

现在让我们继续第三种方法,即“快速填充”“快速填充”在 Excel2013 中引入,旨在当它识别到模式时自动填充您的数据。在本节中,我将演示如何使用“快速填充”功能从单列中分离出教名和姓氏。

步骤1:在原始列旁边的单元格中手动输入第一个分割数据

在这种情况下,我将把 A 列中的全名分割为单独的教名和姓氏。第一个全名在单元格 A2 中,所以我选择与其相邻的单元格 B2 并输入教名。见截图:

 enter the first split data adjacent to the original column
步骤2:应用“快速填充”自动填充所有教名

开始在 B2 下方的单元格(即 B3)中输入第二个教名,然后 Excel 会识别模式并生成其余教名的预览,您需要按 Enter 键接受预览。

Apply the Flash Fill feature
提示:如果在您填充第二个单元格时 Excel 未识别模式,请手动填充该单元格的数据,然后继续到第三个单元格。当您开始在第三个连续单元格中输入数据时,模式应该会被识别。

现在 A 列中全名的所有教名都在 B 列中分离出来。

 all first names are extracted
步骤3:在另一列中获取全名的姓氏

您需要重复上述步骤1 和2,将 A 列中的全名的姓氏分割到教名列旁边的列中。

结果
repeat the steps to get last names of full names in another column
备注
  • 此功能仅在 Excel2013及更高版本中可用。
  • 您还可以通过以下方法之一访问“快速填充”。
    • 通过快捷键
      在 B2 单元格中输入教名后,选择范围 B2:B8,按 Ctrl + E 键自动填充其余教名
      access the Flash Fill by shortcut
    • 通过功能区选项
      在 B2 单元格中输入教名后,选择范围 B2:B8,点击“开始”选项卡下的“填充”>“快速填充”。
      access the Flash Fill by ribbon option

使用公式将单元格分割为多列

上述方法不是动态的,这意味着如果源数据发生变化,我们需要重新运行相同的过程。以同样的例子为例,要将 A 列中的全名列表分割为单独的教名和姓氏,并使分割数据在源数据发生变化时自动更新,请尝试以下公式之一

sample of splitting cells into multiple columns
使用 LEFT、RIGHT、MID 和其他函数逐一分割第一、第二、第三个……文本,这些函数在所有版本的 Excel 中都可用。
与“文本分列”向导的工作方式相同,是仅在 Excel for Microsoft365 中可用的全新功能。

使用 TEXT 函数根据特定分隔符将单元格分割为列

本节提供的公式在所有 Excel版本中均可用。要应用这些公式,请按以下步骤操作。

步骤1:提取第一个分隔符之前的文本(在此情况下为教名)

  1. 选择一个单元格(在此情况下为 C2)以输出教名,输入以下公式并按 Enter 以获取 A2 中的教名。
    =LEFT(A2,SEARCH(" ",A2)-1)
    Extract the text before the first delimiter
  2. 选择此结果单元格并向下拖动其自动填充柄以获取其余的教名。
     drag its AutoFill Handle down to get the rest of the first names

步骤2:提取第一个分隔符之后的文本(在此情况下为姓氏)

  1. 选择一个单元格(在此情况下为 D2)以输出姓氏,输入以下公式并按 Enter 以获取 A2 中的姓氏。
    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
    Extract the text after the first delimiter
  2. 选择此结果单元格并向下拖动其自动填充柄以获取其余的姓氏。
    drag its AutoFill Handle down to get the rest of the last names
备注
  • 在上述公式中:
    • A2 是包含我希望分割的全名的单元格。
    • 引号中的空格表示单元格将通过空格进行分割。您可以根据需要更改引用单元格和分隔符。
  • 如果一个单元格 包含多个需要通过空格分割的文本 ,则上述第二个公式将返回错误结果。您将需要额外的公式来正确分割第二个、第三个以及通过空格分隔的第 N 个值。
    • 使用以下公式 返回第二个单词 (例如,中间名字)通过空格分隔。
      =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)),100,100))
      another formula to return the second word if there  are more than two texts in a cell
    • 将第二个 100 更改为 200获取第三个单词 (例如,姓氏)通过空格分隔。
      =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)),200,100))
       formula to return the third word
    • 通过将200 更改为300400500 等,您可以获取第四个、第五个、第六个及后续的单词
使用 TEXTSPLIT 函数根据特定分隔符将单元格分割为列

如果您使用的是 Excel for Microsoft365,更推荐使用 TEXTSPLIT 函数。请按以下步骤操作。

步骤1:选择一个单元格以输出结果。这里我选择单元格 C2

步骤2:输入以下公式并按 Enter

=TEXTSPLIT(A2," ")

您可以看到 A2 中通过空格分隔的所有文本被分割到不同的列中。

Use the TEXTSPLIT function to split cells into columns

步骤3:拖动公式以获取所有结果

选择同一行中的结果单元格,然后向下拖动自动填充柄以获取所有结果。

备注
  • 此功能仅在 Excel for Microsoft365 中可用。
  • 在此公式中
    • A2 是包含我希望分割的全名的单元格。
    • 引号中的空格表示单元格将通过空格进行分割。您可以根据需要更改引用单元格和分隔符。

在 Excel 中将单元格分割为多行

如下面的截图所示,区域 A2:A4 中有一个订单详情列表,数据需要通过斜杠分割以提取不同类型的信息,如项目、数量、单价和日期。为了完成此任务,本节演示了三种方法。

sample of splitting cells into multiple rows

使用 TEXTSPLIT 函数将单元格分割为多行

如果您使用的是 Excel for Microsoft365,TEXTSPLIT 函数方法可以轻松帮助您。请按以下步骤操作。

步骤1:选择一个单元格以输出结果。这里我选择单元格 B6

步骤2:输入以下公式并按 Enter

=TEXTSPLIT(A2,,"/")

A2 中的所有文本根据“斜杠”分隔符被分割为单独的行。

Split cells into multiple rows with TEXTSPLIT function

要根据斜杠将 A3 和 A4 中的数据分割为单独的行,只需使用下面的适当公式重复步骤1 和2。

C6 中的公式:

=TEXTSPLIT(A3,,"/")

D6 中的公式:

=TEXTSPLIT(A4,,"/")

结果

result of getting the separated values in multiple rows
备注:
  • 此功能仅在 Excel for Microsoft365 中可用。
  • 在上述公式中,您可以根据数据将引号中的斜杠 / 更改为任何分隔符。

使用 Kutools方便地将单元格分割为多行

尽管 Excel 的 TEXTSPLIT 功能非常有用,但它仅限于 Excel for Microsoft365 用户。此外,如果您有多列中的多个单元格需要分割,您将需要对每个单元格单独应用不同的公式以获得结果。相比之下,Kutools for Excel 的“分割单元格”功能适用于所有 Excel版本。它提供了一种简单高效的解决方案,只需几次点击即可将单元格分割为多行或多列。

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

安装 Kutools for Excel 后,点击 Kutools > 合并拆分 > 分割单元格以打开“分割单元格”对话框。

  1. 选择包含您希望分割的文本的单元格区域。
  2. 选择“分割至多行”选项。
  3. 选择您需要的分隔符(这里我选择 其他 选项并输入斜杠),然后点击 确定.
    specify the options in the dialog box
  4. 选择一个目标单元格并点击 确定 以获取所有分割数据
备注:要使用此功能,您应该在计算机上安装 Kutools for Excel。前往下载 Kutools for Excel以获得30 天无限制的免费试用

使用 VBA代码将单元格分割为多行

本节为您提供了一个 VBA代码,可以轻松地将单元格分割为 Excel 中的多行。请按以下步骤操作。

步骤1:打开 Microsoft Visual Basic for Applications 窗口

Alt + F11 键打开此窗口。

步骤2:插入模块并输入 VBA代码

点击“插入”>“模块”,然后将以下 VBA代码复制并粘贴到模块(代码)窗口中。

copy and paste the code into the module

VBA代码:在 Excel 中将单元格分割为多行

Option Explicit

Sub SplitCellsToRows()
'Updated by Extendoffice 20230727
    Dim inputRng As Range
    Dim outputRng As Range
    Dim cell As Range
    Dim splitValues() As String
    Dim delimiter As String
    Dim i As Long
    Dim columnOffset As Long
    On Error Resume Next
    
    Set inputRng = Application.InputBox("Please select the input range", "Kutools for Excel", Type:=8) ' Ask user to select input range
    If inputRng Is Nothing Then Exit Sub ' If the user clicked Cancel or entered nothing, exit the sub
    Set outputRng = Application.InputBox("Please select the output range", "Kutools for Excel", Type:=8) ' Ask user to select output range
    If outputRng Is Nothing Then Exit Sub ' If the user clicked Cancel or entered nothing, exit the sub
    delimiter = Application.InputBox("Please enter the delimiter to split the cell contents", "Kutools for Excel", Type:=2) ' Ask user for delimiter
    If delimiter = "" Then Exit Sub ' If the user clicked Cancel or entered nothing, exit the sub
    If delimiter = "" Or delimiter = "False" Then Exit Sub ' If the user clicked Cancel or entered nothing, exit the sub
    
    Application.ScreenUpdating = False
    
    columnOffset = 0
    For Each cell In inputRng
        If InStr(cell.Value, delimiter) > 0 Then
            splitValues = Split(cell.Value, delimiter)
            For i = LBound(splitValues) To UBound(splitValues)
                outputRng.Offset(i, columnOffset).Value = splitValues(i)
            Next i
            columnOffset = columnOffset + 1
        Else
            outputRng.Offset(0, columnOffset).Value = cell.Value
            columnOffset = columnOffset + 1
        End If
    Next cell
    
    Application.ScreenUpdating = True
End Sub
步骤3:运行 VBA代码

F5 键运行代码。然后您需要进行以下配置。

  1. 将出现一个对话框,提示您选择要分割数据的单元格(这里我选择区域 A2:A4)。选择后,点击 确定.
     vba code to select the data to split
  2. 在第二个弹出的对话框中,您需要选择输出区域(这里我选择单元格 B6),然后点击 确定.
    vba code to select the output range
  3. 在最后一个对话框中,输入用于分割单元格内容的分隔符(这里我输入斜杠),然后点击 确定 按钮。
    vba code to enter the delimiter to split the cell contents based on
结果

选定范围内的单元格同时被分割为多行。

Cells in the selected range are split into multiple rows

使用 Power Query 将单元格分割为多行

另一种通过特定分隔符将单元格分割为多行的方法是使用 Power Query,它还可以使分割数据随源数据动态变化。此方法的缺点是需要多个步骤才能完成。让我们深入了解它是如何工作的。

步骤1:选择您要分割为多行的单元格,选择“数据”>“从表/区域”
 select Data > From Table / Range
步骤2:将选定的单元格转换为表格

如果选定的单元格不是 Excel 表格格式,将弹出一个“创建表格”对话框。在此对话框中,您只需验证 Excel 是否正确选择了您的单元格范围,标记您的表格是否有页眉,然后点击“确定”按钮。如果选定的单元格是 Excel 表格,跳到步骤3。

Convert the selected cells to table
步骤3:选择“按分隔符分割列”

将弹出一个“表格 – Power Query 编辑器”窗口,点击“开始”选项卡下的“分割列”>“按分隔符”。

Choose Split Column By Delimiter
步骤4:配置“按分隔符分割列”对话框
  1. 在“选择或输入分隔符”部分,指定用于分割文本的分隔符(这里我选择“自定义”并在文本框中输入斜杠 /)。
  2. 展开“高级选项”部分(默认情况下是折叠的)并选择“”选项。
  3. 在“引号字符”部分,从下拉列表中选择“”;
  4. 点击 确定.
    Configure the Split Column by Delimiter dialog box
步骤5:保存并加载分割数据
  1. 在这种情况下,由于我需要为我的分割数据指定一个自定义目标,我点击 关闭并加载 > 关闭并加载到.
    Save and load the split data
    提示:要在新工作表中加载分割数据,请选择“关闭并加载”选项。
  2. 导入数据 对话框中,选择 现有工作表 选项,选择一个单元格以放置分割数据,然后点击 确定.
    choose the Existing worksheet option, and select a cell to locate the split data
结果

然后选定范围内的所有单元格通过指定的分隔符在同一列中分割为不同的行。

all cells in the selected range are split into different rows

总之,本文探讨了在 Excel 中将单元格分割为多列或多行的不同方法。无论您选择哪种方法,掌握这些技巧都可以大大提高您处理 Excel 数据的效率。继续探索,您会找到最适合您的方法。

最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!