Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

Como transpor os dados de uma coluna para uma única célula no Excel?

Quando você precisa transpor uma lista de dados em uma única célula em uma planilha, normalmente, você pode aplicar o Concatenar função para mesclar a lista de células em uma célula, mas será complexo se houver muitos dados que precisem ser combinados. Neste artigo, falarei sobre alguns truques rápidos para você resolver essa tarefa no Excel.

Transpor os dados da coluna em uma única célula com a função definida pelo usuário

Transponha os dados da coluna em uma única célula com o Kutools para Excel


Exceto a função Concatenate para mesclar uma lista de valores de células, você pode aplicar o seguinte código VBA para obter o resultado o mais rápido possível.

1. Segure o ALT + F11 chaves, e abre o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.

Código VBA: transponha os dados da coluna em uma única célula

Function transposeRange(Rg As Range)
'updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
        If Not IsEmpty(xCell.Value) Then
            xStr = xStr & xCell.Value & ","
        End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
End Function

3. Em seguida, salve e feche este código, volte a planilha e insira esta fórmula: = faixa de transposição (A1: A10) em uma célula em branco para colocar o resultado e pressione entrar , você obterá todos os valores da célula em uma coluna que foram localizados em uma única célula, consulte a captura de tela:

doc transpõe células em uma célula 1

Importante: No código acima, A1: A10 é o intervalo da lista que você deseja transpor para uma única célula, e também, você pode separar o conteúdo mesclado com outros delimitadores, como vírgula, traço, espaço, etc. apenas alterando a vírgula no script xStr = xStr & xCell.Value & ",".


Se você tem Kutools for Excel, com sua ferramenta poderosaCombinar, você pode combinar dados em uma coluna, linha ou intervalo em uma célula.

Kutools for Excel : com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 30 dias.

Depois de instalar Kutools for Excel, faça o seguinte :( Baixe grátis o Kutools para Excel agora! )

1. Selecione a coluna de dados que você deseja combinar em uma célula.

2. Clique Kutools > Unir e dividirCombine linhas, colunas ou células sem perder dados, veja a captura de tela:

3. Na caixa de diálogo aberta, selecione Combine em uma única célula sob a Para combinar células selecionadas de acordo com as seguintes opçõese, em seguida, especifique um separador para separar o conteúdo mesclado, consulte a captura de tela:

doc transpõe células em uma célula 3

4. Então clique Ok or Inscrever-se botão, e você obterá o seguinte resultado conforme necessário:

doc transpõe células em uma célula 4 2 doc transpõe células em uma célula 5

Baixe e teste grátis Kutools para Excel agora!


Kutools for Excel: com mais de 300 suplementos úteis do Excel, grátis para testar sem limitação em 30 dias. Baixe e teste grátis agora!

As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Super Formula Bar (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
officetab bottom
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sophie · 2 years ago
    Hi,

    Thanks a lot! I'm using your following function and it works very well. I would like to include an "if" function in the transposerange. What should I add to the function in VBA? Basically, it would work like a countif. So we would read the formula =transposerangeif(range,criteria).

    Thanks in advance!

    Function transposeRange(Rg As Range)
    'updateby Extendoffice 20151207
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
    If Not IsEmpty(xCell.Value) Then
    xStr = xStr & xCell.Value & ","
    End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
    End Function
    • To post as a guest, your comment is unpublished.
      skyyang · 2 years ago
      Hello,Sophie,
      Could you give an example for your need, you can insert a screenshot here.
  • To post as a guest, your comment is unpublished.
    Eric · 3 years ago
    Thanks, this was very helpful.