Para trocar linhas e colunas no Excel, digite =TRANSPOSE(A1:D3) onde o resultado deve começar: a primeira linha de A1:D3 vira a primeira coluna do resultado. No Excel em português a função se chama TRANSPOR (TRANSPOSE em inglês), e você também pode digitar as fórmulas em português na tabela, com ponto e vírgula: =TRANSPOR(A1:D3). O resultado continua ligado à origem, então mudar um número na origem muda o número na cópia também. Mude B2 para 50 e veja B6 acompanhar.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Rep | Q1 | Q2 | Q3 |
| 2 | Ann | 10 | 12 | 9 |
| 3 | Ben | 8 | 11 | 14 |
| 4 | ||||
| 5 | Rep | Ann | Ben | |
| 6 | Q1 | 10 | 8 | |
| 7 | Q2 | 12 | 11 | |
| 8 | Q3 | 9 | 14 |
=TRANSPOR(A1:D3)A origem tem 3 linhas e 4 colunas, então o resultado tem 4 linhas e 3 colunas. No Excel 2021 e no Microsoft 365, a TRANSPOR é despejada: você digita a fórmula em uma célula e pressiona Enter.
Como transpor com Colar Especial
Quando você só precisa da tabela invertida uma vez, o Colar Especial é mais rápido e não deixa fórmula para trás:
- Selecione o intervalo e copie (Ctrl+C, Cmd+C no Mac).
- Clique na célula do canto superior esquerdo de onde o resultado deve ficar, fora do intervalo copiado.
- Na guia Página Inicial, clique na seta embaixo de Colar e escolha Transpor, ou pressione Ctrl+Alt+V (Cmd+Ctrl+V no Mac), marque Transpor e clique em OK.
No Windows, o caminho pelo teclado depois de copiar é Alt, H, V, T (no Excel em inglês). A cópia colada mantém a formatação, mas não fica ligada: quando a origem muda, cole de novo. O Excel ajusta as fórmulas dentro do intervalo copiado para as novas posições; confira as que usam referências relativas, ou cole como valores se você só precisa dos números.
Sintaxe da TRANSPOR
=TRANSPOSE(array)
O único argumento é o intervalo ou a matriz a inverter. A TRANSPOR existe no Excel há muito tempo, mas antes do Excel 2021 ela é uma fórmula de matriz: selecione antes um destino do tamanho certo (4 linhas por 3 colunas no exemplo acima), digite a fórmula e pressione Ctrl+Shift+Enter (Cmd+Shift+Enter no Mac). O Excel então mostra a fórmula entre chaves, {=TRANSPOR(A1:D3)}. No Excel 2021 e no Microsoft 365, um Enter simples basta, e um valor no caminho dá #DESPEJAR! (#SPILL! em inglês; a tabela mostra os nomes de erro em inglês).
O Google Sheets também tem TRANSPOSE e despeja o resultado do mesmo jeito.
Transformar uma coluna em uma linha
A mesma função transforma uma coluna em uma linha, por exemplo uma lista de nomes em cabeçalhos de coluna:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | ||||||
| 2 | Ann | Ann | Ben | Cara | Dan | Eve | |
| 3 | Ben | ||||||
| 4 | Cara | ||||||
| 5 | Dan | ||||||
| 6 | Eve |
=TRANSPOR(A2:A6)C2 despeja de Ann a Eve em C2:G2. Acrescente um nome em A7 e ele não entra, porque a fórmula lê A2:A6; amplie o intervalo para A2:A7 ou mais para incluir o nome.
Por que a TRANSPOR mostra 0 nas células vazias
Uma fórmula que aponta para uma célula vazia retorna 0, e a TRANSPOR também. Março não tem vendas abaixo, então a versão simples mostra 0 onde a origem está vazia:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 120 | 95 | 150 | |
| 3 | |||||
| 4 | Month | Sales | Month | Sales | |
| 5 | Jan | 120 | Jan | 120 | |
| 6 | Feb | 95 | Feb | 95 | |
| 7 | Mar | 0 | Mar | ||
| 8 | Apr | 150 | Apr | 150 |
=TRANSPOR(SE(A1:E2="";"";A1:E2))B7 mostra 0 para Mar. A segunda fórmula primeiro transforma cada célula vazia em texto vazio com a SE, então E7 fica em branco. Digite um número em D2 e as duas fórmulas mostram esse número.
Transpor várias linhas em uma coluna
Para empilhar uma grade inteira em uma coluna só, use a PARACOL (TOCOL em inglês, Microsoft 365 e Excel 2024). Ela lê o intervalo linha por linha; a PARALIN (TOROW) faz o mesmo em uma linha:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Q1 | Q2 | Q3 | All values | |
| 2 | Ann | 10 | 12 | 9 | 10 | |
| 3 | Ben | 8 | 11 | 14 | 12 | |
| 4 | 9 | |||||
| 5 | 8 | |||||
| 6 | 11 | |||||
| 7 | 14 |
=PARACOL(B2:D3)F2 lista 10, 12, 9 da linha de Ann e depois 8, 11, 14 da linha de Ben. Para ler descendo por cada coluna, defina o terceiro argumento como VERDADEIRO: =PARACOL(B2:D3;;VERDADEIRO). =PARACOL(B2:D3;1) pula as células vazias.
Prática: meses na vertical em vez de na horizontal
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 120 | 95 | 80 | 150 |
| 3 | |||||
| 4 | Months down |
Sua vez: Em A5, vire a tabela de A1:E2 para que os meses desçam pela coluna A e as vendas pela coluna B.
TRANSPOR ou uma busca ao longo da linha
Muita gente transpõe uma tabela larga só para usar o PROCV nela. Não é preciso: a PROCH e a PROCX procuram direto em uma linha. =PROCX("Mar";B1:E1;B2:E2) retorna as vendas de março da tabela larga acima sem inverter nada. Transponha quando o próprio layout precisa mudar, para um gráfico, um relatório ou um sistema que espera um registro por linha.
Perguntas frequentes
Como transpor dados no Excel?
Copie o intervalo, clique com o botão direito na célula onde o resultado deve começar e escolha Colar Especial > Transpor (Ctrl+Alt+V, marque Transpor e pressione Enter). Isso cola uma cópia fixa. Para uma cópia que se atualiza com a origem, digite =TRANSPOR(A1:D3) na célula de destino.
Por que a TRANSPOR mostra 0 nas células vazias?
Uma fórmula que se refere a uma célula vazia retorna 0, e a TRANSPOR não é exceção. Troque as células vazias por texto vazio antes: =TRANSPOR(SE(A1:E2="";"";A1:E2)).
Como usar a TRANSPOR no Excel 2019 ou anterior?
Selecione um intervalo de destino com linhas e colunas trocadas (4 linhas por 3 colunas para uma origem de 3 por 4), digite =TRANSPOR(A1:D3) e pressione Ctrl+Shift+Enter (Cmd+Shift+Enter no Mac). O Excel 2021 e posteriores só precisam de Enter.
Como transformar várias linhas em uma coluna?
Use a PARACOL no Microsoft 365 ou no Excel 2024: =PARACOL(B2:D3) lê o intervalo linha por linha e empilha todos os valores em uma coluna. =PARACOL(B2:D3;1) pula as células vazias, e a PARALIN faz o mesmo em uma linha só.