You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中将单列按固定15行拆分到多列?

将单列数据按固定行数拆分到多列的Excel方法

方法一:INDEX公式法(无代码,快速实现)

假设原始数据在A列(A1:A750),操作步骤:

  1. 在B1单元格输入公式:
    =INDEX($A:$A,(COLUMN()-2)*15+ROW())
    
    公式逻辑:COLUMN()-2计算当前列与起始目标列(B列)的偏移量,乘以每列行数15后,加上当前行号,就能定位到原始数据中的对应行。
  2. 选中B1,向下填充至B15;再选中B1:B15区域,向右拖动填充柄,直到出现空白单元格(750行数据会拆分为50列)。
  3. 若要将公式结果转为静态值:选中所有生成的数据,右键复制,再右键选择「粘贴值」。

方法二:Power Query(自动化,支持更新)

这个方法适合需要重复操作或数据可能更新的场景:

  1. 选中A列数据,点击「数据」选项卡 → 「从表格/区域」(若数据有标题,勾选「我的表格有标题」)。
  2. 在Power Query编辑器中,点击「转换」选项卡 → 「拆分列」 → 「按行拆分」,输入每列行数15,点击确定。
  3. 此时数据会变成每行包含15个值的格式,接着点击「转换」 → 「转置」,将行转为列。
  4. 点击「主页」 → 「关闭并上载」,拆分好的数据会自动导入新工作表(或指定位置),后续数据更新时右键刷新即可。

方法三:VBA宏(批量重复操作)

如果需要频繁执行这类拆分,可使用宏实现一键操作:

  1. 按Alt+F11打开VBA编辑器,右键左侧工程资源管理器 → 「插入」 → 「模块」。
  2. 粘贴以下代码(可根据实际数据范围修改sourceRange和rowCount参数):
    Sub SplitColumnToMultipleColumns()
        Dim sourceRange As Range
        Dim targetRange As Range
        Dim rowCount As Integer
        Dim colCount As Integer
        Dim i As Integer, j As Integer
        
        Set sourceRange = Range("A1:A750") '替换为你的原始数据范围
        rowCount = 15 '每列的行数
        colCount = sourceRange.Rows.Count / rowCount
        
        Set targetRange = Range("B1") '拆分后数据的起始单元格
        
        For i = 0 To colCount - 1
            For j = 1 To rowCount
                targetRange.Offset(j - 1, i).Value = sourceRange.Offset(i * rowCount + j - 1, 0).Value
            Next j
        Next i
    End Sub
    
  3. 按F5运行宏,或回到Excel,点击「开发工具」 → 「宏」,选择SplitColumnToMultipleColumns执行。

    注意:运行前需将文件保存为.xlsm格式(启用宏的工作簿),否则宏无法保存。

内容的提问来源于stack exchange,提问作者Kirti Jha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 19:10:33