Notifications
Clear all

Várias colunas em uma só

10 Posts
4 Usuários
0 Reactions
1,502 Visualizações
(@vkiiti)
Posts: 0
New Member
Topic starter
 

Bom dia!

Alguém sabe como colocar várias colunas em uma só? Existe alguma forma para fazer isso?

Eu coloquei um exemplo de como estava querendo em anexo.

Obrigado!

Victor.

 
Postado : 14/09/2015 6:10 am
(@z3020100)
Posts: 0
New Member
 

Você pode usar a função transpor() de forma matricial, mas será necessário transpor uma coluna de cada vez.

[]

 
Postado : 14/09/2015 6:17 am
(@vkiiti)
Posts: 0
New Member
Topic starter
 

Oi, obrigado pela resposta.
Mas haveria alguma fórmula que eu conseguisse copiar tudo das outras colunas para somente uma coluna?

 
Postado : 14/09/2015 6:20 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia

você deveria ter usado a ferramenta de pesquisa do fórum, pois já temos tópicos sobre o assunto, como este aqui:

viewtopic.php?t=9045&p=47594

[]s

 
Postado : 14/09/2015 6:22 am
(@vkiiti)
Posts: 0
New Member
Topic starter
 

Obrigado, Patropi.
Não tinha encontrado.
Desculpe-me.

Victor.

 
Postado : 14/09/2015 6:40 am
(@vkiiti)
Posts: 0
New Member
Topic starter
 

Patropi, acabei de ver e não gostaria de fazer isso com macro.
Eu já vi em algum lugar que era somente com fórmulas, mas não encontrei...
Você tem alguma ideia de como fazer? Obrigado!

 
Postado : 14/09/2015 6:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Victor

Veja se assim atende:

Dê retorno.

[]s

 
Postado : 14/09/2015 6:51 am
(@vkiiti)
Posts: 0
New Member
Topic starter
 

Atende sim. Obrigado.
Só mais uma dúvida.
Caso eu não saiba a quantidade de linhas de cada coluna. No lugar do "6", eu coloco qual número?

=SE(DESLOC(A$1;MOD(LIN()-1;6);INT((LIN()-1)/6))=0;"";DESLOC(A$1;MOD(LIN()-1;6);INT((LIN()-1)/6)))

Obrigado,
Victor.

 
Postado : 14/09/2015 6:54 am
(@issamu)
Posts: 0
New Member
 

Olá vkiiti!
Fazer essa mesma tarefa via fórmula para intervalos com as colunas que não possuem o mesmo tamanho até dá, mas penso que vai ser extremamente complexo.

Uma alternativa é desenvolver uma macro para realizar tal tarefa. Um modelo que você pode adaptar conforme sua necessidade é:

Sub transpor_Colunas()
Dim rCell As Excel.Range
Dim rRange As Excel.Range
Dim sCell As String
Dim lloop As Long
Set rRange = Selection
sCell = InputBox("Em célula começar a transposição?")
On Error GoTo erro
Range(sCell).Activate
    For lloop = 1 To rRange.Columns.Count
        For Each rCell In rRange.Columns(lloop).Cells
            If rCell <> "" Then
                ActiveCell.Value = rCell.Value
                ActiveCell.Offset(1, 0).Activate
            End If
        Next rCell
    Next lloop
Exit Sub
erro:
MsgBox "Endereço de célula inválido!", vbCritical
End Sub

A ideia do código acima é você selecionar o intervalo das colunas e executar a macro. Vai aparecer um imputbox para digitar a célula onde vai começar a transposição da forma que você deseja.

Para fazer isso é preciso um conhecimento básico no VBA.

 
Postado : 14/09/2015 11:39 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite Vkiiti

Neste caso temos que usar a função CONT.VALORES para contar as linhas utilizadas, mas só vai funcionar se todas as colunas tiverem o mesmo número de linhas.

Experimente:

=SE(DESLOC(A$1;MOD(LIN()-1;CONT.VALORES(A:A));INT((LIN()-1)/CONT.VALORES(A:A)))=0;"";DESLOC(A$1;MOD(LIN()-1;CONT.VALORES(A:A));INT((LIN()-1)/CONT.VALORES(A:A))))

[]s

 
Postado : 14/09/2015 3:47 pm