Réduit un tableau à une valeur cumulée en appliquant un LAMBDA à chaque valeur et en renvoyant la valeur totale dans le cumul.
Syntaxe
=REDUCE([initial_value], array, lambda(accumulateur, value, body))
La syntaxe de la fonction REDUCE contient les arguments et les paramètres suivants :
-
[initial_value] Définit la valeur de départ pour le cumul.
-
tableau Un tableau à réduire.
-
lambda Un LAMBDA qui est appelé pour réduire le tableau. Le lambda prend trois paramètres :
-
cumul La valeur totalisée et renvoyée comme résultat final.
-
valeur Valeur actuelle du tableau.
-
Corps Le calcul appliqué à chaque élément du tableau.
-
Remarques
Utilisez l’argument initial_value pour définir la valeur de départ pour le paramètre de cumul. Dans l’exemple 2, dans lequel vous multipliez le cumul, définissez la valeur sur 1 en évitant la multiplication par 0.
Erreurs
La fourniture d’une fonction LAMBDA non valide ou d’un nombre incorrect de paramètres retourne un #VALUE! erreur appelée « Paramètres incorrects ».
Exemples
Exemple 1 : additionner les valeurs carrées
Entrez les exemples de données dans les cellules A1:C2, puis copiez la formule dans la cellule D4 :
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Exemple 2 : créer une fonction « PRODUCTIF » personnalisée pour multiplier uniquement les valeurs supérieures à 50
Create une table nommée « Table3 » avec une colonne nommée « nums » à partir de la cellule E1. Copiez la formule suivante dans la cellule G2 :
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
Exemple 3 : compter les valeurs paires uniquement
Créez un tableau intitulé « Tableau4 » avec une colonne intitulée « Chiffres » démarrant à la cellule D1. Copiez la formule suivante dans la cellule F2 :
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))