跳到主要内容

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

作者:晓阳 最后修改时间:2025-02-20

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

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

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


使用公式将单元格值垂直拆分为行(Excel 365)

如果您有 Excel 365,则可以使用 TEXTSPLIT、TEXTJOIN 和 TRANSPOSE 函数垂直转换单元格值,无需手动操作。

请将以下公式复制并粘贴到空白单元格中,然后按 输入 键,Excel会自动将数据溢出到多行,见截图:

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

使用公式垂直拆分单元格

🔍此公式的解释:
  1. TEXTJOIN(";", TRUE, A1:A4 ):将单元格 A1 至 A4 中的文本合并为一个字符串,以分号 (;) 分隔。
  2. 文本分割(...):使用分号作为分隔符将组合字符串拆分回单独的值。
  3. 转置(...):将生成的垂直值列表转换为水平行(或反之亦然,取决于原始方向)。
优点缺点:

优点:

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

缺点:

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

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

如果您使用 Excel 2019 或更早版本,则可以使用 Kutools for Excel – 一个功能强大的插件,带有专门的工具,可轻松转换和管理数据。 将数据拆分为行 功能,您可以根据需要的任何定界符无缝地垂直转换单元格值。

Kutools for Excel 提供 300 多种高级功能来简化复杂任务,提高创造力和效率。 增强人工智能功能,Kutools 可以精确地自动执行任务,使数据管理变得毫不费力。 Kutools for Excel 的详细信息...         免费试用...

安装后 Kutools for Excel,请这样做:

  1. 点击 库工具 > 合并与拆分 > 将数据拆分为行,请参见屏幕截图:
    点击 Kutools > 合并和拆分 > 将数据拆分为行
  2. 将数据拆分为行 对话框,指定以下操作:
    • 选择要拆分的单元格;
    • 分隔符 部分,选择分隔符来定义单元格内容的拆分方式。在这里,我将选择 分号.
    • 最后点击 OK 按钮。
      在对话框中指定选项

结果:数据将转换为垂直列。
使用 kutools 垂直拆分单元格

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

优点:

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

缺点:

  • ✘ 需要安装 Kutools

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

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

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

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 选择数据范围

4。 然后点击 OK 按钮,将弹出另一个框,提醒您选择要放入结果的单元格,请参见屏幕截图:
vba 选择输出范围

5。 点击 OK 按钮,并且单元格值已由分隔符拆分为列表,请参见屏幕截图:
vba 垂直拆分单元格

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

优点:

  • ✔自动化流程,节省时间
  • ✔适用于所有 Excel 版本
  • ✔可以针对不同的分隔符进行定制

缺点:

  • ✘ 需要 VBA 编程的基础知识
  • ✘ 对于初学者来说有点复杂

在 Excel 中垂直转换单元格值可以通过多种方法实现,每种方法都有自己的优势。通过了解这些方法,您可以选择最适合您特定需求的方法并优化 Excel 中的工作流程。无论您是初学者还是高级用户,这些工具和技术都将帮助您更有效、更高效地处理数据。如果您有兴趣探索更多 Excel 技巧和窍门, 我们的网站提供数千个教程来帮助你掌握 Excel.

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

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


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!