La fonction REDUCE réduit un tableau à un résultat cumulé en appliquant une fonction LAMBDA.

Prérequis : comprendre la fonction LAMBDA.

Utilisation :

=REDUCE(valeur_initiale; tableau_ou_plage; LAMBDA)


Exemple d'utilisation

L'objectif sera de créer l'équivaleur d'une fonction SOMME avec REDUCE :

google sheets somme reduce

Commencez par entrer la fonction REDUCE suivi de la valeur initiale de l'accumulateur (qui sera de 0 dans le cas du calcul d'une somme) :

=REDUCE(0

Entrez ensuite la plage de cellules qui contiennent les valeurs à cumuler :

=REDUCE(0;B2:B9

Puis ajoutez la fonction LAMBDA et choisissez deux noms pour les variables qui contiendront le résultat cumulé (total) et la valeur en cours (score) :

=REDUCE(0;B2:B9;LAMBDA(total;score

Et pour terminer, entrez la formule utile (qui est ici une simple addition) :

=REDUCE(0;B2:B9;LAMBDA(total;score;total+score))

La fonction REDUCE va alors commencer avec un total défini à 0, parcourir ensuite les scores du tableau B2:B9 et additionner chaque score au total.

Et pour terminer, REDUCE retournera le total final (qui a accumulé toutes les valeurs du tableau B2:B9) :

google sheets fonctions reduce lambda

Il s'agit ici d'une simple somme, mais on pourrait par exemple décider d'additionner les nombres pairs et soustraire les nombres impairs.

Dans ce cas, il faudrait ajouter les fonctions SI et EST.PAIR à la formule :

=REDUCE(0;B2:B6;LAMBDA(total;score;total+SI(EST.PAIR(score);score;-score)))
google sheets fonctions reduce lambda si