跳至主要内容

如何在 Excel 中将单元格内容拆分为多行(场景 + 工具对比)

Author: Sun Last Modified: 2025-07-31

本指南将引导您了解如何在 Excel 中将单元格的内容拆分为多行。它涵盖了两种常见场景:一种是仅拆分目标单元格(忽略其他列),另一种是在保留其余行数据的同时拆分单元格。提供了几种方法来有效处理这两种情况,从内置的 Excel 函数到高级工具如 Power Query、VBA 和第三方插件等。

两种常见的拆分场景

根据是否需要保留数据集中的其他列,拆分数据可以采取多种形式。在这里,我们定义了两种主要方法,以便您可以选择最适合需求的方式。

场景 1:仅拆分目标单元格(忽略其他列)

有时,您只关心单个单元格内的值。您希望将其拆分为多行以方便阅读,而无需复制同一行中的任何关联数据。

示例

A,B,C

结果:

A
B
C

使用场景:轻量级的数据清理或显示任务,其中其他列无关紧要。

场景 2:拆分单元格并保留其他列数据

在其他情况下,您需要每个拆分的值都与原始行的数据配对——实际上是将该行扩展为多个条目。

示例

美国 | A,B,C

结果:

美国 | A
美国 | B
美国 | C

使用场景:数据规范化,其中保持列之间的关系至关重要。


何时需要将单元格拆分为多行?

拆分单元格的逐步方法

常见问题


何时需要将单元格拆分为多行?

在深入探讨方法之前,重要的是要理解为什么需要拆分单元格。此操作通常是数据清理、重组或可视化工作流的一部分。

典型用例包括:

  • 单列中包含多个值:例如一起存储的标签、ID 或地址。
  • 数据透视表或图表:这些工具更适合标准化的数据格式。
  • 导入数据清理:特别是来自 CRM 导出或调查工具的数据。
  • 数据标准化:使您的表格更易于数据库友好且适合分析。

拆分单元格的逐步方法

现在您已经了解了场景,让我们探索不同的拆分方法——从内置功能到高级自动化。选择适合您的技术熟练程度和使用频率的方法。


方法 1:Excel 原生功能(文本到列 + 转置粘贴选项)

这是一种直接、手动的方法,适用于一次性使用的情况,仅利用 Excel 的内置功能。

适用场景:场景 1 仅拆分目标单元格(忽略其他列)

步骤:

步骤 1. 选择单元格。

步骤 2. 选择 数据 > 文本到列。

doc-method-1-select-text-to-column

步骤 3. 在“转换文本到列向导”中,

  1. 选择 分隔符,点击 下一步。

    doc-method-1-text-to-column-select-delimited

  2. 选择 逗号,点击 下一步。

    doc-method-1-text-to-column-select-comma

  3. 选择 目标单元格,点击 完成。

    doc-method-1-text-to-column-select-destination-cell

现在单元格已按逗号拆分为几列。

doc-method-1-text-to-column

步骤 4. 选择拆分后的单元格,并按 Ctrl + C 键复制它们。右键单击目标单元格,在“粘贴选项”下,选择 转置 图标。

doc-method-1-transpose-paste

内容被转置为多行。

doc-method-1-transpose-paste-result

优点 缺点
  • 无需安装。
  • 易于理解。
  • 不会自动更新。
  • 手动操作且不可扩展。

方法 2:TRANSPOSE(TEXTSPLIT) 函数(Microsoft 365)

此方法结合了 TEXTSPLIT 函数(根据分隔符拆分文本)和 TRANSPOSE 函数,可立即将拆分的值垂直显示在多行中。

适用场景:场景 1 仅拆分目标单元格(忽略其他列)

步骤:

步骤 1. 在您希望垂直列表开始的空白单元格中输入公式。

公式示例:单元格 A1 是用于拆分为多行的目标单元格。

在这种情况下,公式为

=TRANSPOSE(TEXTSPLIT(A1,","))</div)

提示:可以根据数据的分隔方式将分隔符 "," 更改为 ";" 或 "|"。

步骤 2. 按 Enter 键。

doc-method-2-use-transpose-split-function

优点 缺点
  • 完全动态,并且会随着更改自动更新。
  • 无需插件或手动步骤。
  • 仅适用于支持 TEXTSPLIT 和动态数组的 Excel 版本(Excel 365)。

方法 3:Power Query – 拆分和扩展行(Microsoft 2016 及更高版本)

Power Query 非常适合结构化、可重复的操作。它功能强大、刷新方便,非常适合批量数据转换。

适用场景:场景 1(仅拆分目标单元格)和场景 2(拆分单元格并保留其他列数据)

步骤:以场景 1(仅拆分目标单元格)为例

步骤 1. 选择范围,转到 数据 > 获取和转换 > 来自表格/范围。

一个 

步骤 2. 在创建表格窗口中,点击 确定。(如果选定范围有标题,请勾选 我的表格有标题。)

doc-method-3-convert-to-table

步骤 3. 在 Power Query 编辑器中,使用 按分隔符拆分列。

doc-method-3-select-delimiter

步骤 4. 选择或输入分隔符,然后点击 高级 以展开选项,选择 拆分为行,然后点击 确定。

doc-method-3-select-delimiter-and-rows

