如何将每 5 行(或任意 n 行)从一列转置为多列?

在 Excel 中,将单列中每 5 行(或任意 n 行)转置为多列,是重新组织数据以用于分析或报告的高效方法。假设您在 A 列中有一长串数据,希望将其每 5 行转置成一行多列——例如,将 A1:A5 转置到 C6:G6,A6:A10 转置到 C7:G7,依此类推(如左侧截图所示)。这项任务可通过多种方式实现,每种方法各具优势。接下来,我们将为您详细介绍具体操作步骤。
将每 5 行(或 n 行)从一列转置为多列
使用公式将每 5 行(或 n 行)从一列转置为多列
在 Excel 中,您可以应用以下公式将每 n 行从一列转置为多列,请按如下操作:
1. 在您希望显示结果的空白单元格中输入以下公式。
=INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1)) 
2. 然后向右拖动填充柄至五个单元格,再继续向下拖动,直至显示 0,参见截图:

使用 Kutools for Excel 将每 5 行(或 n 行)从一列转置为多列
是否因将 Excel 数据从一列转置为多列而感到困扰?“Kutools for Excel”的“转换区域”功能正是为您量身打造的解决方案!无论您需要每 5 行转置一次,还是自定义行数,我们都能轻松满足。灵活的行转置功能让您自由指定要从单列转换为多列的数据行数。操作简单快捷,无需繁琐步骤——只需轻点几下,即可高效完成!
安装“Kutools for Excel”后,请按如下操作:
1. 选中列中的数据,然后单击“Kutools” > “区域” > “转换区域”,如下图所示:

2. 在“转换区域”对话框中,于“转换类型”下选择“单列转区域”选项,然后在“每条记录的行数”下勾选“固定值”,并在“固定值”框中输入您希望转置后的目标列数,参见截图:

3. 然后单击“确定”按钮,在弹出的对话框中选择一个单元格以输出结果,参见截图:

4. 然后单击“确定”按钮,您的列数据将按每 5 行转置,如下图所示:

使用 VBA 代码将每 5 行(或 n 行)从一列转置为多列
如果您无法正确应用公式,以下 VBA 代码也能助您一臂之力。
1. 按下“ALT”+“F11”组合键,即可打开“Microsoft Visual Basic for Applications”窗口。
2. 单击“插入”>“模块”,并将以下代码粘贴到弹出的“模块”窗口中。
VBA 代码:将每 5 行(或 n 行)从一列转置为多列:
Public Sub TransposeData()
'updateby Extendoffice
Dim xLRow As Long
Dim xNRow As Long
Dim i As Long
Dim xUpdate As Boolean
Dim xRg As Range
Dim xOutRg As Range
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select data range(only one column):", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If (xRg.Columns.Count > 1) Or _
(xRg.Areas.Count > 1) Then
MsgBox "the used range only contain one column", , "Kutools for Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
If xOutRg Is Nothing Then Exit Sub
Set xOutRg = xOutRg.Range(1)
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
xLRow = xRg.Rows.Count
For i = 1 To xLRow Step 5
xRg.Cells(i).Resize(5).Copy
xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
xNRow = xNRow + 1
Next
Application.ScreenUpdating = xUpdate
End Sub
3. 粘贴代码后,按下“F5”键运行,系统将弹出提示框,引导您选择需要转置的列,如下图所示:

4. 然后单击“确定”,并在随后弹出的对话框中选择一个用于放置结果的单元格,如下图所示:

5. 再次单击“确定”,列中的数据将转换为您所需的五列,如截图所示:

本文介绍了三种高效方法,助您在 Excel 中将每 5 行(或任意 n 行)从单列转置为多列。这些方法各具特色,适用于不同 Excel 工具使用经验及编程熟练度的用户。如需掌握更多实用技巧,我们的网站提供数千篇教程,立即探索,提升效率!
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 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 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