Fonction REDUCE

S’applique à
Excel pour Microsoft 365 Excel pour Microsoft 365 pour Mac

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], tableau, lambda(cumul, valeur, corps))

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.

  • Expressions lambda Un LAMBDA qui est appelé pour réduire le tableau. Le LAMBDA prend trois paramètres :

    • accumulateur La valeur totalisée et renvoyée comme résultat final.
    • de la valeur La valeur actuelle du tableau.
    • du 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.

REMARQUE : Si aucune valeur n’est fournie pour le initial_value, la première valeur du tableau sera utilisée comme valeur de départ.

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 1 de première fonction REDUCE

Exemple 2 : créer une fonction « PRODUCTIF » personnalisée pour multiplier uniquement les valeurs supérieures à 50

Créez un tableau intitulé « Tableau3 » avec une colonne intitulée « Chiffres » démarrant à 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 REDUCE LAMBDA

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)))

Exemple de troisième fonction REDUCE