Cómo cambiar columnas y filas en Excel

  • Compartir Este
Michael Brown

El tutorial muestra diferentes formas de cambiar filas a columnas en Excel: fórmulas, código VBA y una herramienta especial.

Transponer datos en Excel es una tarea familiar para muchos usuarios. Muy a menudo se construye una tabla compleja sólo para darse cuenta de que tiene mucho sentido rotarla para un mejor análisis o presentación de los datos en gráficos.

En este artículo, encontrarás varias formas de convertir filas en columnas (o columnas en filas), lo llames como lo llames, es lo mismo : ) Estas soluciones funcionan en todas las versiones de Excel 2010 hasta Excel 365, cubren muchos escenarios posibles y explican los errores más típicos.

    Convertir filas en columnas en Excel con Pegado especial

    Supongamos que tenemos un conjunto de datos similar al que se ve en la parte superior del gráfico siguiente. Los nombres de los países están organizados en columnas, pero la lista de países es demasiado larga, así que será mejor cambiar las columnas por filas para que la tabla quepa en la pantalla:

    Para cambiar de filas a columnas, realiza estos pasos:

    1. Seleccionar los datos originales. Para seleccionar rápidamente toda la tabla, es decir, todas las celdas con datos de una hoja de cálculo, pulsa Ctrl + Inicio y, a continuación, Ctrl + Mayús + Fin .
    2. Copie las celdas seleccionadas haciendo clic con el botón derecho en la selección y eligiendo Copia del menú contextual o pulsando Ctrl + C .
    3. Seleccione la primera celda del rango de destino.

      Asegúrese de seleccionar una celda que quede fuera del rango que contiene sus datos originales, para que las áreas de copiar y pegar no se solapen. Por ejemplo, si actualmente tiene 4 columnas y 10 filas, la tabla convertida tendrá 10 columnas y 4 filas.

    4. Haga clic con el botón derecho del ratón en la celda de destino y seleccione Pegado especial del menú contextual y, a continuación, seleccione Transponer .

    Para obtener más información, consulte Cómo utilizar Pegado especial en Excel.

    Nota. Si sus datos de origen contienen fórmulas, asegúrese de utilizar correctamente las referencias relativas y absolutas en función de si deben ajustarse o permanecer bloqueadas en determinadas celdas.

    Como acaba de ver, la función Pegado especial le permite realizar transformaciones de fila a columna (o de columna a fila) literalmente en unos segundos. Este método también copia el formato de sus datos originales, lo que añade un argumento más a su favor.

    Sin embargo, este enfoque ha dos inconvenientes que impiden calificarla de solución perfecta para transponer datos en Excel:

    • Si copia toda la tabla y luego abre el archivo Pegado especial encontrará el cuadro de diálogo Transponer En este caso, deberá copiar la tabla sin los encabezados de columna o convertirla primero en un rango.
    • Pegado especial > Transponer no vincula la nueva tabla con los datos originales, por lo que sólo es adecuado para conversiones puntuales. Cada vez que cambien los datos de origen, tendrás que repetir el proceso y girar la tabla de nuevo. Nadie querría perder el tiempo cambiando las mismas filas y columnas una y otra vez, ¿verdad?

    Cómo transponer una tabla y vincularla a los datos originales

    Veamos cómo cambiar de filas a columnas utilizando el conocido método Pegado especial Lo mejor de este método es que cada vez que cambie los datos de la tabla de origen, la tabla invertida reflejará los cambios y se actualizará en consecuencia.

    1. Copie las filas que desea convertir en columnas (o las columnas que desea convertir en filas).
    2. Seleccione una celda vacía en la misma hoja de cálculo o en otra.
    3. Abra el Pegado especial como se explica en el ejemplo anterior y haga clic en Pegar enlace en la esquina inferior izquierda:

    Obtendrá un resultado similar a éste:

  • Seleccione la nueva tabla y abra el cuadro de diálogo Buscar y reemplazar de Excel (o pulse Ctrl + H para acceder al cuadro de diálogo Sustituir directamente).
  • Sustituya todos los caracteres "=" por "xxx" o cualquier otro carácter que no exista en sus datos reales.
  • Esto convertirá tu mesa en algo un poco aterrador, como ves en la captura de pantalla de abajo, pero no te asustes, sólo 2 pasos más, y conseguirás el resultado deseado.

  • Copie la tabla con los valores "xxx" y, a continuación, utilice Pegado especial> Transponer para pasar de columnas a filas
  • Por último, abra el Buscar y reemplazar una vez más para invertir el cambio, es decir, sustituir todos los "xxx" por "=" para restaurar los enlaces a las celdas originales.
  • Esta es una solución un poco larga pero elegante, ¿verdad? El único inconveniente de este enfoque es que el formato original se pierde en el proceso y tendrás que restaurarlo manualmente (te mostraré una forma rápida de hacerlo más adelante en este tutorial).

    Cómo transponer en Excel mediante fórmulas

    Una forma más rápida de cambiar dinámicamente columnas a filas en Excel es utilizando la fórmula TRANSPOSE o INDEX/ADDRESS. Al igual que en el ejemplo anterior, estas fórmulas también mantienen las conexiones con los datos originales, pero funcionan de forma un poco diferente.

    Cambiar filas a columnas en Excel usando la función TRANSPOSE

    Como su nombre indica, la función TRANSPOSE está especialmente diseñada para transponer datos en Excel:

    =TRANSPOSE(array)

    En este ejemplo, vamos a convertir otra tabla que enumera los estados de EE.UU. por población:

    1. Cuenta el número de filas y columnas de tu tabla original y selecciona el mismo número de celdas en blanco, pero en la otra dirección.

      Por ejemplo, nuestra tabla de ejemplo tiene 7 columnas y 6 filas, incluidos los encabezamientos. Dado que la función TRANSPOSE cambiará las columnas por filas, seleccionamos un rango de 6 columnas y 7 filas.

    2. Con las celdas vacías seleccionadas, escribe esta fórmula:

      =TRANSPONER(A1:G6)

    3. Como nuestra fórmula debe aplicarse a varias celdas, pulsa Ctrl + Mayús + Intro para convertirla en una fórmula de matriz.

    Voilà, las columnas se convierten en filas, exactamente como queríamos:

    Ventajas de la función TRANSPOSE:

    La principal ventaja de utilizar la función TRANSPOSE es que la tabla transpuesta conserva la conexión con la tabla de origen y, siempre que cambie los datos de origen, la tabla transpuesta cambiará en consecuencia.

    Puntos débiles de la función TRANSPOSE:

    • El formato original de la tabla no se guarda en la tabla convertida, como puede verse en la captura de pantalla anterior.
    • Si hay alguna celda vacía en la tabla original, las celdas transpuestas contendrán 0. Para solucionarlo, utilice TRANSPOSE en combinación con la función IF como se explica en este ejemplo: Cómo transponer sin ceros.
    • No puede editar ninguna celda de la tabla rotada porque depende mucho de los datos de origen. Si intenta cambiar el valor de alguna celda, acabará con el error "No se puede cambiar parte de una matriz".

    En resumen, por muy buena y fácil de usar que sea la función TRANSPOSE, lo cierto es que carece de flexibilidad y, por lo tanto, puede que no sea la mejor opción en muchas situaciones.

    Para más información, consulte la función TRANSPOSE de Excel con ejemplos.

    Convertir fila en columna con las funciones INDIRECTO y DIRECCIÓN

    En este ejemplo, se utilizará una combinación de dos funciones, que es un poco complicado. Por lo tanto, vamos a girar una tabla más pequeña para que pueda centrarse mejor en la fórmula.

    Supongamos que tiene datos en 4 columnas (A - D) y 5 filas (1 - 5):

    Para que las columnas se conviertan en filas, haga lo siguiente:

    1. Introduzca la siguiente fórmula en la celda situada más a la izquierda del rango de destino, por ejemplo A7, y pulse la tecla Intro:

      =INDIRECT(DIRECCIÓN(COLUMNA(A1),FILA(A1)))

    2. Copie la fórmula hacia la derecha y hacia abajo en tantas filas y columnas como necesite arrastrando la pequeña cruz negra de la esquina inferior derecha de las celdas seleccionadas:

    En la tabla recién creada, todas las columnas se han convertido en filas.

    Si tus datos empiezan en alguna fila distinta de 1 y columna distinta de A, tendrás que utilizar una fórmula un poco más compleja:

    =INDIRECT(DIRECCIÓN(COLUMNA(A1) - COLUMNA($A$1) + FILA($A$1), FILA(A1) - FILA($A$1) + COLUMNA($A$1)))

    Donde A1 es la celda superior izquierda de la tabla fuente. Además, tenga en cuenta el uso de referencias de celda absolutas y relativas.

    Sin embargo, las celdas transpuestas tienen un aspecto muy liso y apagado, en comparación con los datos originales:

    Pero no te desanimes, este problema tiene fácil solución. Para restaurar el formato original, haz lo siguiente:

    • Copia la tabla original.
    • Seleccione la tabla resultante.
    • Haga clic con el botón derecho en la tabla resultante y seleccione Opciones de pegado > Formato .

    Ventajas Esta fórmula proporciona una forma más flexible de convertir filas en columnas en Excel. Permite realizar cualquier cambio en la tabla transpuesta porque se utiliza una fórmula normal, no una fórmula de matriz.

    Carencias : Sólo veo una: se ha perdido el formato de los datos ordinales. Aunque, puede restaurarlo rápidamente, como se muestra arriba.

    Cómo funciona esta fórmula

    Ahora que ya sabe cómo utilizar la combinación INDIRECTO / DIRECCIÓN, puede que le interese saber qué hace realmente la fórmula.

    Como su nombre indica, la función INDIRECTA, se utiliza para referenciar indirectamente una celda. Pero el verdadero poder de INDIRECTA es que puede convertir cualquier cadena en una referencia, incluyendo una cadena que construyas utilizando otras funciones y los valores de otras celdas. Y esto es exactamente lo que vamos a hacer. Si estás siguiendo hasta aquí, entenderás todo el resto con facilidad : )

    Como recordará, hemos utilizado 3 funciones más en la fórmula: DIRECCIÓN, COLUMNA y FILA.

    La función DIRECCIÓN obtiene la dirección de la celda mediante los números de fila y columna que especifique, respectivamente. Recuerde el orden: primera - fila, segunda - columna.

    En nuestra fórmula, proporcionamos las coordenadas en orden inverso, ¡y esto es lo que realmente hace el truco! En otras palabras, esta parte de la fórmula ADDRESS(COLUMN(A1),ROW(A1)) intercambia filas por columnas, es decir, toma un número de columna y lo cambia por un número de fila, luego toma un número de fila y lo convierte en un número de columna.

    Por último, la función INDIRECTO genera los datos girados. Nada terrible, ¿verdad?

    Transponer datos en Excel mediante macro VBA

    Para automatizar la conversión de filas a columnas en Excel, puede utilizar la siguiente macro:

    Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Seleccione el rango a transponer" , Title:= "Transponer filas a columnas" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Seleccione la celda superior izquierda del rango de destino" , Title:= "Transponer filas a columnas" , Type :=8) SourceRange.Copy DestRange.Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End Sub

    Para añadir una macro a su hoja de cálculo, siga las directrices descritas en Cómo insertar y ejecutar código VBA en Excel.

    Nota: La transposición con VBA tiene una limitación de 65536 elementos. En caso de que su matriz supere este límite, los datos adicionales se desecharán silenciosamente.

    Cómo utilizar la macro para convertir fila en columna

    Con la macro insertada en su libro de trabajo, realice los siguientes pasos para rotar su tabla:

    1. Abra la hoja de cálculo de destino, pulse Alt + F8 , seleccione la opción TransposeColumnsRows y haga clic en Ejecutar .

  • Seleccione el rango en el que desea cambiar las filas y columnas y haga clic en OK :
  • Seleccione la celda superior izquierda del rango de destino y haga clic en OK :
  • Disfrute del resultado :)

    Cambiar columnas y filas con la herramienta Transponer

    Si necesita realizar transformaciones de fila a columna con regularidad, es posible que esté buscando una forma más rápida y sencilla. Por suerte, yo tengo esa forma en mi Excel, y también la tienen otros usuarios de nuestra Ultimate Suite :)

    Permítame mostrarle cómo cambiar filas y columnas en Excel literalmente en un par de clics:

    1. Seleccione cualquier celda de la tabla, vaya a la pestaña Ablebits tab> Transformar y haga clic en el botón Transponer botón.

  • La configuración predeterminada funciona bien en la mayoría de los casos, por lo que basta con hacer clic en Transponer sin cambiar nada.
  • Si desea Sólo pegar valores o Crear enlaces a los datos de origen para forzar que la tabla rotada se actualice automáticamente con cada cambio que realice en la tabla original, seleccione la opción correspondiente.

    La tabla se ha transpuesto, el formato se mantiene y no es necesario realizar ninguna otra manipulación:

    Si tienes curiosidad por probar esta y otras más de 70 herramientas profesionales para Excel, te invito a que te descargues una versión de prueba de nuestra Ultimate Suite. Gracias por leer y ¡espero verte en nuestro blog la semana que viene!

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.