Crea tus propias funciones sin tener ni idea de VBA

Hasta hace relativamente poco, la creación y gestión de funciones de Excel personalizadas (UDF) era una tarea reservada únicamente para programadores. Con la introducción de la función LAMBDA, Microsoft la ha puesto al alcance de todo el mundo para evitar el tener que desarrollarlas con VBA

Lambda, además de ser una letra del alfabeto griego, es un sistema universal de definición y aplicación de funciones y cuyo nacimiento se remonta a la década de 1930.

En lo que se refiere a Excel, LAMBDA permite a los usuarios hacer casi cualquier cálculo en el lenguaje de fórmulas. Esto es posible porque LAMBDA es capaz de llamar a otras funciones o incluso a sí misma las veces que sea necesario. Esta característica (la de llamarse a sí misma) se llama ‘recursión’ y es la razón por la que Excel está empezando a considerarse un lenguaje de programación. Hasta ahora la recursión solamente era posible a través de VBA y Office Script.

Pero no me quiero enrollar mucho en esta parte porque este artículo tiene el objetivo de introducirte a la función.

La sintaxis de la función no es nada complicada. Existen dos tipos de argumentos: los parámetros y el cálculo.

En primer lugar, debes definir cuántos parámetros (las variables que se usarán en la ‘versión final’) va a utilizar la función. A continuación debes definir qué cálculo (fórmula) se hará con esas variables. El número de parámetros puede variar desde 1 hasta 253 y el cálculo solo puede consistir en una fórmula.

En qué versiones de Excel puedes encontrar LAMBDA

El pasado 8 de febrero de 2022 LAMBDA fue liberada para todos los usuarios que usamos Microsoft 365 (antes Office 365) tanto de Windows como de Mac. También está disponible en Excel Online.

Vídeotutorial de uso de la función LAMBDA

Descárgate el archivo de prácticas haciendo clic en el botón.

Construye una fórmula LAMBDA en tres pasos

Para usar LAMBDA puedes hacerlo directamente escribiendo la fórmula en el administrador de nombres, pero no es lo más habitual porque si cometes un fallo no podrás saber dónde se ha producido.

Mi recomendación (y la de muchos otros expertos) es crear la función en tres pasos. Cuando se supera cada paso se continúa con el siguiente.

1. Introduce la fórmula habitual

En la mayoría de los casos se comienza escribiendo una fórmula ‘normal’ haciendo que devuelva el resultado que esperas.

Te pongo un ejemplo que desarrollaré en los tres pasos.

Imagina que tengo una tabla en la que quiero comparar la evolución de los importes de venta de los productos de la empresa.

Comenzaría escribiendo la función adecuada:

=SI.ERROR(C5/B5-1;"Sin datos")

2. Crea y comprueba la función LAMBDA a partir de la fórmula

Como puedes comprobar en la fórmula anterior, se usan dos referencias de celda. Estos son los valores que cambiarán, por tanto, hay que declararlos como parámetros en la función LAMBDA.

=LAMBDA(anterior;actual;

A continuación se añade la fórmula al argumento de cálculo sustituyendo las referencias de las celdas por los nombres de los parámetros declarados:

=LAMBDA(anterior;actual;SI.ERROR(actual/anterior-1;"Sin datos"))

Presiona Intro. Aparecerá el error #CALC! pero no te preocupes. Se muestra porque todavía no se ha probado la fórmula.

Para probarla debes añadir los argumentos a la función LAMBDA de esta forma:

=LAMBDA(anterior;actual;SI.ERROR(actual/anterior-1;"Sin datos"))(B4;C4)

Como puedes comprobar el resultado es el mismo que con la fórmula ‘normal’.

3. Dale un nombre a tu nueva LAMBDA

Una vez superada la prueba es el momento de implementarla definitivamente en el libro para poder hacer uso de ella como de cualquier función.

Sigue estos pasos:

  1. Copia la fórmula exceptuando los parámetros de prueba que has introducido. En este caso sería:

=LAMBDA(anterior;actual;SI.ERROR(actual/anterior-1;"Sin datos"))

  1. Abre el Administrador de nombres desde la ficha Fórmulas.
  1. Haz clic en el botón Nuevo.
  2. En el cuadro Nombre nuevo haz lo siguiente:
    1. En el cuatro Nombre escribe la palabra VARIACIONPRODUCTO.
    2. El ámbito déjalo como está (Libro)
    3. En el cuadro Se refiere a pega la fórmula que copiaste.
    4. Acepta el nombre y cierra el cuadro de diálogo.

Cómo usar una función creada con LAMBDA

Una vez creado el nombre, puedes referirte a él como con cualquier otra función. La nueva función generada se llama VARIACIONPRODUCTO y necesita 2 argumentos: anterior y actual (en ese orden).

Ya puedes borrar las fórmulas de la columna D y sustituirlas por tu nueva función:

Ventajas e inconvenientes de usar LAMBDA

Si has leído hasta aquí y todavía no te has convencido de la potencia y flexibilidad de LAMBDA te daré algunas razones por las que comenzar a usarla:

  • Puedes convertir una megafórmula de varias líneas en una sencilla función.
  • En caso de que uses una fórmula muchas veces en un libro, en lugar de actualizarlas una por una, solo tienes que editar la función LAMBDA en el cuadro de nombres.
  • No necesitas convertir tus libros al formato .xlsm cuando contiene funciones personalizadas. Antes sí era necesario porque no quedaba más remedio que emplear VBA.

Por poner algún inconveniente te diré que de momento LAMBDA solo es compatible con Microsoft 365 y que, a día de hoy, solo pueden almacenarse en el libro donde se crean. Microsoft está trabajando duro en el complemento Advanced Formula Environment para hacer posible su almacenamiento en Github (de momento no funciona para quienes usamos el punto y coma como separador de argumentos).

Resumen

Ha sido un largo camino desde que en 2020 se anunciase la publicación de LAMBDA para un pequeño grupo de usuarios. Pero por fin la tenemos ya disponible en todas las versiones de Excel 365.

Esta introducción no quedará aquí. Todavía quedan muchas cosas por explorar, sobre todo el concepto de recursión y las funciones auxiliares que mejoran todavía más el alcance de LAMBDA.

Cómo llegar a fin de mes con menos estrés gracias a Excel

Antes del día 15 puedes tener todos los objetivos mensuales completados. Y los que no, dejarlos programados para que se cumplan sin requerir de tu tiempo.

He preparado 7 de mis mejores trucos explicándote cómo lo hago. Deja tu correo abajo y te enviaré el primero de ellos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Sergio

Sergio

Experto formador en Excel y Power BI con más de dos décadas de experiencia. Capacito a profesionales para optimizar su trabajo y ser más eficientes. Con un enfoque práctico y cercano, mi objetivo es ayudarte a dominar estas herramientas esenciales. Descubre mis formaciones.MVP de Microsoft 5 años consecutivos.

Cómo llegar a fin de mes con menos estrés gracias a Excel

Antes del día 15 puedes tener todos los objetivos mensuales completados. Y los que no, dejarlos programados para que se cumplan sin requerir de tu tiempo.

He preparado 7 de mis mejores trucos explicándote cómo lo hago. Deja tu correo abajo y te enviaré el primero de ellos.

Buscar

Últimos posts

¿De qué hablo aquí?

Cómo llegar a fin de mes con menos estrés gracias a Excel

Antes del día 15 puedes tener todos los objetivos mensuales completados. Y los que no, dejarlos programados para que se cumplan sin requerir de tu tiempo.

He preparado 7 de mis mejores trucos explicándote cómo lo hago. Deja tu correo abajo y te enviaré el primero de ellos.