Cómo Transponer Varias Columnas a Filas en Excel

  • Compartir Este
Hugh West

A menudo, los usuarios necesitan convertir varias columnas en filas. Por lo tanto, Excel transponer múltiples columnas a filas es una operación común realizada por los usuarios. Excel Características , TRANSPOSE , INDIRECTO y ÍNDICE funciones, Power Query así como Macro VBA puede convertir columnas en filas.

Digamos que Nombre del empleado y Datos salariales en una hoja de cálculo. Y por razones inevitables, tenemos que transponer columnas a filas.

En este artículo, mostramos varias formas de transponer en Excel varias columnas a filas utilizando Excel Características , Función , Power Query y Macro VBA .

Descargar el libro de Excel

Transponer Columnas a Filas.xlsm

6 maneras fáciles de transponer varias columnas a filas en Excel

Método 1: Transponer varias columnas a filas utilizando la opción Pegar

Excel permite a los usuarios pegar datos en varios formatos como Valor , Fórmula , Transponer sólo Formato etc. Podemos utilizar Menú contextual Opciones de transposición al pegar para transformar columnas en filas.

Primer paso: Resalte todo el rango que desea transponer. Haga clic con el botón derecho del ratón en El Menú contextual De la Menú contextual Seleccione Copia .

Segundo paso: Ahora, seleccione cualquier celda en blanco (es decir, G4 ) adyacente al intervalo, entonces Haga clic con el botón derecho del ratón en Haga clic en Transponer del Opciones de pegado .

🔼 También puede hacer que aparezca la Pegado especial ventana utilizando Atajos de teclado CTRL+ALT+V A continuación, seleccione Transponer del Pegado especial Por último, haga clic en OK .

🔼 Ejecutar el Transponer opción de Menú contextual o Pegado especial lleva a transformar las columnas múltiples seleccionadas en filas, como se muestra en la siguiente imagen.

Más información: Cómo cambiar filas y columnas en Excel (5 métodos)

Método 2: Transponer columnas a filas utilizando la función TRANSPOSE

En TRANSPOSE función convierte directamente Columnas en Filas y viceversa. Podemos utilizar la función TRANSPOSE independientemente del número de columnas o de lo grande que sea el rango. La sintaxis de la función TRANSPOSE es la función

TRANSPOSE (matriz)

Primer paso: Utilice la siguiente fórmula en cualquier celda adyacente (es decir, G4 ) para convertir columnas en filas.

=TRANSPONER(B4:E12)

Aquí B4:E12 es el argumento del array.

Segundo paso: Hit INTRODUCE en un momento todas las columnas se convierten en filas.

🔄 A veces, el conjunto de datos contiene Celdas en blanco y después de transponer Excel inserta 0's Para evitar esta advertencia, modifique la directiva TRANSPOSE con la función SI función para ignorar los espacios en blanco. En este caso, la fórmula aplicada puede ser

=TRANSPOSE(IF(B4:E12="","",B4:E12))

Read More: Cómo transponer una columna a varias filas en Excel (6 métodos)

Método 3: Función INDIRECTA para convertir columnas en filas

En los casos en los que queramos establecer vínculos o recuperar datos del rango existente, podemos utilizar la función INDIRECTO función . INDIRECTO con la función COLUMNA hace referencia a entradas del rango. La sintaxis de la función INDIRECTO es la función

INDIRECTO (ref_texto, [a1])

Las declaraciones definen

ref_text ; referencia (como texto).

a1 ; una indicación booleana de A1 o R1C1 referencia de celda de estilo. Por defecto, es A1 estilo = TRUE . [Opcional]

Primer paso: Escriba esta última fórmula en cualquier celda en blanco (es decir, G4 ).

=INDIRECT("b"&COLUMNA()-3)

En ret_texto (es decir, "b"&COLUMNA()-3 ) tiene 2 partes; uno es el COLUMNA función que pasa el Número de columna y uno es el Nombre de la columna . la ref_text combina estos 2 constituye una referencia de celda 3 menos que el COLUMNA Como resultado, el resultado final se convierte en B(7-3) = B4 . Por lo tanto, B4 se muestra en G4 .

Segundo paso: Repita Primer paso sustituyendo la fórmula anterior por las fórmulas siguientes en G5 , G6 y G7 .

=INDIRECT("c"&COLUMNA()-3)

=INDIRECT("d"&COLUMNA()-3)

=INDIRECT("e"&COLUMNA()-3)

Todos estos 3 declaran los mismos argumentos que la fórmula anterior y obtienen las entradas de sus respectivas celdas (es decir, G5=C4 , G6=D4 y G7=E4 ).

Tercer paso: Utilice la Asa de llenado para aplicar las fórmulas al lado derecho de las celdas. Y todas las entradas de las celdas respectivas aparecen transpuestas como se supone.

Read More: Excel VBA: Obtener el número de fila y columna de la dirección de la celda (4 métodos)

Lecturas similares

  • Cómo Cambiar Filas y Columnas en un Gráfico de Excel (2 Métodos)
  • Añadir Varias Filas y Columnas en Excel (Todas las Formas Posibles)
  • Cómo saltar cada dos columnas usando la fórmula de Excel (3 métodos)
  • Excel VBA: Establecer Rango por Número de Fila y Columna (3 Ejemplos)
  • Cómo encontrar el número de columna basado en el valor en Excel

