Como imprimir o valor da célula tantas vezes quanto o valor da célula vizinha (não dinâmico)

1

Eu tenho alguns dados que são dinamizados ou resumidos que eu precisaria "unpivot". Os dados são assim:

1000000 6
1245142 4
1245246 6

Eu precisaria que ele se parecesse com isso (cada valor na primeira coluna é impresso tantas vezes quanto o valor da segunda coluna ditar):

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

etc.

Qualquer maneira simples de fazer isso no Excel?

    
por Markus Ossi 08.01.2014 / 14:35

1 resposta

1

Algum VBA como este, apenas ajuste conforme necessário.

Ele procura no intervalo definido por números, verifica ao lado deles inteiros positivos e os imprime em outra coluna com base na célula adjacente.

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
    
por 08.01.2014 / 18:09