Fonction SCAN

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 : valeur accumulateur initiale.
  • tableau_ou_plage : tableau ou plage à analyser.
  • LAMBDA : LAMBDA qui est appliqué à chaque valeur de tableau_ou_plage pour l'analyser.
    • Syntaxe : LAMBDA(nom1; nom2; expression_de_formule)
    • Conditions requises :
      • Le LAMBDA doit comporter exactement 2 arguments nom, ainsi qu'une expression_de_formule utilisant ces noms. Le nom1 est résolu avec la valeur actuelle de l'accumulateur et le nom2 est résolu avec la valeur_actuelle de tableau_ou_plage, lors de l'application du LAMBDA. L'accumulateur est mis à jour à chaque étape avec la valeur intermédiaire obtenue à l'étape précédente.

Notes

  • Le LAMBDA transmis doit accepter exactement 2 arguments nom, sinon une erreur #N/A est renvoyée. Ces arguments correspondent à accumulateur et valeur_actuelle, dans cet ordre. Ils sont expliqués ci-dessous :
    • nom1 : est résolu avec la valeur de l'accumulateur.
    • nom2 : est résolu avec la valeur_actuelle du tableau d'entrée.
  • L'accumulateur est initialisé par la valeur_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 le LAMBDA est appliqué.

  • Une fonction nommée peut être transmise pour le paramètre LAMBDA et se comporte comme un LAMBDA dans ce cas. En savoir plus sur les fonctions nommées
    • La fonction nommée doit suivre la syntaxe LAMBDA pour SCAN et comporter exactement 2 espaces réservés pour les arguments.
    • La fonction nommée ne doit pas être suivie de parenthèses.

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.

Créer une copie

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.

Le dernier paramètre de SCAN n'était pas un LAMBDA.

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.

Le LAMBDA transmis à SCAN était incorrect.

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.

Une ou plusieurs valeurs intermédiaires produites par l'application de LAMBDA ne sont pas des valeurs uniques.

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 une expression_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.
true
Consulter le centre de formation

Vous utilisez des produits Google, comme Google Docs, dans votre entreprise ou votre établissement scolaire ? Essayez de suivre des astuces efficaces, ainsi que des didacticiels et des modèles puissants. Apprenez notamment à travailler sur des fichiers Office sans avoir à installer Office, créez des plans de projet et des calendriers d'équipe dynamiques, et organisez automatiquement votre boîte de réception.

Recherche
Effacer la recherche
Fermer le champ de recherche
Menu principal
14012011821211605592
true
Rechercher dans le centre d'aide
true
true
true
true
true
35
false
false