Cette fonction réduit un tableau à un résultat cumulé en appliquant une fonction LAMBDA
à chaque valeur.
Exemple d'utilisation
REDUCE(5; A1:A3; LAMBDA(accumulateur; valeur_actuelle; accumulateur+valeur_actuelle))
REDUCE(2; A1:A3; LAMBDA(accumulateur; valeur_actuelle; accumulateur*valeur_actuelle))
Syntaxe
REDUCE(valeur_initiale; tableau_ou_plage; LAMBDA)
valeur_initiale
: valeuraccumulateur
initiale.tableau_ou_plage
: tableau ou plage à réduire.LAMBDA
:LAMBDA
qui est appliqué à chaque valeur detableau_ou_plage
pour la réduire.- Syntaxe :
LAMBDA(nom1; nom2; expression_de_formule)
- Conditions requises :
- Le
LAMBDA
doit comporter exactement 2 argumentsnom
, ainsi qu'uneexpression_de_formule
utilisant cesnoms
. Lenom1
est résolu avec la valeur actuelle de l'accumulateur
et lenom2
est résolu avec lavaleur_actuelle
detableau_ou_plage
, lors de l'application duLAMBDA
. L'accumulateur
est mis à jour à chaque étape avec la valeur intermédiaire obtenue à l'étape précédente. Consultez un exemple d'opération de multiplication simple.
- Le
Notes
- Le
LAMBDA
transmis doit accepter exactement 2 argumentsnom
, sinon une erreur#N/A
est renvoyée. Ces arguments correspondent àaccumulateur
etvaleur_actuelle
, dans cet ordre. Ils sont expliqués ci-dessous :nom1
: est résolu avec la valeur actuelle de l'accumulateur
.nom2
: est résolu avec lavaleur_actuelle
du tableau d'entrée.
- L'
accumulateur
est initialisé par lavaleur_initiale
et mis à jour à chaque étape avec la valeur intermédiaire obtenue à l'étape précédente.
- La
valeur_actuelle
du tableau d'entrée est trouvée ligne par ligne, alors que la valeurLAMBDA
est appliquée.
- Une
fonction nommée
peut être transmise pour le paramètreLAMBDA
et se comporte comme unLAMBDA
dans ce cas. En savoir plus sur les fonctions nommées- La
fonction nommée
doit suivre la syntaxeLAMBDA
pourREDUCE
et comporter exactement 2 espaces réservés pour les arguments. - La
fonction nommée
ne doit pas être suivie de parenthèses.
- La
Exemples
Opération de multiplication simple
Renvoie le produit de tous les éléments de la plage A1:A3 et de la valeur_initiale
.
Exemples de données :
A |
|
---|---|
1 |
3 |
2 |
2 |
3 |
4 |
Exemple : =REDUCE(5; A1:A3; LAMBDA(accumulateur; valeur_actuelle; accumulateur*valeur_actuelle))
Fonctionnement :
Initialement, accumulateur
= 5
1. Traitement de la cellule A1 :
|
Après le traitement de la cellule A1 :
|
2. Traitement de la cellule A2 :
|
Après le traitement de la cellule A2 :
|
3. Traitement de la cellule A3 :
|
Après le traitement de la cellule A3 :
|
Résultat
120 |
Somme si le prix est supérieur ou égal à 20 $
Ajoute tous les prix supérieurs ou égaux à 20 $.
Exemples de données :
A |
|
---|---|
1 |
50 $ |
2 |
10 $ |
3 |
30 $ |
4 |
20 $ |
Exemple : =REDUCE(0; A1:A4; LAMBDA(accumulateur; prix; SI(prix>=20, accumulateur + prix; accumulateur)))
Résultat
100 $ |
Utiliser une fonction nommée en tant que fonction LAMBDA
Renvoie le prix final après l'avoir augmenté d'un certain pourcentage à chaque période.
Exemples de données :
A |
B |
C |
|
---|---|---|---|
1 |
2022 |
10 % |
Prix de départ : |
2 |
2023 |
5 % |
100 $ |
3 |
2024 |
5 % |
|
4 |
2025 |
10 % |
Exemple : =REDUCE(C2;B1:B4;AUGMENTATION_PRIX)
Fonction nommée : AUGMENTATION_PRIX
est une fonction nommée
qui génère le résultat de l'augmentation appliquée selon le pourcentage indiqué dans la colonne B.
Définition de la formule : =accumulateur+accumulateur*cellule
où accumulateur
et cellule
sont des espaces réservés pour les arguments définis pour AUGMENTATION_PRIX
.
Résultat :
133,4 |
Utiliser une fonction nommée en tant que LAMBDA avec un ensemble de données bidimensionnel
Trouvez la liste des employés uniques pour le trimestre, en conservant l'ordre par ligne.
Exemples de données :
A |
B |
C |
|||
---|---|---|---|---|---|
1 |
T1 |
T2 |
T3 |
T4 |
|
2 |
2020 |
Jean |
Adam |
Sophie |
Adam |
3 |
2021 |
Pierre |
Maurice |
Jean |
Marie |
4 |
2022 |
Sophie |
Michaël |
Pierre |
Adam |
Fonction nommée : AJOUTER_SI_NON_PRESENT
est une fonction nommée
qui ajoute une valeur de chaîne donnée à un tableau de valeurs.
Définition de la fonction : =SI(CONTIENT(nouvelle_valeur, valeurs_existantes); valeurs_existantes; {valeurs_existantes; nouvelle_valeur})
, où valeurs_existantes
et nouvelle_valeur
sont des espaces réservés pour les arguments définis pour AJOUTER_SI_NON_PRESENT
dans cet ordre, et CONTIENT
est une autre fonction nommée
.
Exemple : =REDUCE({B2}; B2:E4; AJOUTER_SI_NON_PRESENT)
Résultat
Jean |
Adam |
Sophie |
Pierre |
Maurice |
Marie |
Michaël |
Erreurs courantes
Le LAMBDA transmis ne comporte pas exactement 2 arguments nom.Si la fonction LAMBDA
ne comporte pas 2 arguments nom
, l'erreur suivante se produit :
"Nombre d'arguments incorrect pour appeler la fonction LAMBDA suivante. Elle nécessite 3 arguments, mais vous en avez indiqué 2."
Exemple : =REDUCE(5; C1:C4; LAMBDA(valeur_actuelle; valeur_actuelle+1))
Dans cet exemple, LAMBDA
n'a reçu qu'un seul argument nom
alors qu'il en nécessitait 2.
Si le dernier paramètre de la fonction REDUCE
n'était pas une fonction LAMBDA
, cette erreur se produit :
"L'argument doit être un LAMBDA."
Exemple : =REDUCE(5; C1:C4; 3)
Dans cet exemple, la dernière fonction est 3
au lieu d'une fonction LAMBDA
.
Si un ou plusieurs arguments nom
ne sont pas valides, l'erreur suivante se produit :
"Le nom de l'argument 1 de la fonction LAMBDA n'est pas valide."
Exemple : =REDUCE(5; C1:C4; LAMBDA(C1; v; C1+v))
Dans cet exemple, C1
n'est pas un nom
valide, car il entre en conflit avec une plage.
Fonctions associées
- Fonction LAMBDA : cette fonction permet de créer et de renvoyer une fonction personnalisée avec un ensemble de
noms
et uneexpression_de_formule
qui les utilise. - Fonction MAP : cette fonction mappe chaque valeur des tableaux donnés à une nouvelle valeur.
- Fonction BYROW : cette fonction regroupe un tableau par lignes.
- Fonction BYCOL : cette fonction regroupe un tableau par colonnes.
- Fonction SCAN : cette fonction analyse un tableau et génère des valeurs intermédiaires.
- Fonction MAKEARRAY : cette fonction crée un tableau calculé aux dimensions spécifiées.
- Créer et utiliser des fonctions nommées : cette fonction vous permet de créer et de stocker des fonctions personnalisées, semblables à
LAMBDA
.