Como empilhar rapidamente várias colunas em uma única coluna no Excel?
No Excel, a Texto para Colunas funcionalidade foi projetada para dividir dados de uma única coluna em várias colunas usando um delimitador específico. No entanto, e se você precisar fazer o oposto — combinar ou empilhar os valores de várias colunas em uma única coluna, como mostrado no exemplo abaixo? Este cenário surge frequentemente ao consolidar conjuntos de dados, preparar informações para análise ou formatar relatórios para processamento adicional. Infelizmente, não há uma função interna do Excel que empilhe colunas verticalmente diretamente, mas existem várias soluções práticas que você pode usar para realizar essa tarefa com eficiência.
Empilhar várias colunas em uma com fórmula
Empilhar várias colunas em uma com VBA
Empilhar várias colunas em uma com Transformar Intervalo
Empilhar várias colunas em uma com Power Query
Empilhar várias colunas em uma com fórmula
Se você preferir não usar macros ou complementos, pode empilhar múltiplas colunas em uma única coluna com uma fórmula matricial usando a função ÍNDICE. Essa abordagem é adequada para conjuntos de dados dinâmicos ou situações em que você deseja evitar operações manuais. Uma vantagem é que a fórmula atualizará automaticamente os resultados se seus dados de origem mudarem, mas você precisa ser preciso com os nomes de intervalos e evitar inserir ou excluir células dentro do intervalo referenciado.
1. Selecione o intervalo de dados que deseja empilhar (por exemplo, A1:C4), depois clique na Caixa de Nome (localizada à esquerda da barra de fórmulas), digite um nome significativo, como MeusDados, e pressione Enter. Isso nomeia seu intervalo para fácil referência.
2. Clique em uma célula em branco onde você deseja que a coluna empilhada comece — geralmente abaixo dos seus dados ou em outra planilha. Cole esta fórmula na célula selecionada:
=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)
3. Pressione Enter para confirmar, depois arraste a alça de preenchimento para baixo até ver um #REF! ou erro similar, indicando que todos os dados foram listados. Exclua a célula de erro, se necessário.
Nesta fórmula, MeusDados refere-se ao intervalo definido na etapa 1. COLUNAS(MeusDados) ajusta automaticamente para o número de colunas em seus dados. Certifique-se de não inserir ou excluir colunas dentro de MeusDados após inserir a fórmula, pois isso pode afetar os resultados. Se seus dados contiverem células em branco, esses espaços também serão empilhados — você pode filtrá-los posteriormente se necessário. Para grandes intervalos, arrastar a alça de preenchimento pode levar tempo; considere clicar duas vezes na alça de preenchimento se a coluna à esquerda tiver dados até o final.
Se sua versão do Excel suporta matrizes dinâmicas (Excel 365 ou Excel 2021 e posteriores), você pode tentar:
=TOCOL(MyData,1)
Esta fórmula está disponível apenas nas versões mais recentes do Excel e empilha instantaneamente as colunas em uma única coluna.
Empilhar várias colunas em uma com VBA
Se você frequentemente precisa empilhar colunas ou quer maior controle, uma macro VBA pode automatizar esse processo em poucos cliques. O VBA é ideal para usuários avançados que lidam com grandes conjuntos de dados ou tarefas repetitivas. Tenha em mente, no entanto, que habilitar macros pode representar um risco de segurança se você não tiver certeza da fonte da macro. Sempre salve seu arquivo antes e tenha cautela ao executar código desconhecido.
1. Pressione Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Na janela VBA, clique em Inserir > Módulo. Copie e cole o seguinte código no novo módulo:
VBA: Empilhar colunas em uma
Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Para executar a macro, pressione F5 ou clique no botão Executar. Após a execução, aparecerá um prompt — selecione o intervalo de dados que deseja empilhar e clique em OK.
4. Em seguida, será solicitado que você selecione uma célula de destino para o resultado. Clique OK novamente. As colunas serão empilhadas em uma única coluna começando pela célula de destino.
Se você encontrar um erro, verifique novamente o intervalo selecionado e certifique-se de que não há planilhas protegidas ou células mescladas. Para personalizações mais avançadas, como ignorar espaços em branco ou empilhar apenas determinadas colunas, o código pode ser modificado ainda mais. Lembre-se de salvar seu trabalho antes de executar o código VBA para evitar perda de dados indesejada.
Empilhar várias colunas em uma com Transformar Intervalo
Se você prefere uma solução rápida e amigável sem ter que escrever fórmulas ou códigos, pode usar o recurso Transformar Intervalo do Kutools para Excel. Esta utilidade é especialmente útil para usuários que desejam processar dados rapidamente através de uma interface intuitiva, como administradores de escritório ou aqueles que rotineiramente processam dados multidimensionais. Usar o Kutools minimiza o risco de erros de fórmulas e economiza tempo significativo, embora requeira instalação do complemento.
Após instalar gratuitamente o Kutools para Excel, prossiga da seguinte forma:
1. Selecione as colunas ou intervalo de dados que deseja empilhar em uma única coluna. Depois, clique em Kutools > Intervalo > Transformar Intervalo para abrir a caixa de diálogo.
2. Na caixa de diálogo Transformar Intervalo , escolha a opção Intervalo para coluna única , e clique OK. Em seguida, selecione uma célula onde você deseja que o resultado apareça.
3. Finalmente, clique OK. As colunas selecionadas serão imediatamente empilhadas em uma única coluna no local escolhido.
Esse método é direto e livre de erros. Lembre-se de que você pode facilmente desfazer a alteração (Ctrl + Z) se algo não parecer certo, ou executar novamente Transformar Intervalo conforme necessário para diferentes conjuntos de dados. Se seus dados contêm células mescladas, é melhor desmesclar antes de usar esse recurso para evitar resultados inesperados.
Empilhar várias colunas em uma com Power Query
Power Query (também chamado de Obter & Transformar em algumas versões do Excel) é outra maneira prática de empilhar várias colunas em uma, especialmente para usuários que lidam com grandes volumes de dados ou que precisam automatizar tarefas recorrentes de transformação de dados. O Power Query está integrado ao Excel 2016 e versões posteriores e está disponível como um complemento gratuito para o Excel 2010 e 2013. Ele é mais útil para preparação avançada de dados e pode manipular facilmente operações complexas de remodelagem com uma interface simples. No entanto, há uma curva de aprendizado curta para novos usuários.
Carregue sua tabela de origem no Power Query. Selecione seus dados no Excel. Vá para Dados > De Tabela/Intervalo para abrir o Editor do Power Query.
2. Selecione todas as colunas na visualização da consulta. Vá para a guia Transformar, encontre o grupo Tabela e clique em Transpor. Isso inverte as linhas e colunas.
3. Novamente, selecione todas as colunas transpostas. Na guia Transformar, no grupo Qualquer Coluna, clique em Desagrupar Colunas.
4. Remova a coluna "Atributo" se ela não for necessária. Clique com o botão direito no cabeçalho da coluna "Atributo" > Selecione Remover.
5. Clique em Fechar & Carregar para enviar o resultado ao Excel como uma nova planilha ou tabela. A qualquer momento, você pode atualizar ou reaplicar a transformação se seus dados de origem mudarem.
O Power Query permite que você salve esse processo de empilhamento como uma consulta reutilizável e atualize rapidamente os resultados se seus dados mudarem no futuro.
Nota: Essa abordagem pode não preservar as informações dos cabeçalhos de coluna original dos dados de origem.
Em resumo, cada um desses métodos tem seus pontos fortes: fórmulas são adequadas para atualização dinâmica de dados, VBA é excelente para automatizar tarefas repetitivas, o Kutools para Excel possibilita operações de clique com pouco conhecimento técnico necessário, e o Power Query é ideal para transformações avançadas ou recorrentes. Sempre revise seus dados empilhados quanto a espaços em branco remanescentes, células mescladas ou erros de formatação após o processamento. Se erros ou resultados inesperados aparecerem, verifique novamente seus intervalos definidos ou seleções de passos. Usar uma combinação desses métodos ajudará você a gerenciar e transformar seus dados do Excel de maneira eficiente para necessidades de relatórios e análise.
Melhores Ferramentas de Produtividade para Office
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface de abas para o Office e facilita muito seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!