La función TOCOL en Excel transforma un rango o una matriz de datos en una sola columna. Es especialmente útil para reorganizar datos de un formato tabular a una lista vertical, con opciones para ignorar celdas vacías o errores, y para cambiar el orden en que se leen los datos (por filas o por columnas).
Pertenece al grupo de funciones de matrices dinámicas, lo que significa que el resultado se «derrama» automáticamente en las celdas adyacentes de la columna.
Sintaxis
=TOCOL(matriz, [ignorar], [examinar_por_columna])
La función TOCOL tiene los siguientes argumentos:
- matriz La matriz o referencia de rango que se va a devolver como una columna. Obligatorio.
- ignorar Permite omitir ciertos tipos de valores. De forma predeterminada, no se ignora ningún valor. Opcional.
- 0 (o se omite): Mantener todos los valores (comportamiento predeterminado).
- 1: Ignorar celdas en blanco.
- 2: Ignorar errores (por ejemplo, #N/A, #¡VALOR!).
- 3: Ignorar celdas en blanco y errores.
- examinar_por_columna Un valor booleano (VERDADERO/FALSO) que especifica cómo se debe leer la matriz de origen. Opcional.
- FALSO (o se omite): Examina la matriz por filas (de izquierda a derecha, de arriba abajo).
- VERDADERO: Examina la matriz por columnas (de arriba abajo, de izquierda a derecha).
Ejemplos
Para los siguientes ejemplos, usaremos la siguiente tabla de datos:
| A | B | C | |
|---|---|---|---|
| 1 | Manzana | Naranja | |
| 2 | Patata | #N/A | Brócoli |
Ejemplo 1: Uso básico Convierte la matriz A1:C2 en una sola columna. Por defecto, lo hace examinando por filas y sin ignorar ningún valor.
=TOCOL(A1:C2)
Resultado:
Manzana
Naranja
0
Patata
#N/A
Brócoli
Nota: La celda C1, que está vacía, se devuelve como un cero (0).
Ejemplo 2: Ignorar celdas en blanco Usando el segundo argumento con el valor 1, la función omitirá las celdas vacías del resultado final.
=TOCOL(A1:C2, 1)
Resultado:
Manzana
Naranja
Patata
#N/A
Brócoli
Ejemplo 3: Ignorar errores y espacios en blanco Combinando las opciones con el valor 3, podemos obtener una lista limpia de valores, sin espacios en blanco ni errores.
=TOCOL(A1:C2, 3)
Resultado:
Manzana
Naranja
Patata
Brócoli
Ejemplo 4: Examinar por columnas Al establecer el tercer argumento en VERDADERO, la función leerá los datos verticalmente (A1, A2, B1, B2, C1, C2) en lugar de horizontalmente.
=TOCOL(A1:C2, 0, VERDADERO)
Resultado:
Manzana
Patata
Naranja
#N/A
0
Brócoli
Observaciones
Si se proporciona una matriz que ya es una sola columna, la función la devolverá sin cambios. Si la matriz de origen está vacía, la función TOCOL devolverá un error #¡CALC!.
Errores comunes
- #¡VALOR! Ocurre si el argumento ignorar o examinar_por_columna no es un valor válido (por ejemplo, un texto o un número distinto de los permitidos).
- #¡CALC! Se produce si la matriz de origen está completamente vacía, impidiendo que la función genere un resultado.
- #¡DESBORDAMIENTO! Ocurre si no hay suficientes celdas vacías debajo de la celda de la fórmula para mostrar todos los resultados.
Disponibilidad por versión de Excel
La función TOCOL está disponible en Microsoft 365, Excel 2021 y Excel para la Web.
Compatibilidad
| Software | Compatibilidad | Notas | Alternativa |
|---|---|---|---|
| Microsoft Excel | ✔️ | Disponible en versiones recientes (Microsoft 365, 2021). | — |
| Google Sheets | ❌ | La función TOCOL no existe como tal. | Usa la función FLATTEN, que cumple el mismo propósito. |
| LibreOffice Calc | ✔️ | Disponible a partir de la versión 7.4. | — |
| OpenOffice Calc | ❌ | No disponible. | No disponible. |
| WPS Office Spreadsheets | ✔️ | Compatible con versiones recientes que soportan matrices dinámicas. | — |
| Apple Numbers | ❌ | No disponible. | No disponible. |
Funciones Relacionadas
- TOROW Es la función inversa a TOCOL; convierte una matriz en una sola fila.
- WRAPCOLS Envuelve un vector de una fila o columna en una matriz bidimensional después de un número específico de valores por columna.
- WRAPROWS Envuelve un vector de una fila o columna en una matriz bidimensional después de un número específico de valores por fila.
- TRANSPONER Convierte un rango de celdas vertical en un rango horizontal, o viceversa.
