Reduce una matriz a un valor acumulado aplicando LAMBDA a cada valor y devolviendo el valor total en el acumulador.
Sintaxis
=REDUCE([initial_value], array, lambda(accumulator, value, body))
La sintaxis de la función REDUCE tiene los siguientes argumentos y parámetros:
-
[initial_value] Establece el valor inicial del acumulador.
-
array La matriz que se va a reducir.
-
lambda LAMBDA a la que se llama para reducir la matriz. LAMBDA toma tres parámetros:
-
accumulator Valor total y devuelto como resultado final.
-
value Es el valor actual de la matriz.
-
Cuerpo Cálculo aplicado a cada elemento de la matriz.
-
Comentarios
Use el argumento initial_value para establecer el valor inicial del parámetro acumulador. En el ejemplo 2, donde multiplica el acumulador, establezca el valor en 1 para evitar multiplicar por 0.
Errores
Proporcionar una función LAMBDA no válida o un número incorrecto de parámetros devuelve un error #VALUE! llamado "Parámetros incorrectos".
Ejemplos
Ejemplo 1: Sumar los valores cuadrados
Escriba los datos de ejemplo en las celdas A1:C2 y, a continuación, copie la fórmula en la celda D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Ejemplo 2: Crear una función “PRODUCTIF” personalizada para multiplicar solo valores mayores que 50
Create una tabla denominada "Tabla3" con una columna denominada "nums" a partir de la celda E1. Copie la fórmula siguiente en la celda G2:
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
Ejemplo 3: Contar solo valores pares
Crear una tabla denominada “Tabla4” con una columna denominada “Nums” a partir de la celda D1. Copie la fórmula siguiente en la celda F2:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))