KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中将单行数据转换为多列多行的布局?

作者修改日期

在 Excel 中,用户常常需要将一长串单行数据重新整理为更易读的多列多行格式。这种转换在处理导入、导出或手动整理的数据时尤为常见——这些数据通常以横向布局呈现,却需以表格形式进行分析、处理或展示。例如,您可能有一组横向排列在一行中的数据,希望将其重新格式化为清晰的网格结构,如下图所示:

一张截图,展示将单行数据转换为多列多行的效果

将单行数据转换为结构化表格格式具有多重优势:显著提升可读性、便于深入数据分析,并充分释放 Excel 强大工具(如筛选与图表)的潜力。根据具体需求,Excel 提供了多种灵活实现方式——从内置功能、公式技巧,到专用插件乃至 VBA 自动化代码。本文将为您介绍几种实用方法,每种均精准适配不同场景与用户偏好。

目录:


使用“文本分列”和“选择性粘贴转置”功能将单元格行转换为多列或多行

Excel 提供了文本分列选择性粘贴(转置)功能,用于基本数据重组。当您的数据位于单个单元格内,或仅需进行简单结构调整时,这些功能非常实用!

1. 选择需要转换的单元格,然后单击数据 > 文本分列。请参见截图:

2. 在弹出的对话框中,首先选择分隔符号选项,然后单击下一步。在下一步中,勾选分隔符号部分下方的空格(或您数据实际使用的分隔符)。请参见截图:

3. 单击完成,您的单个单元格将根据指定分隔符拆分为多列。您可能需要调整列宽以获得更佳的显示效果。请参见截图:

原始数据的截图
箭头
一张截图,展示以空格分隔的单元格内容被拆分为多个单元格

注意:如果您希望进一步将这些列值转换为多行:

  • 选中新列中的数值,按下 Ctrl + C 即可复制。
  • 右键单击要开始粘贴转置数据的单元格,然后选择选择性粘贴 > 转置。请参见截图:
一张截图,展示使用“选择性粘贴”将 Excel 数据转置为行
箭头
一张截图,展示将列转置后生成的多行数据

此方法适用于数据量可控的简单转换场景,尤其适合初始数据位于单个单元格的情形。但若需将整行数据(而非单个单元格)重新排列为多列多行的网格结构,则仅靠这些功能尚不足够,还需额外进行手动调整。如需更高效的高级解决方案,请继续阅读下文。


使用转换区域将单行转换为多列和多行

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

如果您已安装 Kutools for Excel,即可使用其转换区域工具。该功能让您只需几次点击,就能将单行或单列数据快速转换为多行多列区域,特别适合处理大型数据集,最大限度减少手动复制或复杂公式的使用。

免费安装 Kutools for Excel 后,请按以下步骤操作:free installingKutools for Excel,follow these steps:

1. 选择要转换的单行,然后依次点击 Kutools > 区域 > 转换区域。请参见截图:

2. 在转换区域对话框中,选择单行转区域,并在每条记录的列数区域中指定结果中每行应包含的列数——您可根据所需布局或报告要求灵活设置该数值。请参见截图:

提示:

  • “固定值”用于指定每行包含的项数。例如,如果某行数据包含 18 个值,并将每条记录的列数设为 6,那么您的数据将被重新排列为 3 行,每行 6 列。
  • 如果您的行长度无法被整除,最后一行的列数可能会少于指定数量。

3. 单击确定,系统将提示您选择转换结果的目标单元格。请选择原始区域之外的单元格,以免覆盖原有数据。

一张截图,提示用户选择转换后数据的目标单元格

4. 再次单击确定,您的单行数据将立即转换为整齐排列的多行多列区域。效果如下:

一张截图,展示使用 Kutools 将单行数据转换为多列多行区域的最终结果

