跳至主要内容

如何在 Excel 中将单元格值垂直拆分?

Author: Xiaoyang Last Modified: 2025-05-08

在使用 Excel 时,您可能会遇到需要将单行或多行中的多个值转换为垂直列表的情况。当数据以横向格式存储但需要以列格式进行处理或分析时,这尤其有用。

本指南将介绍三种高效的方法来将单元格值垂直转换:

在 Excel 中将单元格值垂直拆分为多行


通过公式(Excel 365)将单元格值垂直拆分为多行

如果您使用的是 Excel 365,可以利用 TEXTSPLIT、TEXTJOIN 和 TRANSPOSE 函数,在无需手动操作的情况下将单元格值垂直转换。

请将以下公式复制并粘贴到空白单元格中,然后按“Enter”键,Excel 将自动将数据填充到多行中,请参见截图:

=TRANSPOSE(TEXTSPLIT(TEXTJOIN(";", TRUE, A1:A4), ";"))
📝 注意:您可以修改公式中的分隔符(;),以匹配您的数据。

 split cells vertically with a formula

🔍 公式解释:
  1. TEXTJOIN(";", TRUE, A1:A4):将 A1 至 A4 单元格中的文本合并为一个字符串,并用分号 (;) 分隔。
  2. TEXTSPLIT(...):使用分号作为分隔依据,将合并后的字符串重新分割为单独的值。
  3. TRANSPOSE(...):将生成的垂直值列表转换为水平行(或者根据原始方向进行相反的转换)。
优点与缺点:

优点:

  • ✔ 动态更新:如果源数据发生变化,公式会自动更新结果。
  • ✔ 无需手动操作:消除了重复手动拆分的需要。
  • ✔ 可自定义分隔符:将分号 (;) 替换为任何分隔符(例如逗号、空格)以适应您的数据。

缺点:

  • ✘ 仅适用于 Excel 365,不适用于旧版 Excel。

通过 Kutools for Excel 将单元格值垂直拆分为多行

如果您使用的是 Excel 2019 或更早版本,可以使用“Kutools for Excel”—— 一款功能强大的插件,拥有专门的工具来轻松转换和管理数据。通过其“拆分到多行”功能,您可以根据所需的任何分隔符无缝地将单元格值垂直转换。

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

安装“Kutools for Excel”后,请按照以下步骤操作:

  1. 点击“Kutools” > “合并与分割” > “拆分到多行”,请参见截图:
     Click Kutools > Merge & Split > Split Data to Rows
  2. 在“拆分到多行”对话框中,指定以下操作:
    • 选择要拆分的单元格;
    • 在“分隔依据”部分,选择分隔符以定义单元格内容应如何拆分。这里我将选择“分号”。
    • 最后,点击“确定”按钮。
       specify the options in the dialog box

结果:数据将被转换为垂直列。
 split cells vertically with kutools

📝 注意:此方法直接在源区域拆分数据,因此建议在使用前复制并备份原始数据。
优点与缺点:

优点:

  • ✔ 适用于所有 Excel 版本(2010、2013、2016、2019、2021、365)
  • ✔ 无需复杂公式或编码。
  • ✔ 支持多种分隔符。
  • ✔ Kutools 提供了超过 300 种数据操作工具,节省其他任务的时间。

缺点:

  • ✘ 需要安装 Kutools

通过 VBA 代码将单元格值垂直拆分为多行

对于高级用户,VBA 提供了一种强大的解决方案,可以自动将单元格值垂直拆分。以下 VBA 代码使您可以轻松地使用任何自定义分隔符将单元格内容拆分为多行。

1. 按住“ALT” + “F11”键打开“Microsoft Visual Basic for Applications”窗口。

2. 点击“插入” > “模块”,并将以下代码粘贴到“模块”窗口中。

VBA 代码:通过特定分隔符将单元格值垂直拆分为多行

Sub splitvertically()
'updatebyExtendoffice
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xCell As Range
    Dim xTxt As String
    Dim xStr As String
    Dim xOutArr As Variant
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOutRg = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    For Each xCell In xRg
        If xStr = "" Then
            xStr = xCell.Value
        Else
            xStr = xStr & ";" & xCell.Value
        End If
    Next
    xOutArr = VBA.Split(xStr, ";")
    xOutRg.Range("A1").Resize(UBound(xOutArr) + 1, 1) = Application.WorksheetFunction.Transpose(xOutArr)
End Sub

3. 然后按“F5”键运行此代码,将会弹出一个提示框,提醒您选择要垂直拆分的单元格值,请参见截图:
 vba to select the data range

4. 然后点击“确定”按钮,另一个对话框将弹出,提醒您选择一个单元格放置结果,请参见截图:
 vba to select the output range

5. 点击“确定”按钮,单元格值已通过分隔符拆分为列表,请参见截图:
 vba to split the cells vertically

📝 注意:在上述代码中,您可以将分号 ; 更改为任何其他所需的分隔符。
优点与缺点

优点:

  • ✔ 自动化流程,节省时间
  • ✔ 适用于所有 Excel 版本
  • ✔ 可根据不同分隔符进行自定义

缺点:

  • ✘ 需要具备 VBA 编程的基本知识
  • ✘ 对初学者来说稍显复杂

在 Excel 中将单元格值垂直转换可以通过多种方法实现,每种方法都有其独特的优势。通过了解这些方法,您可以根据具体需求选择最佳方案,优化 Excel 中的工作流程。无论您是初学者还是高级用户,这些工具和技术都将帮助您更高效地处理数据。如果您有兴趣探索更多 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%,每天为您减少数百次鼠标点击!