¿Cómo transponer / convertir columnas y filas en una sola fila?
¿Cómo unir varias filas y columnas en una sola fila larga? Tal vez, te parezca fácil porque puedes copiarlas una por una y unirlas manualmente en una fila. Pero será muy consumidor de tiempo y tedioso si hay cientos de filas y columnas. Aquí hablaré sobre algunos trucos rápidos para resolverlo.
Transponer / Convertir columnas y filas en una sola fila con fórmula
Transponer / Convertir columnas y filas en una sola fila con código VBA
Transponer / Convertir columnas y filas en una sola fila con Kutools para Excel
Transponer / Convertir columnas y filas en una sola fila con fórmula
Supongamos que tienes un rango de datos como muestra la siguiente captura de pantalla, puedes convertir los datos del rango en una fila en una nueva hoja de cálculo con una fórmula larga.
Por favor, aplica la fórmula de esta manera:
1. En una nueva hoja de cálculo del libro de trabajo activo, haz clic en la celda A1, copia y pega esta fórmula: =DESREF(Sheet1!$A$1,((FILA()-1)*5)+(REDONDEAR.INFERIOR(COLUMNA()-1,4)/4),(COLUMNA()-1)-(REDONDEAR.INFERIOR(COLUMNA()-1,4)))
Nota: Sheet1!$A$1 es la referencia de la hoja de cálculo y el rango que deseas utilizar.
(FILA()-1)*5 en la fórmula anterior, 5 representa el número de fila; y COLUMNA()-1,4)/4, el 4 representa el número de columna. Puedes cambiarlos según sea necesario.
2. Luego arrastra el controlador de relleno hacia la derecha hasta que aparezca el número 0. En este caso, todos los datos en el rango se han transpuesto a una sola fila en una nueva hoja de cálculo. Ver captura de pantalla:
Transponer / Convertir columnas y filas en una sola fila con código VBA
El siguiente código VBA también puede ayudarte a convertir un rango de datos en una fila.
1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, y pega el siguiente código en la ventana del Módulo.
Sub TransformOneRow()
'Updateby20131120
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Ranges to be transform :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Paste to (single cell):", xTitleId, Type:=8)
Application.ScreenUpdating = False
xRows = InputRng.Rows.Count
xCols = InputRng.Columns.Count
For i = 1 To xRows
InputRng.Rows(i).Copy OutRng
Set OutRng = OutRng.Offset(0, xCols + 0)
Next
Application.ScreenUpdating = True
End Sub
3. Luego presiona la tecla F5 para ejecutar el código, aparecerá un cuadro de diálogo para que selecciones un rango de contenido que desees convertir en una fila, y haz clic en Aceptar, otro cuadro de diálogo emergente te permitirá seleccionar una celda individual para colocar el resultado. Ver capturas de pantalla:
![]() |
![]() |
![]() |
Luego haz clic en Aceptar, los contenidos en el rango seleccionado se convierten en una fila. Ver captura de pantalla:
![]() |
![]() |
![]() |
Nota: En Establecer OutRng = OutRng.Offset(0, xCols + 0), puedes cambiar 0 por cualquier número según lo necesites.
Por ejemplo, si deseas separar los resultados según las filas originales por una columna, puedes cambiar Establecer OutRng = OutRng.Offset(0, xCols + 0) a Establecer OutRng = OutRng.Offset(0, xCols + 1), los resultados se muestran a continuación:
Transponer / Convertir columnas y filas en una sola fila con Kutools para Excel
Parece que los dos métodos anteriores son algo difíciles para nosotros, principiantes de Excel, aquí hablaré de una herramienta práctica: Kutools para Excel.
Kutools para Excel incluye más de 300 herramientas útiles para Excel. Prueba gratis sin limitaciones durante 30 días. Consíguelo ahora.
Con la utilidad Transformar Rango de Kutools para Excel, puedes transformar rápidamente un rango en una sola fila, sigue estos pasos:
1. Selecciona el rango que deseas transponer.
2. Haz clic en Kutools > Rango > Transformar Rango.
3. En el cuadro de diálogo Transformar Rango, selecciona la opción Rango a fila única, ver captura de pantalla:
4. Luego haz clic en Aceptar, y selecciona una celda para colocar el resultado desde el cuadro emergente.
5. Haz clic en Aceptar, y los datos en el rango se han transpuesto en una sola fila. Ver capturas de pantalla:
![]() |
![]() |
![]() |
Si quieres saber más sobre esta función, visita Transformar Rango.
Artículos relacionados:
¿Cómo cambiar fila por columna en Excel?
¿Cómo transponer / convertir una sola columna en múltiples columnas en Excel?
¿Cómo transponer / convertir columnas y filas en una sola columna?
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!