注意事项:

  • 此功能还可反向使用——如有需要,可将多列或多行区域压缩为单行或单列。单击此处了解有关转换区域的更多信息。
  • 请务必备份您的数据,或在副本上进行操作,尤其是在源区域与目标区域可能存在重叠的情况下。

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取

使用 Excel INDEX 公式将单行转换为多列和多行

如果您倾向于使用基于公式的方案(适合不愿使用插件或希望通过工作表公式实现自动化的用户),Excel 的 INDEX 函数(通常与 )SEQUENCE 函数结合使用,后者在 Microsoft 365 及更新版本中可用)可高效地将单行数据重塑为二维区域。

此方法可在原始数据与输出结果之间建立动态链接:原始行中的任何更改都会自动同步至多行多列的输出中。

场景示例:假设您的数据位于第 1 行,从单元格 A1R1(共 18 项),希望将其重新排列为 6 列 3 行的结构。

1. 选择目标区域左上角左侧的单元格(例如,单元格 )A3)。

2. 在单元格 A3 中输入以下公式:

=INDEX($A$1:$R$1, SEQUENCE(3,6))

参数说明:范围 $A$1:$R$1 为您的原始行,6 为输出结果中每行的列数。请根据实际需求灵活调整这些参数。

它将自动填充一个 3×6 网格(仅适用于支持动态数组的 Excel 版本)。

局限性:对于超大数据集、复杂的重组需求或需要自定义排序的情况,公式方法可能变得冗长且难以维护。此时,建议考虑使用 VBA 实现自动化(见下文)。


使用 VBA 代码将单行转换为多列和多行

如需实现完全自动化并获得更精细的控制,您可使用 VBA 宏将单行数据转换为指定尺寸的多列多行网格。此方法特别适合处理重复性任务和大型数据集,并能轻松调整以适配不同的输出尺寸。

典型使用场景:您有一行长度可变的数据,希望将其拆分为每行固定数量的列(例如,每 6 个值组成一个新行),并希望避免手动操作或使用公式进行转换。

操作说明:

1. 打开 Excel,按 Alt + F11 即可启动 VBA 编辑器

2. 在 VBA 编辑器中,单击插入> 模块,然后将以下代码粘贴到模块窗口中:

Sub RowToMultiRowCol()
    Dim inputRng As Range
    Dim outputCell As Range
    Dim nCols As Integer
    Dim nData As Integer
    Dim i As Integer
    Dim r As Integer
    Dim c As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set inputRng = Application.InputBox("Select the single row to convert", xTitleId, "", Type:=8)
    Set outputCell = Application.InputBox("Select the top-left cell for the result", xTitleId, "", Type:=8)
    nCols = Application.InputBox("Number of columns per row:", xTitleId, "6", Type:=1)
    
    On Error GoTo 0
    
    If inputRng Is Nothing Or outputCell Is Nothing Or nCols <= 0 Then Exit Sub
    
    nData = inputRng.Columns.Count
    
    For i = 1 To nData
        r = Int((i - 1) / nCols)
        c = ((i - 1) Mod nCols)
        outputCell.Offset(r, c).Value = inputRng.Cells(1, i).Value
    Next i
End Sub

3. 关闭 VBA 编辑器。在 Excel 中,转到开发工具 > ,选择 RowToMultiRowCol,然后单击运行

4. 该宏将提示您:

  • 请选择您要转换的单行区域。
  • 请选择输出结果左上角左侧的单元格(确保该区域与输入区域不重叠)。
  • 请输入每行所需的列数(例如,6 表示将数据排列为每行 6 列的多行结构)。

该宏将快速高效地将重新排列后的数据填充至您的输出区域。

优势:提供一键式快速操作,并可灵活自定义输出格式,轻松应对复杂场景、大型数据集及高频使用需求。

提示:运行宏前务必备份工作簿,因为 VBA 操作无法撤销。


演示:转置区域

 
Kutools for Excel:超过 300 款实用工具触手可及!畅享 AI 驱动的功能,让工作更智能、更高效!立即下载!

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