Converter tabela da posicão Vertical para Horizontal (vice-versa)
Olá amigos leitores. Curtiram bastantes as festas de fim de ano? Espero que sim, pois agora começa tudo outra vez. Com o ano novo vem também novas responsabilidades e conquistas. Por isso, desejo a todos nós que possamos ser vitoriosos em tudo que nos propormos a realizar. E que Deus nos ajude bastante!
Mas… terminadas as festividades…. voltemos a realidade… TRABALHO!!! (rs)
Bem, para começarmos este ano com o pé direito, vamos aprender como realizar uma tarefa simples e que muitas vezes precisamos executar mas por falta de informação, quebramos a cabeça e acabamos fazendo todo o trabalho de forma manual.
Suponha que você tenha uma tabelinha do resumo das vendas mensais de suas lojas. Essa tabela está disposta na posição horizontal em sua planilha.
![]()
Isto é apenas um exemplo, uma tabelinha bem pequena. Se por qualquer motivo você precisar mudar o seu layout, mudar sua disposição na planilha. Ela tem seu layout na horizontal, mostrando os meses na primeira linha e os valores mensais de cada loja em uma linha distinta. E você necessita desta tabela na posição vertical.

O que fazer? Reescrever todos os dados novamente? Copiar e colar célula por célula tomando o devido cuidado de realocá-las em suas novas posições por coluna e não por linha? Lembre-se que neste exemplo a tabela é apenas ilustrativa. Imagine uma tabela real mesmo, com 10.000 linhas e 100 colunas, por exemplo. Calma!!! Não precisa se desesperar. Vou lhe ensinar o caminho das pedras.
Vou mostrar primeiramente com realizar essa tarefa através da fórmula TRANSPOR. Ela é útil caso você necessite trabalhar com suas informações em códigos mais complexos ou combinando com outras fórmulas.
A fórmula TRANSPOR necessita apenas de um parâmetro que é o intervalo onde está contida a tabela que desejamos alterar o posicionamento. Supondo que você tenha um intervalo de 13 colunas e 4 linhas (B5:N8). A primeira providência que você tem a fazer é selecionar, de maneira inversa, o local onde deseja exibir o resultado (B14:E26), ou seja, trocando a quantidade de colunas pela quantidade de linhas e vice-versa. Assim:
| Intervalo Original | Intervalo Transposto | |
| Numero de Colunas | 13 | 4 |
| Numero de Linhas | 4 | 13 |
O novo intervalo teria, então, 4 colunas e 13 linhas, o inverso da tabela original. Para conseguirmos este resultado, faça o seguinte. (Se quiser, você pode fazer o download do arquivo de exemplo para acompanhar passo a passo.)
Selecione a área onde deseja que a tabela invertida seja visualizada. No nosso exemplo, selecione o intervalo B14:E26. Em seguida, digite na barra de fórmula:
=TRANSPOR(B5:N8)
E NÃO pressione <ENTER>. Pressione CTRL+SHIFT+ENTER pois está é uma fórmula matricial e retornará como resultado uma matriz de dados que, automaticamente, será ajustada as linhas e colunas selecionadas.
Note que o intervalo informado será o mesmo para todas as células de destino, visto que a própria fórmula se encarregará de distribuir seus resultados de forma correta.
Pronto. Só isso. Simples né! Dessa forma nós invertemos uma tabela que estava com um layout na horizontal e convertemos seus dados para serem exibidos de forma vertical. Para fazer o contrário, siga os mesmos procedimentos. Com cuidado para inverter o número de colunas pelo número de linhas na nova disposição da tabela e vice-versa.
Conforme eu disse anteriormente, esta é uma solução ideal para ser usada em combinação com outras funções. Existe uma maneira de se obter estes resultados através de um atalho no próprio excel. Veja.
Selecione a planilha que deseja inverter, clique em copiar (CTRL+C). Em seguida, selecione apenas a primeira célula onde deseja que seja colada a tabela invertida e clique na opção Transpor do botão Colar presente na barra de ferramentas padrão. Veja a imagem.
Pronto. Bem mais simples ainda né? Muito legal!!!
Bem amigos leitores, é isso. Mais uma vez desejo-lhes que neste Ano de 2009 sejamos, todos, muito felizes.
Não se esqueçam, qualquer dúvida ou trabalho que necessitem de uma solução personalizada e profissional, solicitem um orçamento, que terei o maior prazer em atendê-los.
Um abraço.
Termos Aprendidos neste artigo:
| Transpor | Retorna um intervalo vertical de células como um intervalo horizontal ou vice-versa. A função TRANSPOR precisa ser inserida como uma fórmula de matriz em um intervalo com o mesmo número de linhas e colunas, respectivamente, das existentes em uma matriz. Use TRANSPOR para deslocar a orientação vertical e horizontal de uma matriz em uma planilha.
Sintaxe TRANSPOR(matriz) Matriz  é uma matriz ou um intervalo de células em uma planilha que se deseja transpor. A transposição de uma matriz é criada utilizando-se a primeira linha da matriz como a primeira coluna da nova matriz, a segunda linha da matriz como a segunda coluna da nova matriz, e assim por diante. |





