Cette fonction analyse un tableau et produit des valeurs intermédiaires en appliquant une fonction LAMBDA
à chaque valeur. Renvoie un tableau des valeurs intermédiaires obtenues à chaque étape.
Exemple d'utilisation
SCAN(5; A1:A3; LAMBDA(accumulateur; valeur_actuelle; accumulateur+valeur_actuelle))
SCAN(2; A1:A3; LAMBDA(accumulateur; valeur_actuelle; accumulateur*valeur_actuelle))
Syntaxe
SCAN(valeur_initiale; tableau_ou_plage; LAMBDA)
valeur_initiale
: valeuraccumulateur
initiale.tableau_ou_plage
: tableau ou plage à analyser.LAMBDA
:LAMBDA
qui est appliqué à chaque valeur detableau_ou_plage
pour l'analyser.- 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.
- Le
- Syntaxe :
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 valeuraccumulateur
.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 leLAMBDA
est appliqué.
- 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
pourSCAN
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
Renvoyer le total cumulé d'un tableau
Exemples de données :
A |
|
---|---|
1 |
4 |
2 |
2 |
3 |
1 |
Exemple : =SCAN(5; A1:A3; LAMBDA(accumulateur; valeur_actuelle; accumulateur+valeur_actuelle))
Résultat
9 |
11 |
12 |
Afficher le pourcentage cumulé de la valeur totale
Exemples de données :
A |
|
---|---|
1 |
4 |
2 |
2 |
3 |
1 |
Exemple : =SCAN(0; A1:A3; LAMBDA(accumulateur; valeur_actuelle; accumulateur + valeur_actuelle/somme(A1:A3)))
Résultat
0,57 |
0,85 |
1 |
Renvoyer le total cumulé d'un tableau et relancer le calcul lorsque la valeur est égale à 0 et que la fonction nommée est LAMBDA.
Exemples de données :
A |
|
---|---|
1 |
4 |
2 |
2 |
3 |
1 |
4 |
0 |
5 |
3 |
6 |
6 |
Exemple : =SCAN(0; A1:A6; TOTAL_CUMULE_0)
Fonction nommée : TOTAL_CUMULE_0.
est une fonction nommée
qui génère le total cumulé du tableau et redémarre le calcul lorsque la valeur_actuelle
est 0.
Définition de la formule : =SI(valeur_actuelle=0, valeur_actuelle, accumulateur+valeur_actuelle)
, où accumulateur
et valeur_actuelle
sont des espaces réservés pour des arguments définis pour TOTAL_CUMULE_0
.
Résultat :
4 |
6 |
7 |
0 |
3 |
9 |
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 : =SCAN(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 SCAN
n'était pas une fonction LAMBDA
, cette erreur se produit :
"L'argument doit être un LAMBDA."
Exemple : =SCAN(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 : =SCAN(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.
Si l'application de LAMBDA
au tableau d'entrée génère au moins une valeur intermédiaire qui n'est pas unique, cette erreur se produit :
"Valeur unique attendue. Les résultats en tableaux imbriqués ne sont pas compatibles."
Exemple : =SCAN(5; C1:C4; LAMBDA(accumulateur; valeur; {accumulateur; valeur}))
Chaque application de LAMBDA
doit produire une valeur intermédiaire qui est une valeur unique et ne peut pas être un autre tableau.
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 REDUCE : cette fonction réduit un tableau à un résultat cumulé.
- Fonction BYROW : cette fonction regroupe un tableau par lignes.
- Fonction BYCOL : cette fonction regroupe un tableau par colonnes.
- Fonction MAKEARRAY : cette fonction crée un tableau calculé aux dimensions spécifiées.
- Créer et utiliser des fonctions nommées : cette fonction permet aux utilisateurs de créer et de stocker des fonctions personnalisées, semblables à
LAMBDA
.