Quelle est la différence et comment fonctionnent-ils ensemble ?


Les gens confondent souvent les fonctions LAMBDA et SCAN d'Excel car elles apparaissent souvent ensemble dans les formules. Cependant, ce ne sont pas les mêmes : LAMBDA est le « cerveau » qui définit la logique, et SCAN est le « véhicule » qui la réalise. Voici comment les distinguer.

Les fonctions LAMBDA et SCAN sont disponibles pour ceux qui utilisent Excel 2024 ou version ultérieure, Excel pour Microsoft 365, Excel pour le webou les applications mobiles et tablettes Excel les plus récentes.

LAMBDA crée la logique personnalisée

La raison pour laquelle la fonction LAMBDA d’Excel est si révolutionnaire est qu’il s’agit d’une page vierge. La plupart des fonctions Excel ont un objectif fixe : SOMME ajoute toujours et MOYENNE trouve toujours la moyenne. LAMBDA, cependant, ne « fait » rien jusqu'à ce que vous lui donniez un ensemble d'instructions.

Dans la formule ci-dessous, LAMBDA n'a pas encore de chiffres avec lesquels travailler, c'est pourquoi il renvoie le #CALC ! erreur:

=LAMBDA(a,b,a*b)
La fonction LAMBDA renvoie une erreur CALC dans Excel car elle n'a reçu aucune donnée avec laquelle travailler.

Cependant, il sait que lorsqu'il fait recevoir deux valeurs (un et b), il faut les multiplier (un*b). C'est pourquoi je l'appelle le « cerveau » : il détient l'intelligence, mais il a besoin d'une source extérieure pour l'alimenter en données.

La puissance autonome de LAMBDA

Vous pouvez distinguer LAMBDA de SCAN car il peut vivre indépendamment dans le gestionnaire de noms. En enregistrant un LAMBDA et en lui donnant un nom, comme « CalculateMarkup », vous créez effectivement une nouvelle fonction Excel native que vous pouvez appeler n'importe où dans votre classeur. SCAN, en revanche, ne peut pas être sauvegardé de cette façon : il doit vivre à l'intérieur une formule.

L'icône lambda à gauche, une formule Excel au centre et un ordinateur portable avec une feuille de calcul floue en arrière-plan.

Comment utiliser LAMBDA dans Excel pour créer vos propres fonctions

Simplifiez et réutilisez vos formules les plus complexes.

SCAN parcourt la plage de données

Alors que LAMBDA concerne la logique, SCAN concerne le mouvement. Il s'agit d'une fonction d'assistance conçue pour parcourir une plage de cellules tout en gardant la trace d'un total cumulé ou d'une liste croissante. En conséquence, il lui manque l’intelligence nécessaire pour effectuer des calculs ; il sait seulement comment :

  1. Commencez à une valeur spécifique.

  2. Parcourez une plage de cellules.

  3. Demandez des instructions à un LAMBDA à chaque étape.

Pour cette raison, il suit cette syntaxe :

=SCAN([initial_value],array,LAMBDA)

où:

  • valeur_initiale est le point de départ.
  • tableau est le tableau à analyser.
  • LAMBDA est l'argument de la fonction qui indique à SCAN quoi faire.

Les deux fonctions travaillent en équipe

La confusion entre LAMBDA et SCAN vient du fait que SCAN est presque toujours la fonction parent dans la barre de formule :

=SCAN(0,T_Sales[Sales],LAMBDA(a,b,a+b))
La fonction SCAN avec un LAMBDA pour calculer le total des ventes en cours de divers widgets dans Excel.

Bien que l'utilisation de tableaux Excel pour les données sources soit une bonne pratique, la formule SCAN doit être placée dehors le tableau. En effet, cela produit un tableau renversé, que les tables ne peuvent pas gérer. Cependant, notez que vous devez également laisser une colonne tampon entre la table et la formule SCAN afin que la table ne récupère pas le tableau résultant lorsque vous appuyez sur Entrée.

Étant donné que le LAMBDA est placé entre les parenthèses SCAN, il est facile de les considérer comme un outil unique. Cependant, les associer de cette manière provoque une « poignée de main » dans chaque cellule :

  1. SCAN récupère le total actuel et la nouvelle valeur de cellule.

  2. SCAN transmet les deux éléments de données à LAMBDA.

  3. LAMBDA effectue le calcul et rend le résultat.

  4. SCAN écrit ce résultat et passe à la ligne suivante pour recommencer le processus.

LAMBDA et SCAN gèrent bien plus que de simples mathématiques

