Skip to main content

Como transpor células em uma coluna com base em valores únicos em outra coluna?

Author: Xiaoyang Last Modified: 2025-06-04

Suponha que você tenha um intervalo de dados que contém duas colunas, e agora deseja transpor as células em uma coluna para linhas horizontais com base em valores únicos em outra coluna para obter o seguinte resultado. Você tem alguma boa ideia para resolver esse problema no Excel?

A screenshot showing the desired result after transposing cells based on unique values

Transpor células em uma coluna com base em valores únicos com fórmulas

Transpor células em uma coluna com base em valores únicos com código VBA

Transpor células em uma coluna com base em valores únicos com Kutools para Excel


Transpor células em uma coluna com base em valores únicos com fórmulas

Com as seguintes fórmulas matriciais, você pode extrair os valores únicos e transpor seus dados correspondentes em linhas horizontais; por favor, siga os passos abaixo:

1. Insira esta fórmula matricial: =ÍNDICE($A$2:$A$16; CORRESP(0; CONT.SE($D$1:$D1; $A$2:$A$16); 0)) em uma célula em branco, D2, por exemplo, e pressione Shift + Ctrl + Enter juntos para obter o resultado correto, veja a captura de tela:

A screenshot showing the formula to extract unique values for transposing data

Observação: Na fórmula acima, A2:A16 é a coluna da qual você deseja listar os valores únicos, e D1 é a célula acima desta célula de fórmula.

2. Em seguida, arraste a alça de preenchimento para baixo nas células para extrair todos os valores únicos, veja a captura de tela:

A screenshot showing the unique values extracted using a formula

3. E então continue inserindo esta fórmula na célula E2: =SEERRO(ÍNDICE($B$2:$B$16; CORRESP(0; CONT.SE($D2:D2;$B$2:$B$16)+SE($A$2:$A$16<>$D2; 1; 0); 0)); 0), e lembre-se de pressionar Shift + Ctrl + Enter para obter o resultado, veja a captura de tela:

A screenshot showing the formula to transpose cells in Excel based on unique values

Observação: Na fórmula acima: B2:B16 é a coluna de dados que você deseja transpor, A2:A16 é a coluna com base na qual você deseja transpor os valores, e D2 contém o valor único que você extraiu na Etapa 1.

4. Em seguida, arraste a alça de preenchimento para a direita das células onde você deseja listar os dados transpostos até que exiba 0, veja a captura de tela:

A screenshot showing the transposed data in Excel using formulas

5. E então continue arrastando a alça de preenchimento para baixo no intervalo de células para obter os dados transpostos conforme mostrado na captura de tela a seguir:

A screenshot showing the final transposed data in Excel based on unique values


Transpor células em uma coluna com base em valores únicos com código VBA

Talvez as fórmulas sejam complexas para você entender, aqui você pode executar o seguinte código VBA para obter o resultado desejado.

1. Mantenha pressionadas as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo.

Código VBA: Transpor células em uma coluna com base em valores únicos em outra coluna:

Sub transposeunique()
'updateby Extendoffice
    Dim xLRow As Long
    Dim i As Long
    Dim xCrit As String
    Dim xCol  As New Collection
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    Dim xCount As Long
    Dim xVRg As Range
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count <> 2) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range is only one area with two columns ", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    Set xOutRg = xOutRg.Range(1)
    xLRow = xRg.Rows.Count
    For i = 2 To xLRow
        xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
    Next
    Application.ScreenUpdating = False
    For i = 1 To xCol.Count
        xCrit = xCol.Item(i)
        xOutRg.Offset(i, 0) = xCrit
        xRg.AutoFilter Field:=1, Criteria1:=xCrit
        Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
        If xVRg.Count > xCount Then xCount = xVRg.Count
        xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
        xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Application.CutCopyMode = False
    Next
    xOutRg = xRg.Cells(1, 1)
    xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
    xRg.Rows(1).Copy
    xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
    xRg.AutoFilter
    Application.ScreenUpdating = True
End Sub

3. Em seguida, pressione a tecla F5 para executar este código, e uma caixa de prompt aparecerá para lembrá-lo de selecionar o intervalo de dados que deseja usar, veja a captura de tela:

A screenshot of a prompt box for selecting a data range to transpose in Excel

