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

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

Tenho uma tabela com 2.000 linhas estruturada assim

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

Que eu quero me esconder

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

Não tenho ideia de como resolver isso e não estou particularmente familiarizado com macros ou vba. Como posso resolver isso?

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

Responder1

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

insira a descrição da imagem aqui

Estas fórmulas, preenchidas a partir 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 (para simplificar) alterei seus cabeçalhos de destino para que a parte do mês seja uma abreviação de três letras. Se você deseja extrair um nome de mês mais longo, isso pode ser feito usando as funções de texto MID() e LEN().

Depois de preencher todos os novos dados, você pode excluir as colunas que contêm os dados antigos, se desejar. Mas primeiro, selecione todos os novos dados, copie-os e cole especial > Valores... para que os dados não sejam perdidos quando você excluir as colunas das quais são derivados.

Responder2

Para converter linhas em colunas (transpor):

  • copie seu intervalo
  • colar
  • clique na opção colar (canto inferior direito do array colado)
  • clique em transpor (T)

Caso contrário, seu exemplo de transposição não está claro, mas se você quiser mais personalizado, é uma boa oportunidade para aprender um pouco das funções do VBA/Excel. Basta começar dividindo as ações esperadas passo a passo.

boa sorte.

informação relacionada