Función LAMBDA
la función LAMBDA se usa para crear funciones personalizadas reutilizables y asígneles un nombre descriptivo. Esta nueva función está disponible en el libro y se denomina como las funciones nativas de Excel. es decir, se puede usar para crear una función para una fórmula que suela usar, eliminar la necesidad de copiar y pegar esta fórmula y añadir de manera efectiva sus propias funcionas para la librería nativa de funciones de Excel. Además, una función LAMBDA no requiere VBA, macros o JavaScript, para que quienes no programan también se puedan beneficiar de usarla.
La función LAMBDA es un paso de gigante para Excel. Además, viene con un paquete de funciones: BYROW, BYCOL, MAKEARRAY, MAP, SCAN y REDUCE.
BYROW y BYCOL
- BYROW: Aplica LAMBDA a cada fila y devuelve un vector columna con los resultados de la transformación resultante de Lambda.
Sintaxis: =BYROW(fila; LAMBDA(fila)) - BYCOL: Aplica LAMBDA a cada columna y devuelve un vector columna con los resultados de la transformación resultante de Lambda.
Sintaxis: =BYCOL(columna; LAMBDA(columna))
Ejemplo: devuelve la suma de las filas y el promedio de las columnas
MAKEARRAY
- MAKEARRAY (Traducida ARCHIVOMAKEARRAY): Devuelve una matriz calculada de un tamaño de fila y columna especificado, aplicando LAMBDA a cada elemento de dicha matriz.
Sintaxis: =MAKEARRAY(filas; columnas; LAMBDA(fila; columna)) - Ejemplo: devuelve el número de fila y de columna en cada celda
- Otro ejemplo: devuelve los 6 primeros de la lista en forma de tabla
MAP
- MAP: Devuelve una matriz formada por la asignación de cada valor de las matrices a un nuevo valor aplicando LAMBDA para crear un nuevo valor.
Sintaxis: =MAP(array1; LAMBDA_o_array) - Ejemplo: devuelve los números pares
SCAN
- SCAN examina una matriz aplicando LAMBDA a cada valor y devuelve una matriz que tiene cada valor intermedio.
Sintaxis:
SCAN ([initial_value]; array; LAMBDA(accumulator; value))
donde:- [initial_value]: establece el valor inicial del acumulador.
- array: matriz que se va a examinar.
- función LAMBDA a la que se llama para examinar la matriz. Y sus dos importantes parámetros:
- accumulator: Valor total y devuelto como resultado final.
- value: Cálculo aplicado a cada elemento de la matriz.
- accumulator: Valor total y devuelto como resultado final.
- Ejemplo: devuelve los valores acumulados de la muestra y en la siguiente columna la frecuencia acumulada:
=SCAN(0;A31:A36;LAMBDA(acum;param1;acum+param1))
y
=LET(total;SUMA(A31:A36);SCAN(0;A31:A36;LAMBDA(acum;param1;(acum+param1)))/total)
REDUCE
- REDUCE, la cual reduce una matriz a un valor acumulado aplicando LAMBDA a cada valor y devolviendo el valor total en el acumulador.
Esto es, hace algo similar a lo que desarrolla SCAN, pero solo retorna la última transformación.. después de todos los pasos intermedios aplicados.
Sintaxis:
=REDUCE([initial_value]; array; LAMBDA(accumulator; value))
donde:- [initial_value]: establece el valor inicial del acumulador.
- array: matriz que se va a ‘reducir’.
- función LAMBDA a la que se llama para reducir. Y sus dos importantes parámetros:
- accumulator: Valor total y devuelto como resultado final.
- value: Cálculo aplicado a cada elemento de la matriz.
- Ejemplo: devuelve el total de sucesos
=REDUCE(0;A41:A46;LAMBDA(acum;param1;acum+param1))
Para ver todos los ejemplos: LAMBDA
Fuente:
https://blog.excelforo.com/2022/02/LAMBDA-REDUCE-%20MAP-%20SCAN-BYCOL-BYROW.html