4. E então clique no botão OK, outra caixa de prompt aparecerá para lembrá-lo de selecionar uma célula para colocar o resultado, veja a captura de tela:

A screenshot of a prompt box for selecting an output cell for transposed data in Excel

6. Clique no botão OK, e os dados na coluna B terão sido transpostos com base nos valores únicos na coluna A, veja a captura de tela:

A screenshot showing the transposed data in Excel after running VBA code


Transpor células em uma coluna com base em valores únicos com Kutools para Excel

Se você tiver o Kutools para Excel, combinando as utilidades Avançado Combinar Linhas e Dividir Células, poderá concluir rapidamente essa tarefa sem qualquer fórmula ou código.

Kutools para Excel oferece mais de 300 recursos avançados para simplificar tarefas complexas, aumentando a criatividade e a eficiência. Integrado com capacidades de IA, o Kutools automatiza tarefas com precisão, tornando a gestão de dados fácil e eficiente. Mais informações sobre o Kutools para Excel...  Teste gratuito...

Após instalar o Kutools para Excel, por favor, faça o seguinte:

1. Selecione o intervalo de dados que deseja usar. (Se quiser manter os dados originais, copie e cole os dados em outro local primeiro.)

2. Em seguida, clique em Kutools > Mesclar e Dividir > Avançado Combinar Linhas, veja a captura de tela:

A screenshot of the Advanced Combine Rows option on the Kutools tab on the Ribbon

3. Na caixa de diálogo Combinar Linhas Baseadas na Coluna, por favor, faça as seguintes operações:

(1.) Clique no nome da coluna com base na qual deseja transpor os dados e selecione Chave Primária;

(2.) Clique em outra coluna que deseja transpor, e clique em Combinar e escolha um separador para separar os dados combinados, como espaço, vírgula, ponto e vírgula.

A screenshot of the Combine Rows Based on Column dialog box

4. Em seguida, clique no botão Ok, os dados na coluna B terão sido combinados em uma célula com base na coluna A, veja a captura de tela:

A screenshot showing the combined data in Kutools for Excel after merging rows based on unique values

5. E então selecione as células combinadas, e clique em Kutools > Mesclar e Dividir > Dividir Células, veja a captura de tela:

A screenshot of the Split Cells option on the Kutools tab on the Ribbon

6. Na caixa de diálogo Dividir Células, selecione Dividir em Colunas sob a opção Tipo, e então escolha o separador que separa seus dados combinados, veja a captura de tela:

A screenshot of the Split Cells dialog box

7. Em seguida, clique no botão Ok, e selecione uma célula para colocar o resultado dividido na caixa de diálogo que apareceu, veja a captura de tela:

A screenshot of the dialog box for selecting the output cell

8. Clique em OK, e você obterá o resultado de que precisa. Veja a captura de tela:

A screenshot showing the final result of transposed data

Baixe e experimente gratuitamente o Kutools para Excel agora!


Demonstração: Transpor células em uma coluna com base em valores únicos com Kutools para Excel

 
Kutools para Excel: Mais de 300 ferramentas práticas na ponta dos seus dedos! Aproveite recursos de IA gratuitos permanentemente! Baixe agora!

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: Revolucione a análise de dados com base em: Execução Inteligente | Gerar Código | Criar Fórmulas Personalizadas | Analisar Dados e Gerar Gráficos | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço sem Perder Dados | Arredondar...
Super PROC: PROC com Múltiplos Critérios | PROC com Múltiplos Valores | Procura em várias planilhas | Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente uma Lista Suspensa | Lista Suspensa Dependente | Lista Suspensa com Múltipla Seleção...
Gerenciador de Colunas: Adicionar um Número Específico de Colunas | Mover Colunas | Alternar Estado de Visibilidade das Colunas Ocultas | Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco | Visualização de Design | Barra de fórmulas aprimorada | Gerenciador de Pasta de trabalho & Planilha | Biblioteca de AutoTexto | Selecionador de Data | Mesclar Dados | Criptografar/Descriptografar Células | Enviar Email por Lista | Super Filtro | Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...) | Mais de50 Tipos de Gráficos (Gráfico de Gantt, ...) | Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ...) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ... e muito mais

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O 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...


O Office Tab traz interface com abas para o Office e facilita muito o 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 na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!