EXCEL Necesito invertir los datos de una tabla

¿Cómo están?

Estoy necesitando transformar la siguiente tabla dada, ya no se como hacerlo, lo intente de todas las formas .

Tabla Madre:

Tabla resultante :

¿Me ayudan?

3 Respuestas

Respuesta
1

- ¿Será siempre la misma cantidad de columnas de conceptos en origen?

- ¿Irá en otra hoja o en otro rango de la misma hoja?

Sdos (no es necesario que valores aún).

Respuesta
1

¿Exactamente qué quieres decir con esa frase: "transformar la siguiente tabla"?

Si lo que quieres decir es lo que yo he entendido, o sea, colocar las columnas como filas y viceversa, sería así:

  1. Seleccionar el rango completo de tu tabla
  2. Colocar el cursor en la celda donde vas a pegar la tabla invertida
  3. Copiar + Pegado Especial
  4. Transponer
  5. Pegar

Gracias por la respuesta, pero Trasponer no me funciona, creo que me exprese mal, no seria una trasposicion sino más bien una reorganización de la información.

La info llega en columnas, Columna legajos, columna de horas, columna de días. La informaron estoy necesitando estructurarla de la siguiente forma:

Una columna que tenga los legajos, otro columna que tenga los conceptos, en este caso HORAS, DÍAS, ETC, y después una tercer columna que muestre el valor que tiene para cada empleado y su respectivo concepto.

Vamos a ver.

Quien tiene que tener claro cuántas columnas quieres y cómo las quieres, eres tú.

En función de eso, los demás te podemos resolver dudas. Pero esa decisión es únicamente tuya.

Yo solamente te puedo decir lo que yo haría en tu lugar, si es que te he entendido bien, sería crear una fila superior por encima de las cabeceras que tienes de la forma que muestra la foto:

A las columnas laterales le tendrás que asignar un nombre distinto al que yo he puesto.

Respuesta

[Hola 

Te paso la macro


Valora la respuesta como excelente para finalizar

Sub Organizar_datos()
'Por Adriel Ortiz
'
    Set h1 = Sheets("Hoja1") 'hoja origen
    Set h2 = Sheets("Hoja2") 'hoja destino
    '
    h2.Rows("2:" & Rows.Count).Clear
    k = 4
    h2.Cells(3, "D").Value = "LEGAJO"
    h2.Cells(3, "E").Value = "CONCEPTO"
    h2.Cells(3, "F").Value = "VALOR"
    For i = 3 To h1.Range("D" & Rows.Count).End(xlUp).Row
        For j = 4 To h1.Cells(i, Columns.Count).End(xlToLeft).Column - 1
        '
            h2.Cells(k, "D").Value = h1.Cells(i, "D").Value
            h2.Cells(k, "E").Value = h1.Cells(2, j + 1).Value
            h2.Cells(k, "F").Value = h1.Cells(i, j + 1).Value
            k = k + 1
        Next
    Next
    MsgBox "Fin"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas