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 retournant la valeur totale dans l’accumulateur.   

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 de l’accumulateur.

  • Array Tableau à réduire.

  • Lambda Lambda appelé pour réduire le tableau. Le lambda prend trois paramètres :

    • Accumulateur Valeur cumulée et retournée comme résultat final.
    • Valeur Valeur actuelle du tableau.
    • Corps 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 est 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 une table nommée « Table3 » avec une colonne nommée « nums » en commençant à 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