Método 4: Utilizar la función INDEX para transponer columnas a filas

Similar a Método 3 El ÍNDICE función trae datos de una posición determinada. La sintaxis de la función ÍNDICE es la función

INDEX(array, fila_num, [col_num])

Primer paso: Escriba la siguiente fórmula en cualquier celda en blanco G4 .

=INDEX($B$4:$E$14,COLUMNA()-6,1)

En la fórmula, $B$4:$E$14 se refiere al matriz argumento. El COLUMNA devuelve el número de columna donde se inserta la fórmula (es decir, G4 ). Por lo tanto, COLUMNA()-6 resultados ( 7-6 ) 1 como número_de_fila para la matriz . y ya 1 es el col_num dentro del matriz .

Segundo paso: Iterar las fórmulas para G5 , G6 y G7 simplemente cambiando el col_num como se muestra en la siguiente imagen.

=INDEX($B$4:$E$14,COLUMNA()-6,2)

=INDEX($B$4:$E$14,COLUMNA()-6,3)

=INDEX($B$4:$E$14,COLUMNA()-6,4)

Estas fórmulas obtienen entradas del mismo matriz , fila 1 y columna 2 , 3 y 4 Puede ver que los valores resultantes representan las cabeceras de las columnas tal y como las obtiene la fórmula.

Tercer paso: Arrastre el Asa de llenado para insertar horizontalmente las entradas de las columnas, transformándolas así en filas.

Más información: Cómo encontrar el número de índice de columna en Excel (2 métodos)

Método 5: Transponer múltiples columnas a filas utilizando Power Query

Power Query es una potente herramienta para transformar conjuntos de datos según sea necesario. Power Query proporciona una Transformar donde hay varias opciones, entre ellas Transponer podemos utilizar el Transponer para convertir varias columnas en filas.

Primer paso: Seleccione todo el conjunto de datos y vaya a Datos Haga clic en De Tabla/Rango (de Obtener y transformar datos sección).

Segundo paso: Excel tiende a convertir todo el conjunto de datos en un Cuadro En consecuencia, el Crear tabla Haga clic en OK .

Tercer paso: En un momento, Excel carga el Editor de Power Query como se muestra en la siguiente imagen.

➧ Elija el Transformar sección.

➧ Haga clic en Transponer .

Paso 4: Después de ejecutar el Transponer tiene que cargar los datos transpuestos. Desplácese a Inicio Haga clic en Cerrar & Cargar Seleccionar Cerrar & Cargar .

🔼 Tardará un poco en cargar los datos transpuestos en una nueva hoja de cálculo. Finalmente, Excel carga los datos convirtiendo varias columnas en filas como puedes observar en la siguiente imagen.

Read More: Cómo convertir varias filas en columnas en Excel (9 maneras)

Método 6: Transponer Varias Columnas a Filas Usando Macro VBA

VBA Macros podemos escribir un par de líneas de macro para transponer varias columnas a filas.

Primer paso: Para insertar una macro, en primer lugar, abra Microsoft Visual Basic utilizando ALT+F11 A continuación, seleccione Inserte (del Barra de herramientas )> Haga clic en Módulo para insertar uno.

Segundo paso: Pegue la siguiente macro en el campo Módulo .

 Sub ColumnToRowTransposing() Dim wrkRng As Range Dim trgtRng As Range Set wrkRng = Application.InputBox(Prompt:="Proporcione las columnas", Type:=8) Set trgtRng = Application.InputBox(Prompt:="Seleccione la celda de destino", Type:=8) wrkRng.Copy trgtRng.Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = False End Sub 

La macro comienza su operación tomando el rango a transponer y la celda en la que insertar los datos transpuestos mediante la función VBA InputBox función Entonces, el Pegado especial pega todo el rango como datos transpuestos en la celda dada.

Tercer paso: Utilice la F5 para ejecutar la macro. El maco inicia la primera Cuadro de entrada para insertar el rango. Proporcione el rango y, a continuación, haga clic en OK .

Paso 4: Después Excel trae el Cuadro de entrada para asignar la celda. Proporcione cualquier referencia de celda conveniente y luego Haga clic en en OK .

🔼 Por fin Excel convierte todas las columnas del conjunto de datos en filas.

Macro VBA puede gestionar las celdas en blanco ofreciendo SkipBlanks opciones de declaración en Verdadero y Falso Modifique la macro según sus necesidades para adaptarla mejor a sus datos.

Read More: Macro Excel: Convertir Varias Filas en Columnas (3 Ejemplos)

Conclusión

En este artículo, demostramos múltiples características, funciones, así como Macro VBA en Excel para transponer varias columnas en filas. La función TRANSPOSE convierte las columnas en filas de la forma más conveniente. Otras funciones como I NDIRECTO o ÍNDICE también sobresale en su propósito. Espero que estos métodos mencionados aclaren su comprensión de la Transposición. Comente, si tiene más preguntas o tiene algo que añadir.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.