¡Crea Funciones Personalizadas en Excel con LAMBDA!

La función LAMBDA nos proporciona la posibilidad de generar nuestras propias funciones directamente desde Excel que pueden ser reusadas cuantas veces queramos en una misma hoja de cálculo sin necesidad de tener conocimientos de programación en Visual Basic, JavaScript o Macros. Gracias a esta nueva función que nos trae Office 365 podemos registrar las fórmulas que utilicemos constantemente en la biblioteca de funciones de Excel para convertirlas en funciones personalizadas. De esta forma podemos olvidarnos de tener que copiar y pegar constantemente nuestras formulas arriesgándonos a cometer errores en el proceso.

Guía en Video:

Aquí les dejo un video explicando como usar esta Maravillosa Herramienta 😉

Sintaxis:

=LAMBDA([parametro1,parametro2, …,] Calculo)
ArgumentoDescripción
ParámetroConsiste en el valor de entrada que nuestra función tomará en cuenta a la hora de calcular la fórmula establecida. Podemos escribir hasta 253 parámetros en nuestra función.
Calculo Es la fórmula que deseamos ejecutar y devolver como resultado de la función. Debe ser el ultimo argumento y debe devolver un resultado. Este argumento es obligatorio.

Uno de los grandes beneficios de la función LAMBDA radica en que toda la lógica de la fórmula que convirtamos en función se encuentra en un solo lugar, por lo que en caso de cometer un error o que surja un fallo al actualizar funciones solo tenemos que modificar la función deseada y todos los cambios serán automáticamente realizados en todas las instancias que fue usada la función dentro de la hoja de cálculo.

Al ser una función nueva con la que debemos primero familiarizarnos tenemos que tomar en cuenta las siguientes observaciones:

  • Si se introducen más de 253 parámetros, Excel devolverá un error #¡VALOR!
  • Si se pasa un número incorrecto de argumentos a una función LAMBDA, Excel devolverá un error #¡VALOR!
  • Si se llama a una función LAMBDA desde dentro de ella misma y la llamada es circular, Excel devolverá un error #¡NUM!
  • Si creamos una función LAMBDA en una celda sin llamarla desde dentro de la misma, Excel devolverá un error #CALC!
  • Los nombres y parámetros de Lambda siguen las reglas de sintaxis de Excel para los nombres, con una excepción: no podemos utilizar un punto (.) en los nombres de los parámetros.
  • Hay que asegurarnos de seguir las mejores prácticas al crear una función LAMBDA como lo haríamos con cualquier fórmula nativa de Excel, como pasar el número y tipo de argumentos correctos, hacer coincidir los paréntesis de apertura y cierre, e introducir los números sin formato.

Cómo crear una Función LAMBDA.

A continuación, describiremos el proceso, paso a paso, con el cual podrás asegurarte de que tu función LAMBDA funciona como deseas y se comporte como si de una función nativa de Excel se tratara. Podemos crear nuestra función en solo tres pasos:

Paso 1: Probar nuestra fórmula.

Asegúrate de que el argumento de cálculo funciona correctamente en la fórmula que utilizas. Esto es vital porque mientras creamos la función LAMBDA, debemos asegurarnos de que la fórmula funciona o de si tenemos que descartarla si encontramos errores o un comportamiento inesperado.

Paso 2: Crear la función LAMBDA en una celda.

Recomendamos crear y probar nuestra función LAMBDA previamente en una celda para asegurarnos de que funciona correctamente, incluyendo la lógica de la formula y el orden de parámetros. Para evitar el error #CALC!, añada una llamada a la función LAMBDA para devolver inmediatamente el resultado:

=Función LAMBDA ([parámetro1, parámetro2, ...],cálculo) (llamada a la función)

Por ejemplo, si quisiéramos usar LAMBDA para sumarle 1 a un valor utilizaríamos la siguiente formula:

=LAMBDA(número, número + 1)(1)

El resultado entonces del ejemplo anterior sería: 2

Paso 3: Añadir la función LAMBDA al administrador de nombres.

Una vez que haya finalizado su LAMBDA, regístrela en el administrador de nombres para su definición final. Al hacerlo, le damos a la función LAMBDA un nombre significativo, le proporcionamos una descripción y la hacemos reutilizable desde cualquier celda del libro de trabajo. También podemos gestionar la función LAMBDA como lo hacemos con cualquier función.

A continuación, presentamos dos prácticos ejemplos en los que podemos utilizar LAMBDA utilizando los tres pasos que acabamos de definir.

Ejemplo 1- Celsius a Fahrenheit.

Este ejemplo es perfecto para comenzar a entender cómo funciona la función LAMBDA ya que Excel no tiene dentro de sus funciones prestablecidas el cálculo para hacer esta conversión.

(C° *  9/5)+32=F°

Si no tuviéramos la función LAMBDA tendríamos que hacer este cálculo manualmente seleccionando la celda del valor que deseáramos convertir y aplicando la formula descrita anteriormente.

Para realizar el mismo calculo utilizando LAMBDA, debemos definir como primer parámetro el valor que será calculado (c) y después el cálculo que le queremos aplicar a nuestro valor (c*9/5+32) además de la ubicación desde donde se tomará el valor inicial (H15 en este caso). Puede parecer un proceso más largo que si hiciéramos el cálculo directamente, pero este es solo el primer paso: Asegurarnos de que la función trabaja correctamente.

