La función TOMAR en Excel permite extraer un número específico de filas o columnas consecutivas desde el inicio o el final de una matriz o rango de celdas. Es una de las funciones de matriz dinámica, lo que significa que puede devolver múltiples valores que se «desbordan» en las celdas adyacentes.
Resulta especialmente útil para obtener subconjuntos de datos de forma rápida, como los 5 productos más vendidos de una lista ordenada o los registros de los últimos 3 meses.
Sintaxis
=TOMAR(matriz, filas, [columnas])
La función TOMAR tiene los siguientes argumentos:
- matriz: La matriz o rango de celdas de la cual se extraerán las filas o columnas. Obligatorio.
- filas: El número de filas a extraer. Un valor positivo extrae filas desde el principio de la matriz, mientras que un valor negativo las extrae desde el final. Obligatorio.
- columnas: El número de columnas a extraer. Un valor positivo extrae columnas desde la izquierda de la matriz, mientras que un valor negativo las extrae desde la derecha. Opcional. Si se omite, se devuelven todas las columnas de la matriz.
Ejemplos
Para los siguientes ejemplos, usaremos la tabla de datos que se muestra a continuación:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Producto | Categoría | Ventas | Región |
| 2 | Laptop | Electrónica | 1200 | Norte |
| 3 | Teclado | Accesorios | 75 | Sur |
| 4 | Monitor | Electrónica | 300 | Este |
| 5 | Mouse | Accesorios | 25 | Oeste |
| 6 | Webcam | Accesorios | 50 | Norte |
Ejemplo 1: Extraer las primeras 3 filas
Para obtener los encabezados y las dos primeras filas de datos (un total de 3 filas), usamos un valor positivo en el argumento filas.
=TOMAR(A1:D6, 3)
Resultado: Una matriz de 3×4 que contiene los datos de A1:D3.
Ejemplo 2: Extraer las últimas 2 filas
Para obtener los dos últimos registros de la tabla, usamos un valor negativo en el argumento filas.
=TOMAR(A2:D6, -2)
Resultado: Una matriz de 2×4 con los datos de las filas 5 y 6 (Mouse y Webcam).
Ejemplo 3: Extraer las primeras 2 columnas
Para obtener solo las columnas «Producto» y «Categoría» de toda la tabla.
=TOMAR(A1:D6, , 2)
Nota: El argumento filas se deja vacío para indicar que queremos todas las filas, pero especificamos 2 en columnas.
Resultado: Una matriz de 6×2 con los datos de A1:B6.
Ejemplo 4: Extraer la última columna de las 3 últimas filas
Podemos combinar argumentos negativos para filas y columnas. Esta fórmula extrae la columna «Región» de los últimos 3 productos.
=TOMAR(A2:D6, -3, -1)
Resultado: Una matriz de 3×1 con los valores «Este», «Oeste» y «Norte».
Ejemplo 5: Uso combinado con la función ORDENAR
Una aplicación muy potente es combinar TOMAR con otras funciones. Por ejemplo, para obtener los 3 productos con más ventas, primero ordenamos la tabla por la columna «Ventas» de forma descendente y luego tomamos las 3 primeras filas del resultado.
=TOMAR(ORDENAR(A2:D6, 3, -1), 3)
Resultado: Una matriz de 3×4 con los datos de Laptop, Monitor y Teclado, que son los productos con mayores ventas.
Observaciones
Al ser una función de matriz dinámica, los resultados se expandirán automáticamente a las celdas contiguas. Si estas celdas no están vacías, Excel mostrará un error.
Si se especifica un número para filas o columnas que es mayor que el total de filas o columnas en la matriz, la función devolverá la matriz completa sin generar un error.
Errores comunes
- #¡VALOR!: Ocurre si el argumento filas o columnas es igual a 0.
- #CALC!: Se produce si la matriz de origen está vacía.
- #¡DESBORDAMIENTO!: Aparece si el rango de celdas donde la fórmula debe devolver los resultados no está vacío.
Disponibilidad por versión de Excel
La función TOMAR está disponible en las siguientes versiones:
- Excel para Microsoft 365 (Windows y Mac)
- Excel para la web
Compatibilidad
| Software | Compatibilidad | Notas | Alternativa |
|---|---|---|---|
| Microsoft Excel | ✔️ | Solo en versiones con matrices dinámicas (Microsoft 365 / Online). | DESREF, INDICE |
| Google Sheets | ❌ | Google Sheets no tiene una función nativa TOMAR. | ARRAY_CONSTRAIN, QUERY |
| LibreOffice Calc | ✔️ | Disponible a partir de la versión 7.4. | DESREF |
| OpenOffice Calc | ❌ | No disponible. | DESREF |
| WPS Office Spreadsheets | ❌ | No confirmado, pero generalmente no soporta funciones de matriz dinámica de Excel. | No disponible |
| Apple Numbers | ❌ | No disponible. | DESREF |
Funciones Relacionadas
- OMITIR: La función opuesta a TOMAR. Omite un número especificado de filas o columnas de una matriz.
- ELEGIRFILAS: Extrae filas específicas de una matriz según su número de índice.
- ELEGIRCOLS: Extrae columnas específicas de una matriz según su número de índice.
- DESREF: Devuelve una referencia a un rango que es un número especificado de filas y columnas de una celda o rango de celdas. Puede usarse para emular el comportamiento de TOMAR en versiones antiguas de Excel.
- SECUENCIA: Genera una secuencia de números, útil para crear índices que se pueden usar junto con INDICE para replicar la funcionalidad de TOMAR.
