La función LAMBDA es una de las características más potentes y flexibles de Excel. Permite crear funciones personalizadas y reutilizables directamente en la hoja de cálculo, sin necesidad de usar VBA (Visual Basic para Aplicaciones). Con LAMBDA, puedes encapsular una fórmula compleja en una función con un nombre descriptivo, facilitando su reutilización y mejorando la legibilidad de tus libros de trabajo.
La principal ventaja de LAMBDA es que una vez definida (generalmente a través del Administrador de Nombres), puedes llamarla desde cualquier celda como si fuera una función nativa de Excel.
Sintaxis
=LAMBDA([parametro1, parametro2, ...], calculo)
La función LAMBDA se compone de dos partes principales: los parámetros que recibirá y el cálculo que realizará con ellos.
- parametro (opcional): El nombre que le das a un valor de entrada para tu función. Puedes definir hasta 253 parámetros. Un parámetro puede ser un número, un texto, una referencia de celda o incluso un rango.
- calculo (obligatorio): La fórmula que quieres ejecutar. Debe ser el último argumento de la función y es el valor que devolverá tu LAMBDA. Puede usar los parámetros definidos previamente.
Importante: Una función LAMBDA definida en una celda debe ser «llamada» inmediatamente para que se ejecute, añadiendo paréntesis () al final. Sin embargo, su verdadero poder se libera al asignarle un nombre en el Administrador de Nombres.
Ejemplos
Ejemplo 1: Función simple para calcular el IVA
Crearemos una función para añadir un 21% de IVA a un precio. Para probarla directamente en una celda, la llamamos inmediatamente con el valor 100.
=LAMBDA(precio, precio * 1.21)(100)
Resultado: 121
Para hacerla reutilizable, vamos a Fórmulas > Administrador de Nombres > Nuevo, y creamos un nuevo nombre:
- Nombre:
CALCULAR_IVA - Se refiere a:
=LAMBDA(precio, precio * 1.21)
Ahora, puedes usar =CALCULAR_IVA(A1) en cualquier celda para calcular el IVA del valor en A1.
Ejemplo 2: Concatenar Nombre y Apellido en formato «Apellido, Nombre»
Esta función tomará dos argumentos (nombre y apellido) y los devolverá en un formato específico.
=LAMBDA(nombre, apellido, apellido & ", " & nombre)("Juan", "Pérez")
Resultado: "Pérez, Juan"
Al guardarla en el Administrador de Nombres como FORMATO_NOMBRE, podrías usarla así: =FORMATO_NOMBRE(A2, B2).
Ejemplo 3: Uso de recursividad para eliminar caracteres
LAMBDA permite la recursividad, es decir, una función puede llamarse a sí misma. Este es un concepto avanzado pero muy potente. Crearemos una función que elimina una lista de caracteres no deseados de un texto.
Primero, definimos en el Administrador de Nombres una función llamada QUITAR_CARACTERES:
=LAMBDA(texto, caracteres_a_quitar,
IF(caracteres_a_quitar = "", texto,
QUITAR_CARACTERES(
SUSTITUIR(texto, IZQUIERDA(caracteres_a_quitar, 1), ""),
DERECHA(caracteres_a_quitar, LARGO(caracteres_a_quitar) - 1)
)
)
)
Esta función toma un texto y una cadena con los caracteres a eliminar. Comprueba si la lista de caracteres está vacía. Si no lo está, usa SUSTITUIR para eliminar el primer carácter de la lista y luego se llama a sí misma con el resto de caracteres a eliminar.
Para usarla en una celda:
=QUITAR_CARACTERES("El_precio-final es: 25€.", "_-:.€")
Resultado: "El precio final es 25"
Observaciones
La práctica recomendada es definir las funciones LAMBDA en el Administrador de Nombres (Ctrl + F3) para que estén disponibles en todo el libro de trabajo.
Las funciones LAMBDA son parte del motor de cálculo de matrices dinámicas de Excel y se integran perfectamente con otras funciones de matriz como MAP, REDUCE y SCAN para realizar operaciones complejas de manera muy eficiente.
Errores comunes
- #¡CALC!: Ocurre si defines una fórmula LAMBDA en una celda pero no la llamas inmediatamente con paréntesis `()`. También puede aparecer si la fórmula contiene errores, como una recursión que no termina.
- #¿NOMBRE?: Aparece si intentas usar una función LAMBDA con un nombre que no ha sido definido en el Administrador de Nombres, o si el nombre está mal escrito.
- #N/A: Ocurre si la lógica dentro de tu `calculo` devuelve un error #N/A (por ejemplo, por un BUSCARV sin éxito).
Disponibilidad por versión de Excel
La función LAMBDA está disponible para los suscriptores de Microsoft 365.
Compatibilidad
| Software | Compatibilidad | Notas |
|---|---|---|
| Microsoft Excel | ✔️ | Disponible en Microsoft 365. |
| Google Sheets | ✔️ | La función LAMBDA también existe en Google Sheets con una sintaxis y funcionalidad muy similares. |
| LibreOffice Calc | ✔️ | Soportado a partir de la versión 7.4. |
| OpenOffice Calc | ❌ | No disponible. |
| WPS Office Spreadsheets | ✔️ | Soportado en versiones recientes. |
| Apple Numbers | ❌ | No disponible. |
Funciones Relacionadas
- LET: Permite asignar nombres a los resultados de los cálculos dentro de una fórmula, mejorando la legibilidad y el rendimiento. Se combina a menudo con LAMBDA.
- MAP: Aplica una función LAMBDA a cada elemento de una matriz, devolviendo una nueva matriz con los resultados.
- REDUCE: Reduce una matriz a un único valor acumulado aplicando una función LAMBDA a cada elemento.
- SCAN: Escanea una matriz y aplica una función LAMBDA, devolviendo una matriz con los valores intermedios.
- BYROW / BYCOL: Aplica una función LAMBDA a cada fila o columna de una matriz.