El siguiente paso es dirigirnos a el Administrador de nombres, ubicado en el menú superior Formulas>Administrador de nombres. Una vez hagamos clic en él se abrirá una nueva ventana, en la cual seleccionaremos la opción “Nuevo…” para añadir nuestra nueva función. Se abrirá otra ventana desde la cual podremos personalizar como queramos la función que crearemos, podemos nombrarla como deseemos y podemos introducir un comentario que defina nuestra función en caso de que queramos facilitar el uso de la misma en caso de exportar posteriormente nuestra hoja.

Lo más importante en este punto es escribir la función que deseamos en la casilla de “Se refiere a”, el haber definido nuestra formula previamente es importante ya que el administrador de nombres no nos proporciona ningún tipo de ayuda mientras redactamos nuestra formula, por lo que es mucho más fácil hacerlo previamente y así asegurarnos de no escribir mal ningún carácter. 

Puede parecer un proceso un poco largo, especialmente a la hora de escribir manualmente la formula en el administrador de nombres, pero una vez tenemos nuestra función disponible la podemos usar cuantas veces queramos ahorrándonos mucho tiempo y margen de error en nuestros cálculos.

Por otro lado, si quisiéramos añadir OTRA función LAMBDA en nuestro administrador de nombres, podríamos hacerlo sin ningún inconveniente, siguiendo los mismos pasos que vimos previamente. Si quisiéramos crear una función que convierta valores de Fahrenheit a Celsius, solo tenemos que escribir la formula precisa.

Podemos crear cuantas funciones queramos con LAMBDA, es solo cuestión de nombrarlas adecuadamente para no confundirnos a la hora de utilizarlas en nuestro día a día. Si tenemos algún problema posteriormente, simplemente nos dirigimos al administrador de nombres y verificamos que nuestras funciones estén definidas apropiadamente, haciendo nuestro trabajo sumamente sencillo.

De esta forma nos olvidamos de escribir manualmente largas formulas mientras trabajamos, sustituyéndolas por el nombre que nosotros mismos elegimos para nuestra función al momento de crearla.

Ejemplo 2- Ordenar por Cantidad.

En el siguiente ejemplo tenemos un listado de candidatos electorales junto con la cantidad de votos que obtuvo cada uno de ellos, además de datos adicionales como los municipios, colonias y partidos al que pertenecían. Para los propósitos de este ejemplo no nos interesa saber qué candidato ganó, en este caso, queremos saber cuáles son los municipios y colonias donde mayor participación hubo. 

Nuestro objetivo final es crear una función que nos permita obtener un listado en orden de mayor a menor para cualquier categoría que necesitemos, ya sea en este caso colonias y municipios o si quisiéramos conocer el partido, o los valores de una tabla distinta a la anterior. Para eso utilizaremos la siguiente formula:

=ORDENARPOR(UNICOS(A13:A28),SUMAR.SI.CONJUNTO(E13:E28,A13:A28,UNICOS(A13:A28)),-1)

Parece una formula muy larga, pero nuestro objetivo final es utilizar la función LAMBDA para convertir esta fórmula en una función en sí misma, haciendo que su uso sea algo mucho más sencillo. Por supuesto, recomendamos escribirla primero en la barra de fórmulas de Excel, para que la herramienta de autocompletar nos ayude y poder comprobar que la fórmula que utilizaremos funcione adecuadamente para no tener problemas a continuación.

Una vez tenemos nuestra formula, reemplazamos sus valores por los criterios que tomará en cuenta nuestra función LAMBDA y nos dirigimos al administrador de nombres para finalmente insertar nuestra nueva función.

Una vez estemos creando nuestra nueva función la llamaremos CritPorDat para identificarla más fácilmente, pegamos la función LAMBDA que ya habíamos copiado desde la hoja de cálculo y listo, ya tenemos la solución a nuestro problema. Solo tenemos que insertarla y elegir el criterio que queremos que tome en cuenta y los datos con los cuales hará el cálculo.

Después de que nuestra función sea añadida exitosamente al administrador de nombres podemos utilizarla cada vez que queramos ordenar elementos de mayor a menor desde una lista, solo tenemos que definir el criterio por el cual queremos que sean ordenados y los datos a tomar en cuenta. No tenemos necesidad de volver a utilizar funciones como sumar.si u ordenar por o armar desde cero la fórmula que necesitamos ya que nuestra nueva función se encargará de eso por nosotros.

Aquí podemos ver, efectivamente con un ejemplo distinto como con la función que acabamos de crear y con los dos valores que necesitamos, podemos obtener la lista con el orden deseado en tan solo un minuto.

En el pasado, si nosotros queríamos crear una función como esta teníamos que programarla desde Visual Basic, pero ahora con LAMBDA podemos crear funciones más fácilmente y utilizarlas cuantas veces queramos en nuestra hoja de cálculo, inclusive podemos compartir nuestro documento para que otras personas tengan acceso a las funciones que creamos, siempre y cuando se abra el documento con una versión de Office 365, que es la única versión de Office desde la cual está disponible la función LAMBDA.  Para la fecha en la que es escrito este articulo LAMBDA se encuentra en su versión beta, pero esperamos que a lo largo del año 2021 se pueda acceder a ella sin problemas desde cualquier computadora con Excel 365.