Preciso de ajuda para converter todos os dados em uma linha para várias linhas

1

Eu tenho uma planilha de dados como esta:

Eu gostaria que a coluna b fosse convertida em 3 novas colunas, então há duas linhas como URL1, Name, address, email e URL3, Name, address, email .

    
por Sean Mc Namee 01.12.2015 / 05:41

2 respostas

2

Com dados nas colunas A e B , em C1 digite:

=OFFSET($A$1,3*(ROWS($1:1)-1),0)

e copie para baixo e, em D1 , digite:

=OFFSET($B$1,COLUMNS($A:A)-1+(ROW()-1)*3,0)

e copie AMBOS de um lado para o outro:

    
por 01.12.2015 / 12:44
2

Abra o Visual Basic (pressione Alt + F11 )
Insira um módulo e cole o seguinte código nesse módulo

Sub Macro()
Dim i As Integer, j As Integer, k As Integer, LastRow As Integer
LastRow = Sheets(1).Range("A1").End(xlDown).Row
Sheets(2).Cells(1, 1).Value = Sheets(1).Cells(1, 1).Value
Sheets(2).Cells(1, 2).Value = Sheets(1).Cells(1, 2).Value
k = 1
j = 2
For i = 1 To LastRow
    If Sheets(1).Range("A" & i).Value = Sheets(1).Range("A" & (i + 1)).Value Then
        j = j + 1
        Sheets(2).Cells(k, j).Value = Sheets(1).Cells(i + 1, 2).Value
    Else
        k = k + 1
        Sheets(2).Cells(k, 1).Value = Sheets(1).Cells(i + 1, 1).Value
        Sheets(2).Cells(k, 2).Value = Sheets(1).Cells(i + 1, 2).Value
        j = 2
        End If
Next i
End Sub

Este código verifica a similaridade entre as células na primeira coluna, se o conteúdo da célula corresponder ao valor na célula próxima a ele será copiado para outra planilha. Se o conteúdo da célula na primeira coluna não corresponder, será considerado como próximo ponto de dados.

Inserir na primeira folha

Saída na segunda folha

    
por 01.12.2015 / 13:37