如何打印单元格值与其相邻单元格值一样多的次数(逆透视)

如何打印单元格值与其相邻单元格值一样多的次数(逆透视)

我有一些经过透视或汇总的数据,需要“取消透视”。数据如下所示:

1000000 6
1245142 4
1245246 6

我需要它看起来像这样(第一列中的每个值都按照第二列中的值指定的次数打印):

1000000
1000000
1000000
1000000
1000000
1000000
1245142
1245142
1245142
1245142
1245246
1245246
1245246
1245246
1245246
1245246

ETC。

在 Excel 中有什么简单的方法可以做到这一点吗?

答案1

有些 VBA 像这样,只需根据需要进行调整。

它在定义的范围内查找数字,检查旁边的正整数,然后根据相邻的单元格将它们打印在另一列中。

Sub test()
Dim i As Integer
Dim x As Integer
Dim c As Range
Dim d As Integer
d = 1

For Each c In Range("A1:A3")
i = c.Offset(, 1).Value

  If i > 0 Then

    For x = 1 To i
    Cells(d, 4) = c.Value
    d = d + 1
    Next x

  End If

Next c

End Sub

相关内容