O Excel 2007 transpõe / combina várias linhas em uma

6

Eu tenho dados assim:

1001NCCN    3618127
1001NCCN    208478
1001NCCN    207316
1001TEMN    409889
1001TEMN    801651
1001TEMN    273134
1001TEMN    208478
1001TEMN    207316

Eu preciso transpor / combinar as linhas que têm valores correspondentes na primeira coluna com um resultado final assim:

1001NCCN    3618127 208478  207316      
1001TEMN    409889  801651  273134  208478  207316

Eu olhei para o Pivot Tables, e filtrando, mas nem parecia que eles poderiam me dar o que eu precisava. Existe uma maneira de fazer isso no Excel?

    
por jzd 11.02.2011 / 13:47

2 respostas

6

Aqui está uma solução do VBA

depende de linhas semelhantes agrupadas, por isso, classifique primeiro se precisar

Basta selecionar a primeira célula do seu alcance e executar ...

Sub Mergeitems()
    Dim cl As Range
    Dim rw As Range

    Set rw = ActiveCell

    Do While rw <> ""
        ' for each row in data set
        '   find first empty cell on row
        Set cl = rw.Offset(0, 1)
        Do While cl <> ""
            Set cl = cl.Offset(0, 1)
        Loop

        ' if next row needs to be processed...
        Do While rw = rw.Offset(1, 0)
            cl = rw.Offset(1, 1)       ' move the data
            Set cl = cl.Offset(0, 1)   ' update pointer to next blank cell
            rw.Offset(1, 0).EntireRow.Delete xlShiftUp   ' delete old data
        Loop

        ' next row
        Set rw = rw.Offset(1, 0)
    Loop
End Sub
    
por 11.02.2011 / 21:36
3

IMO A maneira mais simples de realizar essa tarefa é por meio do Google Docs. Copie seus dados em uma planilha do Google vazia. Então, digamos, F1 escreve:

=UNIQUE(A:A) 

e no G1 escreva:

=TRANSPOSE(FILTER(B:B,A:A=F1)

e copie para baixo. Em seguida, copie os resultados e cole-os no Excel.

    
por 14.02.2011 / 14:39