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

如何在Excel中将行数据转换为列(附数据示例)

Excel行转列拆分实现方法

原始数据

Row1 2 6 7
Row 2 20 5 8
Row 3 10
Row 4 45 46

期望效果

Row1 2
6
7
Row2. 20
5
8
Row3. 10
Row4. 45
46

下面给你三种实用的实现方法:

方法一:Power Query批量处理(推荐)

  1. 选中所有原始数据区域,点击菜单栏「数据」→「从表格/区域」,弹出对话框时如果数据没有表头就取消「我的表格有标题」的勾选,确认进入Power Query编辑器。
  2. 选中除第一列(行标题列)外的所有列,点击「转换」→「逆透视列」→「逆透视其他列」,此时数据会变成两列:行标题列和数值列,每个数值对应一行行标题。
  3. 调整格式让每组第一行显示「行标题+数值」,其余行只显示数值:
    • 选中行标题列,点击「开始」→「分组依据」,分组列选行标题列,新列名设为「分组行」,操作选「所有行」,点击确定。
    • 点击「分组行」列右侧的展开按钮,选择「Value」并勾选「使用原始列名作为前缀」,展开后得到「分组行.Value」列。
    • 添加自定义列:点击「添加列」→「自定义列」,输入公式= if [分组行.Position] = 0 then [Column1] & " " & Text.From([分组行.Value]) else Text.From([分组行.Value]),点击确定。
    • 删除多余的列(Column1、分组行.Value、分组行.Position),只保留自定义列。
  4. 点击「关闭并上载」,结果会自动放到新工作表中。

方法二:公式+手动调整(适合少量数据)

假设原始数据在A1:D4区域(A列是行标题,B-D是数值):

  1. 在E列生成对应每个数值的行标题:E1输入=INDEX($A$1:$A$4,ROUNDUP(ROW()/3,0)),下拉填充到E12(因最多3个数值/行,4行共12行)。
  2. 在F列提取所有数值:F1输入=INDEX($B$1:$D$4,ROUNDUP(ROW()/3,0),MOD(ROW()-1,3)+1),下拉填充到F12,删除F列为空的行。
  3. 在G列生成最终格式:G1输入=E1&" "&F1,G2输入=IF(E2=E1,F2,E2&" "&F2),下拉填充即可得到期望效果。

方法三:VBA一键处理(适合重复操作)

  1. 按Alt+F11打开VBA编辑器,右键点击左侧项目窗口→「插入」→「模块」。
  2. 粘贴以下代码:
Sub ConvertRowsToTargetFormat()
    Dim srcArea As Range, destStart As Range
    Dim rowItem As Range, cellItem As Range
    Dim currentRow As Long
    
    Set srcArea = Application.InputBox("选择要处理的数据区域", Type:=8)
    Set destStart = Application.InputBox("选择结果存放的起始单元格", Type:=8)
    currentRow = 0
    
    For Each rowItem In srcArea.Rows
        Dim isFirstVal As Boolean
        isFirstVal = True
        For Each cellItem In rowItem.Cells
            If cellItem.Value <> "" Then
                currentRow = currentRow + 1
                If isFirstVal Then
                    destStart.Offset(currentRow - 1, 0).Value = rowItem.Cells(1).Value & " " & cellItem.Value
                    isFirstVal = False
                Else
                    destStart.Offset(currentRow - 1, 0).Value = cellItem.Value
                End If
            End If
        Next cellItem
    Next rowItem
End Sub
  1. 按F5运行代码,按提示选择原始数据区域和结果起始单元格,即可一键生成目标格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:06:07