Cours
La fonction LAMBDA()
d'Excel permet d'utiliser des formules personnalisées. Il vous permet d'encapsuler n'importe quel calcul, de lui donner un nom et de le réutiliser n'importe où dans votre classeur.
Cela signifie que vous ne devez pas copier la même formule encore et encore. Au lieu de cela, vous pouvez utiliser LAMBDA()
pour rendre vos feuilles de calcul plus propres et plus faciles à maintenir et, si vous voulez mon avis, c'est même un peu plus facile que d'utiliser VBA.
Pourquoi utiliser Excel LAMBDA() ?
À la base, LAMBDA()
vous permet d'envelopper n'importe quelle formule dans une fonction que vous définissez. Vous fournissez des paramètres d'entrée (tout comme les arguments de SUM() ou de VLOOKUP()
), puis vous appelez votre nouvelle fonction avec ces paramètres chaque fois que vous en avez besoin. Voici la structure :
=LAMBDA(parameter1, parameter2, ..., calculation)
Vous pouvez expérimenter les formules LAMBDA()
directement dans une cellule, mais la véritable puissance réside dans l'enregistrement d'une formule en tant que fonction nommée. Une fois nommée, votre fonction personnalisée apparaît dans votre classeur comme SUM()
, AVERAGE()
, et d'autres.
Voici quelques bonnes raisons d'introduire LAMBDA()
dans votre flux de travail :
-
Éliminez les formules répétitives. Au lieu de réécrire une formule complexe partout, transformez-la en fonction et appelez-la par son nom.
-
Rendez vos feuilles de calcul plus claires. Les fonctions nommées sont beaucoup plus faciles à comprendre pour vous et vos collaborateurs qu'une formule cryptique répétée.
-
Combinez avec d'autres nouvelles fonctions.
LAMBDA()
est parfaitement compatible avecLET()
,MAP()
,REDUCE()
, et d'autres fonctions modernes d'Excel. -
Réduisez les erreurs. Une fois que votre logique est testée et enveloppée dans un
LAMBDA()
, vous pouvez la réutiliser - plus de fautes de frappe dues à la copie de formules.
Comment créer une fonction Excel LAMBDA()
Comme toute chose, cela demande un peu d'entraînement. Nous allons donc créer nos propres fonctions LAMBDA()
.
Imaginez que vous calculez l'aire d'un cercle à partir de son rayon et que vous vous retrouvez à taper plusieurs fois =PI()*A1^2
.
Tout d'abord, essayez de construire et d'exécuter une formule LAMBDA()
directement dans une cellule :
=LAMBDA(r, PI()*r^2)(3)
Ici, nous avons créé une fonction LAMBDA()
qui accepte r
comme paramètre et renvoie l'aire du cercle. Le (3
) à la fin fournit le rayon, de sorte que cette formule calcule l'aire d'un cercle de rayon 3.
Bien entendu, le fait de taper à chaque fois le site LAMBDA()
ne constitue pas une grande amélioration par rapport à la formule originale. Mais soyez patients, car les fonctions nommées entrent en jeu :
-
Allez dans Formules > Gestionnaire de noms > Nouveau.
-
Choisissez un nom pour votre fonction, par exemple
CircleArea
. -
Dans la case " Se réfère à ", entrez :
=LAMBDA(r, PI()*r^2)
Vous pouvez maintenant utiliser votre fonction personnalisée dans l'ensemble de votre classeur :
=CircleArea(A1)
Vous avez maintenant créé une fonction personnalisée réutilisable.
Syntaxe et paramètres de la fonction Excel LAMBDA()
LAMBDA()
peut accepter un nombre quelconque de paramètres (jusqu'à la limite de 253 fixée par Excel), chacun étant séparé par une virgule. (Non pas que vous en utilisiez autant).
Il est important de noter que l'argument final est toujours le calcul lui-même, qui peut utiliser n'importe lequel des paramètres que vous avez définis.
=LAMBDA(parameter1, parameter2, ..., calculation)
Par exemple, si vous voulez créer une fonction qui renvoie le plus grand de deux nombres, vous pouvez écrire :
=LAMBDA(a, b, IF(a > b, a, b))
Après avoir enregistré cette fonction sous un nom - MaxOfTwo
est un bon nom - vous l'utiliserez comme n'importe quelle autre fonction Excel :
=MaxOfTwo(7, 4)
Cette formule renvoie 7
, la plus grande des deux entrées.
Exemples plus spécifiques de LAMBDA() dans Excel
Continuons à nous entraîner.
Excel LAMBDA() avec plusieurs paramètres
Ensuite, nous allons travailler avec des fonctions qui prennent plusieurs entrées. Comme précédemment, nous séparons nos paramètres par des virgules et nous fournissons le même nombre d'arguments lorsque nous appelons la fonction.
Pour additionner deux nombres :
=LAMBDA(a, b, a + b)(4, 9)
Vous obtiendrez ainsi 13
.
Si vous décidez de transformer cette fonction en une fonction nommée AddTwo
, vous pouvez l'utiliser dans votre classeur comme suit :
=AddTwo(A1, A2)
Vous disposez à présent d'une fonction d'addition personnalisée.
Nettoyer la logique répétitive
Supposons que vous calculiez les commissions à l'aide de cette formule à plusieurs endroits :
=IF(A2 > 1000, A2*0.1, 0)
Au lieu de copier cette formule partout où vous devez l'utiliser, vous pouvez encapsuler la logique avec LAMBDA()
:
=LAMBDA(amount, IF(amount > 1000, amount*0.1, 0))
Nommez cette fonction Commission
, et vous pouvez maintenant l'utiliser :
=Commission(A2)
Si vous devez modifier la logique de la commission, il vous suffit de mettre à jour le site LAMBDA()
à un seul endroit, et toutes les formules utilisant le site Commission
seront également mises à jour.
Récursion et fonctions imbriquées
LAMBDA()
supporte la récursivité, c'est-à-dire qu'une fonction peut s'appeler elle-même. Cela permet de débloquer de nouvelles idées, telles que des agrégations personnalisées.
Par exemple, voici comment vous pourriez définir une fonction factorielle récursive :
=LAMBDA(n, IF(n=1, 1, n*Factorial(n-1)))
Vous l'enregistrez en tant que fonction nommée et elle fonctionne comme n'importe quelle fonction récursive en programmation. (Pour le nom, je choisirais quelque chose d'explicite, comme Factorial
.)
LAMBDA() avec d'autres fonctions de tableaux dynamiques
LAMBDA()
peut être combiné avec d'autres fonctions dynamiques d'Excel telles que LET()
, MAP()
, et REDUCE()
.
LET()
vous permet d'attribuer et de réutiliser des variables dans votre formule, tandis que MAP()
et REDUCE()
appliquent LAMBDA()
s à des tableaux ou à des listes.
Par exemple, pour doubler toutes les valeurs d'une plage :
=MAP(A1:A5, LAMBDA(x, IF(x>10, x*2, x)))
Ici, MAP()
applique votre fonction LAMBDA()
à chaque élément de A1:A5
. Cette fonction est très utile pour les calculs par lots.
(La formule ci-dessus ne double la valeur correspondante dans l'intervalle que si la valeur est supérieure à 10).
(Ce qui est bien aussi, c'est que vous ne devez écrire la formule qu'une seule fois, dans la cellule B1, et que les cellules suivantes se remplissent automatiquement).
Astuces de pro avec Excel LAMBDA()
Voici quelques conseils tirés de l'expérience.
Testez les fonctions Excel LAMBDA() avant de les nommer
Avant de vous engager à nommer et à enregistrer votre site LAMBDA()
, il est judicieux de le tester directement dans une cellule. Vous pouvez le faire en ajoutant vos arguments de test entre parenthèses, comme vous le feriez pour n'importe quelle fonction :
=LAMBDA(x, x*2)(5)
Vous obtenez ainsi 10
, le résultat escompté.
Si vous oubliez de fournir un argument lors du test, en tapant simplement =LAMBDA(x, x*2)
, Excel affichera la fonction elle-même, et non un résultat. N'oubliez pas d'ajouter les parenthèses finales avec vos valeurs d'entrée.
Quelques mises en garde
Faisons une pause et examinons les limitations :
-
LAMBDA()
sont limitées au cahier des charges. Si vous souhaitez utiliser vos fonctions personnalisées dans un autre classeur, vous devez les copier ou utiliser la nouvelle fonction Fonctions nommées d'Excel, si elle est disponible. -
Vous ne pouvez pas utiliser
LAMBDA()
pour créer des fonctions volatiles (commeNOW()
ouRAND()
). -
La fourniture d'un nombre incorrect d'arguments lors de l'appel d'un site
LAMBDA()
entraînera une erreur#VALUE!
. Il convient donc de toujours vérifier vos entrées. -
Toutes les versions d'Excel ne prennent pas en charge
LAMBDA()
. Vous aurez besoin de Microsoft 365 ou de la dernière version web pour utiliser ces fonctionnalités.
LAMDA() et autres fonctions
Enfin, considérons LAMBDA()
en parallèle avec d'autres façons de faire.
Quand devez-vous utiliser Excel LAMBDA() ?
En réfléchissant à tout ce que nous avons abordé, vous vous demandez peut-être quand LAMBDA()
est l'outil adéquat pour ce travail. Cherchez LAMBDA()
lorsque :
- Vous avez des formules complexes ou répétitives que vous souhaitez simplifier.
- Il y a une logique que vous aimeriez nommer et expliquer.
- Vous souhaitez des calculs personnalisés ou une logique qu'Excel ne propose pas d'emblée.
À mon avis, LAMBDA()
est particulièrement utile pour les équipes, surtout lorsque les noms des fonctions sont explicites. Les membres de l'équipe voient alors exactement ce que fait la logique sans avoir à se plonger dans les calculs pour comprendre.
Fonctions Excel apparentées
Il est utile de se familiariser avec les autres nouvelles fonctions d'Excel qui complètent LAMBDA()
. En voici quelques-uns. J'en ai déjà mentionné quelques-uns.
-
LET()
: Attribuer des noms aux calculs à l'intérieur d'une formule -
MAP()
: Appliquer unLAMBDA()
à chaque élément d'un tableau -
REDUCE()
: Ramenez un tableau à une seule valeur à l'aide d'une fonctionLAMBDA()
-
BYROW()
,BYCOL()
: Appliquez uneLAMBDA()
par ligne ou par colonne
Ces fonctions, associées au site LAMBDA()
, permettent de réaliser des transformations logiques et de données plus sophistiquées. Suivez notre cours sur les fonctions avancées d'Excel pour découvrir les fonctions vraiment utiles qu 'offre Excel.
Conclusion
Comme nous l'avons vu et pratiqué, Excel LAMBDA()
vous permet de créer vos propres fonctions de feuille de calcul sans même toucher au VBA. Utilisez donc LAMBDA()
si vous écrivez régulièrement le même calcul à plusieurs endroits, ou si vous souhaitez apprivoiser des formules compliquées.
Et n'oubliez pas de suivre notre cours sur les fonctions avancées d'Excel pour devenir plus rapide et plus intelligent avec Excel. Et si vous êtes analyste financier ou souhaitez le devenir, suivez également notre cours Modélisation financière dans Excel. Les fonctions LAMDA() seront particulièrement utiles dans le monde de la finance.

Je suis rédacteur et éditeur dans le domaine de la science des données. Je suis particulièrement intéressé par l'algèbre linéaire, les statistiques, R, etc. Je joue également beaucoup aux échecs !