Como posso automatizar a conversão de linhas em colunas no Excel

0

Eu tenho uma tabela com 2000 linhas estruturadas como esta

company   product   targetJan   targetFeb   targetMarch   targetApril ...
Google    Docs      10          20          30            40
Google    Mail      13          25          45            70

Que eu quero encobrir para

Company  product  Date  Target
Google   Docs     Jan   10
Google   Docs     Feb   20
...
Google   Mail     Jan   13
...

Eu não tenho idéia de como lidar com isso e não estou particularmente familiarizado com macros ou vba. Como posso resolver isso?

EDIT: Eu gravei uma macro que faz o trabalho, mas apenas na primeira linha que eu especifiquei. Agora preciso descobrir como aplicá-lo a cada 12 linhas em todo o documento: link

    
por cmplieger 11.10.2017 / 14:52

2 respostas

2

Isso pode ser feito sem usar uma macro. As fórmulas abaixo preenchem uma nova tabela à direita dos dados existentes:

Essas fórmulas, preenchidas de O2: R2 (respectivamente), fornecem os resultados mostrados.

 =OFFSET($A$2,TRUNC((ROW()-2)/12),0)
 =OFFSET($B$2,TRUNC((ROW()-2)/12),0)
 =RIGHT(OFFSET($C$1,0,MOD((ROW()-2),12)),3)
 =OFFSET($C$2,TRUNC((ROW()-2)/12),MOD((ROW()-2),12))

Observe que (por simplicidade) eu mudei seus cabeçalhos de destino para que a parte do mês seja a abreviação de três letras. Se você quiser extrair um nome de mês mais longo, isso pode ser feito usando as funções de texto MID () e LEN ().

Quando tiver preenchido todos os novos dados, você poderá excluir as colunas que contêm os dados antigos, se desejar. Mas primeiro, selecione todos os novos dados, copie-os e Colar especial > Valores ... para que os dados não sejam perdidos quando você excluir as colunas das quais é derivado.

    
por 11.10.2017 / 17:33
0

Para converter linhas em colunas (transpose):

  • copie seu intervalo
  • colar
  • clique na opção de colar (canto inferior direito da sua matriz colada)
  • clique na transposição (T)

Caso contrário, o seu exemplo de transposição não é claro, mas se você quiser mais personalizado, é uma boa oportunidade para aprender um pouco de funções vba / excel. Comece simplesmente dividindo as ações esperadas passo a passo.

boa sorte.

    
por 11.10.2017 / 15:14