No Excel, como posso transpor várias linhas em uma única coluna?

0

Tenho linhas de dados de tamanho igual, por ex. A1: A5, B1: B5, C1: C5, etc. Quero colocá-los em uma única coluna, por ex. D1: D5, D6: D10, D11: D15, etc. Não há cabeçalhos ou identificadores de linha. Eu acho que usar INDIRECT com uma combinação de valores de ROW e COLUMN deve funcionar, mas não consigo encontrar o combo correto.

SVH
fonte
Teria sido melhor limpar sua pergunta original. No entanto, em vez de postar em dobro, exclua primeira pergunta . Obrigado.
fixer1234
Você pode fornecer mais algum contexto? Por exemplo, você pode selecionar e arrastar três intervalos curtos. Ou você poderia apenas usar referências de célula (D1: = A1; arraste algumas linhas, depois D6: = B1, etc.). Por que você precisa se divertir com uma função? Você já olhou para usar o OFFSET? Recomendar uma solução específica realmente depende dos requisitos do que você está tentando realizar.
fixer1234
A1: A5 é uma coluna e não uma linha.
Gary's Student

Respostas:

0

Com dados em A1 através C5 , em D1 entrar:

=OFFSET($A$1,ROUNDUP(ROWS($1:1)/3,0)-1,MOD(ROWS($1:1)-1,3))

e copie para baixo. Isso vai transpor os dados em uma única coluna:

enter image description here

É igualmente fácil colocar os dados em uma única coluna sem transposição.

Gary's Student
fonte
0

Isso irá ignorar cabeçalhos de coluna e não excluirá os dados das células originais. Dependendo da sua planilha, você pode precisar alterar os valores das colunas.

Sub Macro1()

  Const firstRowWithData = 2 ' assumes labels in row 1
  Dim anyWS As Worksheet
  Dim copyRange As Range
  Dim CP As Integer

  For Each anyWS In ThisWorkbook.Worksheets
    For CP = Range("B1").Column To Range("D1").Column
      Set copyRange = anyWS.Range(anyWS.Cells(2, CP).Address & ":" & _
       anyWS.Cells(Rows.Count, CP).End(xlUp).Address)
      copyRange.Copy anyWS.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    Next
  Next

End Sub

antes

A Header    B Header    C Header
a           b           c
a           b           c
a           b           c

depois de

A Header    B Header    C Header
a           b           c
a           b           c
a           b           c
b       
b       
b       
c       
c       
c       

Em seguida, exclua manualmente as colunas originais.

root
fonte