Pour voir la distinction entre ces fonctions dans un scénario pratique, je vais vous montrer comment elles gèrent les chaînes de texte. Bien qu’une simple somme puisse les faire ressembler à un outil mathématique unique, leur utilisation pour créer un fil d’Ariane de texte révèle comment ils interagissent réellement.

Imaginez que vous ayez une colonne de codes phonétiques et que vous souhaitiez créer un journal en cours dans la colonne C.

Une liste des codes de l'alphabet phonétique OTAN dans un tableau Excel et une zone vierge « combinée » à droite du tableau où une formule sera saisie.

Pour ce faire, vous utiliserez la formule suivante :

=SCAN("",T_NATO[Phonetic],LAMBDA(a,b,IF(b="",a,IF(a="",b,a&" - "&b))))
La fonction SCAN avec un LAMBDA pour créer une chaîne continue de codes à partir de l'alphabet phonétique de l'OTAN.

Dans ce cas, les fonctions effectuent deux tâches distinctes :

  • BALAYAGE gère l'état de départ (la chaîne de texte vide «  ») et le déplacement physique à travers la gamme de codes. Son seul travail est de fournir le « où » et le « quand ».
  • LAMBDA évalue le contenu de chaque cellule individuelle et prend des décisions logiques que SCAN ne peut pas. Tout d’abord, il vérifie si une cellule est vide pour éviter d’ajouter des séparateurs malveillants. Si tel est le cas, il fait simplement avancer la liste actuelle. Toutefois, si les cellules contiennent des données, il décide s'il doit commencer la liste avec une seule entrée ou ajouter un nouveau mot à la chaîne existante.

Le résultat est une liste dispersée qui s'agrandit à chaque ligne. Cela prouve que SCAN est le système de livraison pour toute logique personnalisée dictée par LAMBDA.

Feuille de calcul remplie de plusieurs #SPILL ! erreurs et icônes d'exclamation rouges, représentant des problèmes avec les formules matricielles dynamiques Microsoft Excel.

Fatigué du #SPILL d'Excel ! erreur? Voici 5 solutions faciles

Résolvez rapidement cette erreur frustrante en modifiant la structure de votre feuille de calcul.

LAMBDA et SCAN créent des totaux plus robustes

La plupart des gens tombent sur ce match paradisiaque lorsqu'ils construisent un total cumulé. Dans les anciennes versions d'Excel, vous utilisiez probablement une formule telle que =SUM($B$2:B2) et la faisiez glisser vers le bas de la colonne.

Le problème de cette méthode traditionnelle est qu’elle repose sur des références relatives. Si vous triez vos données, insérez une nouvelle ligne ou supprimez une cellule au milieu de la plage, les références se cassent ou renvoient souvent #REF ! erreurs. En utilisant LAMBDA et SCAN ensemble, vous créez un seul tableau dynamique qui n'existe que dans une seule cellule.

Prenez cette formule :

=SCAN(0,T_Inventory[Stock],LAMBDA(a,b,a+b))

Ici, les fonctions se partagent la responsabilité d'éviter les erreurs :

  • BALAYAGE verrouille le calcul sur la plage. Comme il s'agit d'une formule unique, vous n'avez pas à vous soucier de la modification ou de la suppression des formules de cellules individuelles au milieu de la colonne.
  • LAMBDA détient la logique. Si vous devez modifier les calculs, il vous suffit de le faire à un seul endroit pour mettre à jour la colonne entière.
La fonction SCAN avec un LAMBDA pour calculer l'inventaire courant de différents fruits dans Excel.


Une fois que vous reconnaissez que LAMBDA est l’intelligence et que SCAN est le système de transmission, vous pouvez cesser de les traiter comme une unité unique et déroutante. Cette distinction est la clé pour abandonner les formules fragiles et déroulantes et se tourner vers des feuilles de calcul robustes et automatisées qui se mettent à jour à mesure que les données augmentent.

Cependant, la liaison entre ces deux fonctions n’est qu’une façon de gérer les tableaux dans Excel moderne. Si vous n'avez pas besoin d'accumuler un total cumulé et souhaitez simplement transformer chaque cellule d'une plage individuellement, vous devez utiliser la fonction MAP plutôt.

Système d'exploitation

Windows, macOS, iPhone, iPad, Android

Essai gratuit

1 mois

Microsoft 365 inclut l'accès aux applications Office telles que Word, Excel et PowerPoint sur jusqu'à cinq appareils, 1 To de stockage OneDrive et bien plus encore.




Vous pouvez lire l’article original (en Angais) sur le blogwww.howtogeek.com