Como converter uma lista de colunas em uma lista separada por vírgulas no Excel?
Ao trabalhar com dados do Excel, você pode frequentemente precisar transformar uma lista vertical de itens em uma única string separada por vírgulas. Seja preparando uma entrada para um banco de dados, criando um relatório ou apenas organizando sua planilha, existem várias maneiras de fazer isso. Abaixo, exploraremos quatro métodos otimizados:
Converter lista de colunas em lista separada por vírgulas com fórmulas
- Fórmula 1: Função TEXTJOIN (Excel 2019 e versões posteriores, Office 365)
- Fórmula 2: CONCAT e funções IF (todas as versões do Excel)
Converter lista de colunas em lista separada por vírgulas com Kutools para Excel
Converter lista de colunas em lista separada por vírgulas com código VBA
Converter lista de colunas em lista separada por vírgulas com fórmulas
O Excel não inclui uma função de lista de coluna para vírgulas, mas você pode alcançá-la facilmente: use TEXTJOIN no Office 365/2019+, ou CONCAT+IF em qualquer versão para simplificar seus dados.
Fórmula 1: Função TEXTJOIN (Excel 2019 e versões posteriores, Office 365)
Como a função de concatenação mais avançada do Excel, o TEXTJOIN simplifica o processo com sua dupla funcionalidade - seleção flexível de delimitador e gerenciamento automático de células vazias - proporcionando a solução mais simples para os usuários contemporâneos do Excel.
1. Selecione a célula onde deseja que a lista separada por vírgulas apareça, insira a seguinte fórmula:
=TEXTJOIN(", ", TRUE, A2:A10)
2. Pressione Enter para obter o valor separado por vírgulas.
- ", " é o delimitador (vírgula mais espaço).
- TRUE informa ao Excel para ignorar células vazias.
- A2:A10 é o intervalo de origem.
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A10))
- 🔹Implementação simples: Apenas uma função necessária.
- 🔹Delimitador flexível: Pode usar ", " (vírgula+espaço) ou apenas "," conforme necessário.
- 🔹Manuseio automático: Ignora células em branco quando TRUE está definido para ignore_empty.
- 🔸Requer Excel 2019 e versões posteriores / Office 365.
Fórmula 2: CONCAT e funções IF (todas as versões do Excel)
Antes do TEXTJOIN, você poderia combinar CONCAT com a função IF para montar uma lista e depois remover o delimitador inicial.
1. Selecione a célula onde deseja que a lista separada por vírgulas apareça, insira a seguinte fórmula:
=CONCAT(IF(A2:A10<>"", A2:A10 & ", ", ""))
2. Pressione Ctrl + Shift + Enter juntos para obter o resultado.
- IF(A2:A100<>"", A2:A100 & ",", ""): Verifica cada célula em A2:A100. Se uma célula não estiver vazia, retorna seu valor mais uma vírgula; caso contrário, retorna uma string vazia.
- CONCAT(...): Concatena todos os elementos dessa matriz em uma string contínua.
- 🔹Ampla compatibilidade: Funciona em qualquer versão do Excel que suporte fórmulas de matriz, sem depender de funções mais recentes.
- 🔹Ignora células em branco: A verificação IF automaticamente ignora células vazias.
- 🔸Operação complicada: Deve ser inserida como uma fórmula de matriz, exigindo que os usuários pressionem Ctrl + Shift + Enter — algo que muitos iniciantes esquecem.
- 🔸Desempenho ruim: O cálculo pode desacelerar significativamente ou até travar ao lidar com grandes conjuntos de dados (dezenas de milhares de linhas).
- 🔸Resultado fixo: Você precisa de etapas extras para remover a vírgula final se quiser eliminar o último delimitador.
Converta a lista de colunas em uma lista separada por vírgulas com Kutools para Excel
Kutools para Excel inclui um utilitário poderoso Combinar Linhas/Colunas/Células e Manter Valores que permite mesclar o conteúdo de toda uma coluna em uma única célula em poucos cliques. Ao selecionar seu intervalo de origem e especificar um delimitador — seja ele uma vírgula, ponto e vírgula, espaço ou qualquer símbolo personalizado — você pode instantaneamente produzir uma lista consolidada e delimitada sem copiar e colar manualmente cada item. A ferramenta também oferece opções para ignorar células em branco, preservar a formatação original, tornando-a uma solução ideal para transformar rapidamente dados verticais em listas organizadas separadas por vírgulas.
1. Selecione a lista de coluna que você converterá em uma lista separada por vírgulas e clique em Kutools > Mesclar e Dividir > Combinar Linhas/Colunas/Células e Manter Valores.
2. Na caixa de diálogo Combinar Colunas ou Linhas que se abre, você precisa de:
- (1) Marque a opção Mesclar em uma única célula na seção Para combinar células selecionadas da seguinte maneira.
- (2) Na seção Especificar um separador, marque a opção Outro separador e digite vírgula ", ".
- (3.) Escolha como lidar com os dados das células originais. (Você pode manter o conteúdo das células originais ou excluir o conteúdo das células originais.)
- (4.) Especifique a célula de saída, na seção Colocar os valores em, selecione a opção Outra Célula e clique para selecionar uma célula para a saída do resultado.
- (5.) Finalmente, clique no botão OK.
O resultado é inserido na célula de destino especificada.
- 🔹Extremamente fácil de usar.
- 🔹Sem fórmulas ou código.
- 🔹Lida bem com grandes intervalos.
- 🔹Mescla linhas, colunas ou intervalos com qualquer delimitador, preserva a formatação e escolhe o local de saída.
- 🔸Requer instalação.
Converta a lista de colunas em uma lista separada por vírgulas com código VBA
Alternativamente, se você prefere automatizar a tarefa ou precisa lidar com intervalos maiores e dinamicamente alterados, você pode escrever uma macro VBA que percorre cada célula na coluna especificada, adiciona seu valor não vazio seguido de uma vírgula (ou qualquer delimitador que você escolher), corta o delimitador extra no final e, em seguida, gera a string totalmente concatenada separada por vírgulas em uma célula de destino.
1. Mantenha Alt e F11 no teclado para abrir uma janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e copie o VBA no módulo.
VBA: Converter lista de colunas em lista separada por vírgulas
Sub ChangeRange()
' Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Dim outStr As String
Dim xTitleId As String
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Select source range:", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Output to (single cell):", xTitleId, Type:=8)
outStr = ""
For Each rng In InputRng
If Len(Trim(rng.Value)) > 0 Then
If outStr = "" Then
outStr = rng.Value
Else
outStr = outStr & ", " & rng.Value
End If
End If
Next rng
OutRng.Value = outStr
End Sub
3. Clique no botão Executar ou pressione F5 para executar o VBA. Um diálogo será exibido na tela, e você pode selecionar a lista de colunas que deseja converter. Veja a captura de tela:
4. Clique em OK, então outro diálogo aparecerá para você selecionar uma célula. Veja a captura de tela:
5. Clique em OK, e todos os valores na lista de colunas terão sido convertidos em uma lista separada por vírgulas em uma célula.
Conclusão:
- Para simplicidade e desempenho, use TEXTJOIN no Excel 2019/365.
- Para compatibilidade, o método de array CONCAT + IF funciona em todas as versões.
- Para tarefas únicas sem fórmulas, Kutools oferece uma solução de clique.
- Para automação total ou regras complexas, uma macro VBA é a mais flexível.
Escolha o método que se alinha com sua versão do Excel, frequência da tarefa e conforto com add-ins ou VBA. Com essas técnicas otimizadas em seu arsenal, converter qualquer coluna em uma lista organizada e separada por vírgulas se torna muito fácil. Se você está interessado em explorar mais dicas e truques do Excel, nosso site oferece milhares de tutoriais para ajudá-lo a dominar o Excel.
Artigos Relacionados:
- Converter nome do mês para número no Excel
- Converter horário militar para horário padrão
- Converter uma célula em várias células/linhas no Excel
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!