Para cambiar filas por columnas en Excel, escribe =TRANSPOSE(A1:D3) donde debe empezar el resultado: la primera fila de A1:D3 pasa a ser la primera columna del resultado. En Excel en español la función se llama TRANSPONER (TRANSPOSE en inglés), y la tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México): =TRANSPONER(A1:D3). El resultado sigue vinculado, así que cambiar un número en el origen lo cambia también en la copia. Cambia B2 a 50 y verás que B6 lo sigue.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Rep | Q1 | Q2 | Q3 |
| 2 | Ann | 10 | 12 | 9 |
| 3 | Ben | 8 | 11 | 14 |
| 4 | ||||
| 5 | Rep | Ann | Ben | |
| 6 | Q1 | 10 | 8 | |
| 7 | Q2 | 12 | 11 | |
| 8 | Q3 | 9 | 14 |
=TRANSPONER(A1:D3)El origen tiene 3 filas y 4 columnas, así que el resultado tiene 4 filas y 3 columnas. En Excel 2021 y Microsoft 365, TRANSPONER se derrama: la escribes en una celda y pulsas Entrar.
Cómo transponer con Pegado especial
Cuando solo necesitas la tabla girada una vez, Pegado especial es más rápido y no deja ninguna fórmula:
- Selecciona el rango y cópialo (Ctrl+C, Cmd+C en Mac).
- Haz clic en la celda superior izquierda de donde debe ir el resultado, fuera del rango copiado.
- En la pestaña Inicio, haz clic en la flecha bajo Pegar y elige Transponer, o pulsa Ctrl+Alt+V (Cmd+Ctrl+V en Mac), marca Transponer y haz clic en Aceptar.
En Excel en inglés para Windows, la ruta de teclado es Alt, H, V, T después de copiar. La copia pegada conserva el formato pero no está vinculada: cuando el origen cambia, vuelve a pegar. Excel ajusta las fórmulas del rango copiado a sus nuevas posiciones; revisa las que usan referencias relativas, o pega como valores si solo necesitas los números.
Sintaxis de TRANSPONER
=TRANSPOSE(array)
El único argumento es el rango o la matriz que se gira. TRANSPONER existe en Excel desde hace mucho, pero antes de Excel 2021 es una fórmula matricial: selecciona primero un destino con la forma correcta (4 filas por 3 columnas en el ejemplo de arriba), escribe la fórmula y pulsa Ctrl+Mayús+Entrar (Cmd+Mayús+Entrar en Mac). Excel la muestra entonces entre llaves, {=TRANSPONER(A1:D3)}. En Excel 2021 y Microsoft 365 basta con Entrar, y un valor en medio da #SPILL! (la tabla muestra los nombres de error en inglés).
Google Sheets también tiene TRANSPOSE y la derrama igual.
Convertir una columna en una fila
La misma función gira una sola columna en una fila, por ejemplo una lista de nombres en encabezados de columna:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | ||||||
| 2 | Ann | Ann | Ben | Cara | Dan | Eve | |
| 3 | Ben | ||||||
| 4 | Cara | ||||||
| 5 | Dan | ||||||
| 6 | Eve |
=TRANSPONER(A2:A6)C2 derrama de Ann a Eve en C2:G2. Añade un nombre en A7 y no se incluye, porque la fórmula lee A2:A6; amplía el rango a A2:A7 o más para incluirlo.
Por qué TRANSPONER muestra 0 en las celdas vacías
Una fórmula que apunta a una celda vacía devuelve 0, y TRANSPONER también. Marzo no tiene ventas abajo, así que la versión simple muestra 0 donde el origen está vacío:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 120 | 95 | 150 | |
| 3 | |||||
| 4 | Month | Sales | Month | Sales | |
| 5 | Jan | 120 | Jan | 120 | |
| 6 | Feb | 95 | Feb | 95 | |
| 7 | Mar | 0 | Mar | ||
| 8 | Apr | 150 | Apr | 150 |
=TRANSPONER(SI(A1:E2="";"";A1:E2))B7 muestra 0 para Mar. La segunda fórmula convierte primero cada celda vacía en texto vacío con SI (IF en inglés), así que E7 se queda en blanco. Escribe un número en D2 y las dos fórmulas lo muestran.
Transponer varias filas en una columna
Para apilar toda una cuadrícula en una sola columna, usa ENCOL (TOCOL en inglés; Microsoft 365 y Excel 2024). Lee el rango fila a fila; ENFILA (TOROW en inglés) hace lo mismo en una fila:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Q1 | Q2 | Q3 | All values | |
| 2 | Ann | 10 | 12 | 9 | 10 | |
| 3 | Ben | 8 | 11 | 14 | 12 | |
| 4 | 9 | |||||
| 5 | 8 | |||||
| 6 | 11 | |||||
| 7 | 14 |
=ENCOL(B2:D3)F2 lista 10, 12, 9 de la fila de Ann y luego 8, 11, 14 de la de Ben. Para leer bajando por cada columna, pon el tercer argumento en VERDADERO: =ENCOL(B2:D3;;VERDADERO). =ENCOL(B2:D3;1) se salta las celdas vacías.
Práctica: los meses hacia abajo en lugar de a lo ancho
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Month | Jan | Feb | Mar | Apr |
| 2 | Sales | 120 | 95 | 80 | 150 |
| 3 | |||||
| 4 | Months down |
Tu turno: En A5, gira la tabla de A1:E2 para que los meses bajen por la columna A y las ventas por la columna B.
TRANSPONER o una búsqueda a lo largo de la fila
Mucha gente transpone una tabla ancha solo para usar BUSCARV en ella. No hace falta: BUSCARH y BUSCARX buscan directamente en una fila. =BUSCARX("Mar";B1:E1;B2:E2) devuelve las ventas de marzo de la tabla ancha de arriba sin girar nada. Transpón cuando el propio diseño tiene que cambiar, para un gráfico, un informe o un sistema que espera un registro por fila.
Preguntas frecuentes
¿Cómo transpongo datos en Excel?
Copia el rango, haz clic derecho en la celda donde debe empezar el resultado y elige Pegado especial > Transponer (Ctrl+Alt+V, marca Transponer y Aceptar). Eso pega una copia fija. Para una copia que se actualiza con el origen, escribe =TRANSPONER(A1:D3) en la celda de destino.
¿Por qué TRANSPONER muestra 0 en las celdas vacías?
Una fórmula que apunta a una celda vacía devuelve 0, y TRANSPONER no es una excepción. Cambia antes las celdas vacías por texto vacío: =TRANSPONER(SI(A1:E2="";"";A1:E2)).
¿Cómo uso TRANSPONER en Excel 2019 o anterior?
Selecciona un rango de destino con las filas y las columnas intercambiadas (4 filas por 3 columnas para un origen de 3 por 4), escribe =TRANSPONER(A1:D3) y pulsa Ctrl+Mayús+Entrar (Cmd+Mayús+Entrar en Mac). Excel 2021 y posteriores solo necesitan Entrar.
¿Cómo convierto varias filas en una columna?
Usa ENCOL en Microsoft 365 o Excel 2024: =ENCOL(B2:D3) lee el rango fila a fila y apila todos los valores en una columna. =ENCOL(B2:D3;1) se salta las celdas vacías, y ENFILA hace lo mismo en una sola fila.