【问题标题】:Convert multiple columns into rows in Excel在 Excel 中将多列转换为行
【发布时间】:2018-03-01 19:15:53
【问题描述】:

如何将文件从一种格式转换为另一种格式:基本上,包含单位销售额的周列变为具有多行的两列,前几列(包含客户等信息)具有多行单位销售额列。

来自

我认为有办法在 Power Query 中做到这一点?我不是一个非常高级的用户,所以非常感谢一步一步如何做到这一点:)

除非有我可以运行的宏?

谢谢

伊娃

【问题讨论】:

标签: excel vba


【解决方案1】:

试试这个代码

Sub Test()
Dim a           As Variant
Dim b           As Variant
Dim i           As Long
Dim j           As Long
Dim k           As Long
Dim x           As Long

a = Sheets("Sheet1").Range("A1:L" & Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row).Value
ReDim b(1 To UBound(a, 1) * 8, 1 To 6)
j = 1

For i = 2 To UBound(a, 1)
    For k = 5 To UBound(a, 2)
        For x = 1 To 4
            b(j, x) = a(i, x)
        Next x
        b(j, 5) = a(1, k)
        b(j, 6) = a(i, k)
        j = j + 1
    Next k
Next i

With Sheets("Sheet1").Range("O1")
    .Resize(, UBound(b, 2)).Value = Array("Account", "Code", "Product", "Segment", "Week", "Unit Sales")
    .Offset(1).Resize(UBound(b, 1), UBound(b, 2)).Value = b
End With
End Sub

【讨论】:

  • 感谢您,我尝试通过电源查询进行反透视,它完成了 :) 很高兴知道还有一个宏可以做到这一点。非常感谢您的迅速回复。非常感谢
猜你喜欢
  • 2019-03-27
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多