如何在 Excel 中将单元格值垂直拆分?
在使用 Excel 时,您可能会遇到需要将单行或多行中的多个值转换为垂直列表的情况。当数据以横向格式存储但需要按列格式进行处理或分析时,这尤其有用。
本指南将介绍三种将单元格值垂直转换的高效方法:
在 Excel 中将单元格值垂直拆分为多行
- 使用公式(Excel 365) – 最适合动态和自动转换
- 使用 Kutools for Excel – 快速简便的解决方案,适用于所有 Excel 版本的专用工具
- 使用 VBA 代码 – 适合自动化处理所有 Excel 版本的理想选择
通过公式(Excel 365)将单元格值垂直拆分为多行
如果您使用的是 Excel 365,可以利用 TEXTSPLIT、TEXTJOIN 和 TRANSPOSE 函数来实现单元格值的垂直转换,而无需手动操作。
请将以下公式复制并粘贴到空白单元格中,然后按下“Enter”键,Excel 将自动将数据填充到多行中,请参见截图:
=TRANSPOSE(TEXTSPLIT(TEXTJOIN(";", TRUE, A1:A4), ";"))
- TEXTJOIN(";", TRUE, A1:A4 ): 将 A1 至 A4 单元格中的文本合并为一个字符串,并用分号(;)分隔。
- TEXTSPLIT(...): 使用分号作为分隔符将组合后的字符串重新拆分为独立的值。
- TRANSPOSE(...): 将生成的垂直值列表转换为水平行(反之亦然,取决于原始方向)。
✅ 优点:
- ✔ 动态更新:如果源数据发生变化,公式会自动更新结果。
- ✔ 无需手动操作:消除了重复手动拆分的需求。
- ✔ 可自定义分隔符:将分号(;)替换为任何分隔符(例如逗号、空格)以适应您的数据。
❌ 缺点:
- ✘ 仅适用于 Excel 365,不支持旧版 Excel。
使用 Kutools for Excel 将单元格值垂直拆分为多行
如果您使用的是 Excel 2019 或更早版本,可以使用“Kutools for Excel”—— 一款功能强大的插件,拥有专门用于轻松转换和管理数据的工具。通过其“拆分到多行”功能,您可以无缝地根据所需的任意分隔符将单元格值垂直转换。
安装“Kutools for Excel”后,请按照以下步骤操作:
- 点击“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”键运行此代码,将弹出一个提示框,提醒您选择要垂直拆分的单元格值,请参见截图:
4. 然后点击“确定”按钮,另一个框将弹出,提醒您选择一个单元格放置结果,请参见截图:
5. 点击“确定”按钮,单元格值已被分隔符拆分为列表,请参见截图:
✅ 优点:
- ✔ 自动化流程,节省时间
- ✔ 适用于所有 Excel 版本
- ✔ 可根据不同分隔符进行自定义
❌ 缺点:
- ✘ 需要具备基本的 VBA 编程知识
- ✘ 对初学者来说稍微复杂
在 Excel 中将单元格值垂直转换可以通过多种方法实现,每种方法都有其独特的优势。通过了解这些方法,您可以根据具体需求选择最佳方案,从而优化 Excel 中的工作流程。无论您是初学者还是高级用户,这些工具和技术都将帮助您更高效地处理数据。如果您对探索更多 Excel 技巧感兴趣,我们的网站提供了数千个教程,助您精通 Excel。
最佳Office办公效率工具
🤖 | 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%的工作效率,每天为您减少数百次鼠标点击!
所有Kutools加载项,一键安装
Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。





- 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
- 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
- 协同更高效——提升Office应用间的整体工作效率
- 30天全功能试用——无需注册,无需信用卡
- 超高性价比——比单独购买更实惠