步骤 5. 选择 关闭并加载 > 关闭并加载 或 关闭并加载至。

doc-method-3-load

  • 关闭并加载

    功能:直接将查询结果加载到默认位置。

    doc-method-3-close-load

  • 关闭并加载至...

    功能:提供可定制的加载选项,允许用户选择数据存储的位置和方式。适用于:常规报告、大型数据集。

相同步骤适用于场景 2(在保留其他列数据的同时拆分单元格)——让我们查看结果。

目标单元格范围:

doc-method-3-scenario-2-target-cells

结果:

result

注意:在 Power Query 编辑器窗口中,仅选择要拆分为行的目标列,然后单击 按分隔符拆分列 下的选项。

优点 缺点
  • 完全自动化。
  • 很好地适应大数据。
  • 需要一点学习成本。
  • 新数据需要刷新。

提示:添加 Trim 和 Clean 步骤以修复空格或特殊字符。


方法 4:Kutools 插件 – 点击即可拆分

如果您经常拆分单元格并且喜欢基于 GUI 的解决方案,Kutools 是一个出色的工具。它可以将复杂操作简化为几次点击。

适用场景:场景 1(仅拆分目标单元格)和场景 2(拆分单元格并保留其他列数据)

步骤:场景 1(仅拆分目标单元格)

步骤 1. 选择目标单元格。

步骤 2. 转到 Kutools > 合并与拆分 > 拆分单元格。

步骤 3. 选择 拆分为多行 并定义分隔符。点击 确定。/p>

doc-method-4-kutools-select-rows-delimiter

步骤 4. 选择目标单元格。点击 确定。

doc-method-4-kutools-select-destination

doc-method-4-kutools-result

立即下载

步骤:场景 2(拆分单元格并保留其他列数据)

步骤 1. 选择要拆分为多行的列。

步骤 2. 转到 Kutools > 合并与拆分 > 拆分数据到多行。

doc-method-4-kutools-split-data-to-rows

步骤 3. 定义分隔符。点击 确定。

doc-method-4-kutools-split-data-to-rows-select-delimiter

doc-method-4-kutools-split-data-to-rows-result

相同步骤适用于场景 2(在保留其他列数据的同时拆分单元格)——让我们查看结果。

目标单元格范围:

doc-method-3-scenario-2-target-cells

结果:

result

优点 缺点
  • 非常易于使用。
  • 只需几次点击即可处理大量数据。
  • 需要插件(并非所有功能免费)。
立即下载

注意:30 天试用版提供全部功能供测试。


方法 5:VBA 脚本 – 完全自定义控制

对于具有编程知识的用户,VBA 提供了极大的灵活性。您可以根据确切的数据布局和业务规则定制脚本。

适用场景:场景 1(仅拆分目标单元格)和场景 2(拆分单元格并保留其他列数据)

步骤:

步骤 1. 按 Alt + F11 打开 VBA 编辑器。

步骤 2. 单击 插入 > 模块。

步骤 3. 复制并粘贴以下 VBA 代码。

场景 1 仅拆分目标单元格

'Update by Extendoffice
Sub SplitCellToRows_Simple()
    Dim InputCell As Range
    Dim Values As Variant
    Dim i As Long

  
    Set InputCell = Range("A1") ' change A1 to your target cell

    Values = Split(InputCell.Value, ",") 
    For i = 0 To UBound(Values)
        InputCell.Offset(i, 1).Value = Trim(Values(i))
    Next i
End Sub

doc-method-5-split-to-rows-simple

场景 2 拆分单元格并保留其他列数据

'Update by Extendoffice
Sub SplitRowsWithOtherColumns()
    Dim ws As Worksheet
    Dim LastRow As Long, i As Long
    Dim arr As Variant, j As Long
    Dim SplitVals As Variant
    Dim CurrentRow As Long

    Set ws = ActiveSheet
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    For i = LastRow To 2 Step -1
        If InStr(ws.Cells(i, 2).Value, ",") > 0 Then
            SplitVals = Split(ws.Cells(i, 2).Value, ",")

            For j = UBound(SplitVals) To 1 Step -1
                ws.Rows(i + 1).Insert Shift:=xlDown
                ws.Cells(i + 1, 1).Value = ws.Cells(i, 1).Value
                ws.Cells(i + 1, 2).Value = Trim(SplitVals(j))
            Next j

            ws.Cells(i, 2).Value = Trim(SplitVals(0))
        End If
    Next i
End Sub

doc-method-5-split-to-rows-complex

注意:此 VBA 脚本配置为专门处理数据位于 A 到 B 列中且要拆分的值在 B 列中的情况。

缺点
  • 必须保存为启用宏的文件 (.xlsm) 以保留脚本供将来使用。

💡提示:

  • 运行宏之前始终备份数据。
  • 根据数据格式将脚本中的 "," 替换为实际分隔符(例如,分号使用 ";" 或管道符使用 "|")。

常见问题

  • 空白行或列:通常由尾部分隔符或隐藏空格引起。
  • 合并单元格错误:开始前取消合并单元格。
  • Power Query 未刷新:修改源数据后请记住点击刷新。
  • 错误的分隔符:分号与逗号的错误可能会导致整个结果错误。

相关文章:

最佳 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%,每天帮你减少上百次鼠标点击!