Transposição de dados da lista de colunas únicas para múltiplas colunas [duplicado]

1

Eu tenho uma planilha do Excel que tem dezenas de milhares de entradas, mas não é organizada. Todos os dados estão em uma única coluna, com cada entrada ocupando 3 linhas seguidas de um espaço.

Por exemplo:

Entry 1 Name
Entry 1 Address
Entry 1 Phone

Entry 2 Name
Entry 2 Address
Entry 2 Phone

Isso continua por cerca de meio milhão de entradas. Eu preciso organizar melhor e gostaria de transpor para parecer com isso

Entry 1 Name      Entry 1 Address      Entry 1 Phone
Entry 2 Name      Entry 2 Address      Entry 2 Phone

Eu tenho tentado descobrir como escrever uma fórmula que eu possa preencher automaticamente no Excel, mas não consigo descobrir. Estou usando o MS Office no OSX. Mas qualquer solução seja Excel ou não Excel seria ótimo. Obrigado!

    
por davidcondrey 25.10.2014 / 00:22

1 resposta

0

Parece um trabalho para o VBA - Acredito que esse código funcione na versão OSX do Excel, mas eu testei apenas no Windows.

Você pode executar isso?

Manualmente Crie uma planilha chamada Planilha2 e tenha sua planilha de dados chamada Planilha1 (ou renomeie no código abaixo). E ele começa na coluna B da nova planilha, exclua manualmente se você não quiser.

Deixe-me saber se funciona.

Sub Macro1()

     Application.ScreenUpdating = False  ' Turn off Screen updating

     Dim LastRow As Long                 ' Find the last row of input sheet
     LastRow = Sheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell).Row

     Dim row_working_on As Integer

     For row_working_on = 1 To LastRow
          Worksheets("Sheet2").Cells(Int(row_working_on / 4) + 1, row_working_on Mod 4 + 1) = Sheets("Sheet1").Cells(row_working_on, 1).Value
     Next row_working_on

     Application.ScreenUpdating = True  ' turn on Screen updating

End Sub
    
por 25.10.2014 / 22:34