Funciones LAMBDA - Construye tus propias fórmulas de Excel de forma sencilla

Puedes crear tus propias funciones de Excel usando VBA desde hace mucho tiempo, pero hay una nueva forma de crearlas: Las funciones LAMBDA.

Esta opción está disponible para el público en general, pero en el momento de publicación de este post (2022) sólo estaba disponible para los participantes de Office Insiders .

La documentación oficial de la función LAMBDA es estupenda, pero déjame mostrarte cómo funciona con un ejemplo real. Imagina que tienes un requisito en el que necesitas calcular algo tan sencillo como los días que quedan en el mes dada una fecha determinada. Podrías lograrlo con esta fórmula, si tu fecha está almacenada en la celda A1:

=DAYS(EOMONTH(A1,0),A1)

Initial formula

Para crear una función lambda es necesario utilizar la fórmula LAMBDA. Esta fórmula requiere uno o varios parámetros y el código que se aplicará utilizando esos parámetros.

LAMBDA parameters

Para nuestro ejemplo, necesitamos un parámetro que se va a llamar date y el segundo parámetro va a ser la fórmula que queremos aplicar, pero en lugar de usar A1 u otra referencia, necesitamos usar el nombre de nuestro parámetro, en este caso, date.

Using LAMBDA manually

Todo esto está muy bien, pero la verdadera potencia de las funciones LAMBDA es poder reutilizarlas y ser llamadas como llamamos al resto de las fórmulas. En lugar de repetir este cálculo muchas veces, queremos construir nuestra propia fórmula y poder llamarla con algo más fácil de recordar, como DAYSLEFTINMONTH. Para ello, podemos utilizar un add-in llamado advanced formula environment como se explica en este post de Chris Gross (contenido en inglés).

Advanced formula environment

Advanced formula environment installed

Si hacemos clic en el símbolo +, podemos crear nuestra nueva fórmula, dándole un nombre y escribiendo el código.

Creating our function

El siguiente paso es informar al gestor de nombres de que tenemos una nueva formula que queremos incluir en nuestro cinturón de herramientas. Para ello tenemos que sincronizar nuestras funciones con el gestor de nombres, haciendo clic en el botón superior izquierdo. Al hacerlo se mostrará nuestra nueva función en el Gestor de nombres donde podremos revisarla y también incluir una descripción.

Formulas Name Manager

Apply formula

Reusando fórmulas

Ahora que ya sabemos cómo crear nuestras propias fórmulas, sería genial poder reutilizarlas en todos los dispositivos o incluso compartirlas con tus compañeros. En lugar de escribir directamente la fórmula en el entorno de fórmulas avanzadas, podemos importar un Gist de Github que contenga nuestro código. Esta es una de las muchas características de este complemento, además de añadir comentarios, formatear nuestro código e incluso utilizar intellisense escribiendo tus fórmulas.

Importing formulas

He creado otro ejemplo. En esta situación, quiero calcular la edad de una persona dada una fecha de nacimiento. La fórmula de Excel sería algo así:

INT(YEARFRAC(A1, TODAY())))

También he creado este gist que contiene este cálculo en una función lambda llamada AGE. Si lo importamos usando el entorno de fórmulas avanzado podemos ver que la nueva función AGE está disponible.

Imported formulas

Using imported formulas

En el post de Chris Gross hay un gist más completo donde se puede encontrar una colección de varias funciones. Te sugiero que importes ese gist y las revises. Podemos usar un namespace para organizarlas, así en caso de que tengamos varias funciones de diferentes fuentes podemos distinguirlas.

Importing formulas with namespace

Using formulas with namespaces


Power BI: ¡Dame más visualizaciones!
Eliminando el ruido de nuestras visualizaciones