12 Comentários
Olá… aqui tem uma dica super interessante de como fazer praticamente a mesma coisa!
http://support.microsoft.com/kb/214024/pt-br
Funcionou bem melhor para mim assim!
Valeu
Valdecir
Reply
exceldoseujeito Reply:
janeiro 21st, 2009 at 11:34
O bom da programação é que podemos obter resultados de diversas formas e cada uma de acordo com nossas necessidades especÃficas. Que bom a minha dica foi útil para você.
Volte mais vezes.
Um abraço
Reply
Comentário feito em janeiro 20th, 2009 às 23:07
Eu tenho uma célula célula especifica para a entrada de um valor em milimetros, e desejo após inserir o valor que seja feita a conversão em polegada.
Tenho 5 campos de entrada.
Por favor, se alguém tiver alguma dica será muito bem vinda.
Obrigado
Reply
Comentário feito em fevereiro 4th, 2009 às 14:01
Perfeito
Valeu pela dica, ajudou muito!
Reply
exceldoseujeito Reply:
março 4th, 2009 at 13:23
Que bom que foi útil.
Seja bem vindo ao blog e visite sempre.
Abraço.
Reply
Comentário feito em fevereiro 19th, 2009 às 16:15
ola,
estou precisando transpor varios campos de vertical para horizontal, só que o que ocorre e que nesta linha horinzontal tenho valores em colunas que precisam ser listados separadamente,ex:
cliente1 venc1 valor1 venc2 valor2
jose 30/3 300,00 30/4 300,00
e preciso
jose 30/3 300,00
jose 30/4 300,00
sera que com esssa função eu consigo?
Reply
exceldoseujeito Reply:
abril 26th, 2009 at 12:34
Alex, obrigado pro visitar meu blog.
Sugiro a você uma ação bem simples.
Insira uma nova coluna entre valor1 e venc2 e escreva “cliente2″ na primeira linha, somente para fisn de identificação. Copie a coluna 1 (cliente1) e cole os dados nesta nova coluna (cliente2).
Agora você tem duas colunas com os nomes dos clientes.
Faça assim: Selecione os dados das colunas cliente2, venc2 e valor2, clique em recortar, e cole após a última linha escrita em cliente1.
Depois é só classificar pela coluna A (Cliente1) e pronto.
Fica da maneira que você pediu.
Um abraço.
Reply
Comentário feito em abril 13th, 2009 às 8:30
Ola, será que podem me ajudar ?
Preciso tranpor uma planilha da vertical para horizontal, mas ocorre o seguinte:
A planilha tem +ou- 3500 linhas e 2 colunas, segue um exemplo:
Razão Social: xxxxxxxxxxxx
Nome Fantasia:Â xxxxxxxxxxxx
Cidade:Â xxxxxxxxxxx
Estado:Â xx
Telefone:Â xxxxxxxxx
Fax:Â xxxxxxxxx
Site:Â xxxxxxx
Razão Social: xxxxxxxxxxxx
Nome Fantasia:Â xxxxxxxxxxxx
Cidade:Â xxxxxxxxxxx
Estado:Â xx
Telefone:Â xxxxxxxx
Fax:Â xxxxxxxx
Site:Â xxxxxxx
preciso que fique como o exemplo abaixo:
R. Social Nome Fantasia Cidade Estado Telefone Fax SiteÂ
xxxxxx xxxxxxxxxxx xxxxx xxxx xxxxx xxxx xxxx
xxxxxx xxxxxxxxxxx xxxxx xxxx xxxxx xxxx xxxx
As Formulas acima não deram certo.
Preciso que cada intervalo de 7 linhas da segunda coluna seja transposta para 1 linha.
Há como fazer isso ?
Obrigago pela atenção…
Att,
Robson
Reply
exceldoseujeito Reply:
agosto 21st, 2009 at 19:47
Olá Robson.
O que você deseja fazer pode ser obtido através da manipulação de código no ambiente VBA. Não há fórmulas prontas para resolver isso.
Sugestão:
Faça uma rotina com dois loops:
- um para percorrer as linhas na tabela de origem e;
- outro para escrever na tabela destino, incrementando um contador das novas colunas, onde exista também duas variáveis condicionais para reiniciar as colunas e as linhas a cada 7 linhas.
Foi mais ou menos o que eu imaginei.
Se quiser, posso fazer pra vc depois, mande a planilha pelo link Orçamento. Faço um preço camarada pra vc.
Abração
Reply
Comentário feito em agosto 20th, 2009 às 19:23
nao funcionou desta forma
pois tenho 5 linhas com 100 colunas com nomes nao funcionou
Reply
Reinaldo Coral Reply:
setembro 25th, 2009 at 12:28
Te mandei uma resposta com uma planilha explicativa pro seu email, ok.
Explicando aos demais leitores.
Sempre que for transpor, deves modificar tambem a matriz…ou seja….
Se na tabela original tens 5 linhas e 100 colunas Na tabela destino deverás ter 100 linhas e 5 colunas.
Resumindo. Neste caso, a fórmula da transposição deve estar escrita em 100 linhas e 5 colunas, ok?!
Reply
Comentário feito em setembro 24th, 2009 às 16:26
Obrigado Reinaldo!!!
Fiz no Calc do BrOffice.org e deu certo.
Reply
Comentário feito em janeiro 8th, 2010 às 3:33
Deixar um comentário