![如何打印单元格值与其相邻单元格值一样多的次数(逆透视)](https://linux22.com/image/1392762/%E5%A6%82%E4%BD%95%E6%89%93%E5%8D%B0%E5%8D%95%E5%85%83%E6%A0%BC%E5%80%BC%E4%B8%8E%E5%85%B6%E7%9B%B8%E9%82%BB%E5%8D%95%E5%85%83%E6%A0%BC%E5%80%BC%E4%B8%80%E6%A0%B7%E5%A4%9A%E7%9A%84%E6%AC%A1%E6%95%B0%EF%BC%88%E9%80%86%E9%80%8F%E8%A7%86%EF%BC%89.png)
我有一些经过透视或汇总的数据,需要“取消透视”。数据如下所示:
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