¿Cómo puedo automatizar la conversión de líneas en columnas en Excel?

¿Cómo puedo automatizar la conversión de líneas en columnas en Excel?

Tengo una tabla con 2000 líneas estructuradas así.

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

que quiero encubrir a

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

No tengo idea de cómo abordar esto y no estoy particularmente familiarizado con las macros o vba. ¿Cómo puedo abordar esto?

EDITAR: He grabado una macro que hace el trabajo pero solo en la primera línea que especifiqué. Ahora necesito descubrir cómo aplicarlo cada 12 filas en todo el documento:https://pastebin.com/D9yUHxZk

Respuesta1

Esto se puede hacer sin utilizar una macro. Las fórmulas siguientes completan una nueva tabla a la derecha de sus datos existentes:

ingrese la descripción de la imagen aquí

Estas fórmulas, completadas a partir de O2:R2 (respectivamente) dan los resultados que se muestran.

 =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))

Tenga en cuenta que (para simplificar) cambié los encabezados de destino para que la parte del mes sea la abreviatura de tres letras. Si desea extraer un nombre de mes más largo, puede hacerlo utilizando las funciones de texto MID() y LEN().

Cuando haya completado todos los datos nuevos, puede eliminar las columnas que contienen los datos antiguos si lo desea. Pero primero, seleccione todos los datos nuevos, cópielos y Pegado especial > Valores... para que los datos no se pierdan al eliminar las columnas de las que se derivan.

Respuesta2

Para convertir líneas en columnas (transponer):

  • copia tu rango
  • pegar
  • haga clic en la opción pegar (esquina inferior derecha de la matriz pegada)
  • haga clic en transponer (T)

De lo contrario, su ejemplo de transposición no está claro, pero si lo desea más personalizado, es una buena oportunidad para aprender un poco sobre las funciones de vba/excel. Simplemente comience dividiendo las acciones esperadas paso a paso.

buena suerte.

información relacionada