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

Liens rapides
Avant que Lambda ne soit présenté à Excel, vous devez savoir comment utiliser VBA ou Macros pour créer votre propre fonction. Cependant, aujourd'hui, l'outil Lambda d'Excel vous permet de le faire en utilisant un langage Excel et des syntaxes familiers. Dans ce guide, je vais vous montrer comment.
Si c'est la première fois que vous essayez d'utiliser Lambda, je vous recommande fortement de suivre les sections de cet article dans l'ordre. Comprendre la syntaxe de l'outil et un exemple simple pour faciliter la mise en place de la réalité dans la vie réelle.
La fonction lambda est disponible dans Excel pour Microsoft 365 (Windows et Mac), Excel 2024 (Windows et Mac) et Excel pour le Web. Malheureusement, si vous utilisez Excel 2019 ou plus tôt, vous ne pourrez pas créer vos propres fonctions en utilisant les méthodes décrites dans ce guide.
La syntaxe lambda
La création de votre propre fonction dans Excel à l'aide de Lambda vous oblige à saisir deux arguments:
=LAMBDA(x,y)
où
- x sont les variables d'entrée (jusqu'à 253), et
- y est le calcul.
Les variables d'entrée (argument x) ne peut pas affronter les références de cellules ou contenir des périodes, et le calcul (argument y) est toujours le dernier argument de la fonction lambda.
Lambda dans un exemple simple
Avant de voir comment Lambda peut être utilisé dans Excel dans un scénario du monde réel, je vais vous montrer comment cela fonctionne dans un exemple de base.
Ouvrez un classeur Excel vierge et dans la cellule A1 de la feuille 1, type:
=LAMBDA(a,b,a*b)
Mais n'appuyez pas sur Entrée pour l'instant.
Penser à la syntaxe dans la section ci-dessus, “A, B“Est la partie de la formule où nous identifions et nommons les variables, et”A * B“- L'argument final de la formule – est le calcul que nous voulons que la fonction fonctionne lorsque nous attribuons des valeurs à ces variables. Donc, par exemple, si un et b sont 4 et 6, respectivement, nous nous attendrions à ce que le calcul revienne 24.
Maintenant, appuyez sur Entrée. Au début, cela produit un #calc! Erreur parce que vous n'avez pas encore attribué de valeurs aux variables.
Cependant, vous pouvez tester que le lambda que vous avez créé fonctionnera lorsque des valeurs seront ajoutées. Pour ce faire, double-cliquez sur la cellule contenant la fonction lambda et tapez des variables d'exemples entre parenthèses à la fin de la formule existante. Par exemple:
=LAMBDA(a,b,a*b)(4,6)
Maintenant, lorsque vous appuyez sur Entrée, la cellule affichera 24, confirmant que la formule Lambda que vous avez créée est prête pour que les valeurs soient affectées aux variables.
À ce stade, vous pourriez penser que la saisie = 4 * 6 Dans une cellule et en appuyant sur Entrée serait beaucoup plus facile, et vous avez raison. Cependant, le but de l'utilisation de Lambda est de donner un nom à votre calcul et de l'appliquer à d'autres valeurs chaque fois que nécessaire, ce qui devient particulièrement utile lorsque votre calcul est plus complexe. De plus, si vous devez apporter des modifications au calcul plus tard, faire un ajustement mineur à votre fonction à sa racine aura un impact sur tous les calculs pertinents, vous faisant gagner beaucoup de temps.
Donc, pour y arriver, double-cliquez sur la cellule contenant votre fonction Lambda, sélectionnez les variables Lambda d'origine et le calcul que vous avez créé (jusqu'à la fin du premier ensemble de parenthèses) et appuyez sur Ctrl + C pour copier cette formule.
Une fois que vous avez copié la formule, appuyez sur ESC. Ensuite, dans l'onglet Formules du ruban, cliquez sur “Définir le nom”.
La nouvelle boîte de dialogue Nom qui apparaît est l'endroit où vous définissez officiellement la nouvelle fonction que vous pouvez utiliser n'importe où dans votre classeur.
Voici ce que fait chacun des champs de cette boîte de dialogue et ce dont vous avez besoin pour entrer:
Champ |
Ce que fait ce champ |
Ce que vous devez faire |
---|---|---|
Nom | C'est là que vous donnez un nom à votre nouvelle fonction. | Tapez un nom mémorable, comme Simplelambda. |
Portée | Ce que vous sélectionnez dans ce menu déroulant définit où vous pouvez utiliser votre nouvelle fonction. | Sélectionnez «classeur». |
Commentaire | Lorsque vous arrivez à utiliser la nouvelle fonction, ce que vous tapez dans la zone de commentaire apparaîtra comme une infraction. | Tapez une brève description de ce que fait la fonction. |
Se réfère à | Les détails dans ce domaine sont ce que Excel utilise pour que la fonction fonctionne. | Supprimez tous les détails existants et appuyez sur Ctrl + V pour coller la formule Lambda que vous avez copiée plus tôt. |
C'est à quoi devrait ressembler votre nouvelle boîte de dialogue de nom lorsque vous avez rempli tous les champs.
Lorsque vous cliquez sur “OK”, vous êtes prêt à tester cette nouvelle fonction ailleurs dans votre classeur.
Effacez le contenu de la cellule A1 en sélectionnant la cellule et en appuyant sur Supprimer. Ensuite, dans la même cellule, tapez l'égalité (=) Signez et commencez à taper le nom que vous venez de donner à votre nouvelle fonction. Lorsque vous voyez qu'il apparaît dans la liste, appuyez sur la touche de flèche vers le bas jusqu'à ce que votre fonction soit mise en évidence. Notez que le commentaire que vous avez ajouté dans la boîte de dialogue du nouveau nom apparaît comme une info-bulle.
Ensuite, appuyez sur l'onglet pour sélectionner et activer cette fonction. Cela oblige Excel à compléter le nom de la fonction et à ouvrir un ensemble de parenthèses, prête à ajouter les valeurs qui représentent vos variables.
Dans mon exemple, où j'ai deux variables, je vais taper:
=SIMPLELAMBDA(9,6)
et appuyez sur Entrée. N'oubliez pas de fermer les parenthèses!
Et Hey Presto – ma nouvelle fonction multiplie avec succès 9 par 6 pour retourner 54.
Enfin, au lieu de taper des données brutes comme variables, essayez de taper des références de cellules. Par exemple, taper:
=SIMPLELAMBDA(A1,A2)
dans la cellule B1 et en appuyant sur Entrée multiplie la valeur dans la cellule A1 par la valeur dans la cellule A2.
Lambda dans un exemple réel
Au Royaume-Uni, la TVA est de 20%. Supposons que vous souhaitez créer une fonction lambda qui ajoute cette valeur à tous les coûts de votre classeur, afin que vous connaissiez le coût complet avec la TVA inclus.
Commencez par générer le calcul dans la première cellule Addvat:
=B2*1.2
et en appuyant sur Entrée.
Si vos données sont dans un tableau Excel formaté, les autres cellules de cette colonne adopteront également le même calcul. Pour l'instant, ignorez les autres valeurs et gardez vous concentrer sur la cellule C2.
Maintenant, double-cliquez sur la cellule C2, ajoutez la fonction lambda, enferme la formule entre parenthèses, donnez un nom à votre variable (dans ce cas, vous pouvez utiliser coût), et remplacer la référence de la cellule par cette variable dans le calcul:
=LAMBDA(cost,cost*1.2)
Comme pour l'exemple simple de la section ci-dessus, cette formule rendra à elle seule le #calc! Erreur lorsque vous appuyez sur Entrée car vous n'avez pas encore attribué de valeurs à la variable de coût.
Cependant, vous pouvez tester le calcul de lambda dans la cellule C2 en ajoutant une variable temporaire sous la forme d'une référence cellulaire entre parenthèses:
=LAMBDA(cost,cost*1.2)(B2)
Lorsque vous appuyez sur Entrée, vous verrez que la valeur de la cellule B2 et toutes les autres valeurs de la colonne B sont multipliées avec succès par 1,2 pour créer le calcul + 20% que nous allons automatiser.
Ensuite, afin que vous puissiez utiliser ce calcul Lambda n'importe où dans votre classeur, copiez la formule Lambda (tout jusqu'à la fin des premières parenthèses), et cliquez sur “Définir le nom” dans l'onglet Formules.
Dans mon exemple, Excel a automatiquement rempli le champ Nom dans la boîte de dialogue avec l'en-tête de colonne de ma table. Une fois que vous avez vérifié que vous êtes satisfait de ce nom (ou choisi un remplacement), assurez-vous que “le classeur” est sélectionné dans le champ de portée, ajoutez un commentaire qui décrit brièvement la fonction et appuyez sur Ctrl + V dans le champ pour coller la fonction lambda que vous venez de copier. Ensuite, cliquez sur “OK”.
Maintenant, supprimez toutes les données d'origine de la colonne C et saisissez votre nouvelle fonction Addvat dans la cellule C2:
=AddVAT(B2)
Au lieu de dactylographie références à cellules directes (comme B2) dans votre formule, si vous faire un clic Cell B2, Excel insérera le nom de la colonne dans la formule pour créer une référence structurée. En conséquence, si vous développez votre table pour ajouter des lignes supplémentaires en bas, Excel étendra automatiquement votre nouvelle fonction à ces données supplémentaires.
Lorsque vous appuyez sur Entrée, Excel effectuera ce nouveau calcul, et si vous utilisez un tableau Excel formaté, il appliquera le calcul aux cellules restantes de la colonne C.
Supposons que, dans quelques années, la TVA au Royaume-Uni soit réduite à 15%. L'avantage de l'utilisation de Lambda est que vous n'avez pas à passer par tous vos calculs et à les modifier manuellement. Au lieu de cela, il vous suffit d'ajuster la fonction à sa source.
Pour ce faire, cliquez sur “Nom Manager” dans l'onglet Formules du ruban, recherchez et sélectionnez la fonction lambda que vous souhaitez ajuster (dans ce cas, c'est la fonction “addvat”), et cliquez sur “Modifier”.
Maintenant, dans le champ, changez “1.2” en “1.15” pour refléter la baisse de la TVA. Jetez également votre œil sur le champ de commentaires pour voir si vous devez ajuster la description. Ensuite, cliquez sur “OK”.
Enfin, fermez la boîte de dialogue Nom Manager que vous avez ouvert plus tôt, et tous les calculs existants qui ont utilisé votre fonction Addvat se mettra à jour en fonction de vos ajustements de calcul. Dans mon exemple, la valeur en C2 est passée de 391,20 £ à 374,90 £.
Choses à retenir lors de l'utilisation de lambda dans Excel
Avant d'aller de l'avant et d'utiliser Lambda pour créer vos propres fonctions dans vos feuilles de calcul, voici quelques points clés que vous devez connaître:
Les fonctions Lambda peuvent être utilisées n'importe où dans le classeur dans lequel ils ont été créés, mais vous devrez les recréer si vous souhaitez les utiliser dans d'autres classeurs.
Le nom que vous donnez à une fonction lambda doit être unique. En d'autres termes, vous ne pouvez pas utiliser le nom d'une fonction existante, et chaque fois que vous créez une autre fonction Lambda dans le même classeur, il doit avoir un nom différent de ceux que vous avez déjà créés.
Les noms que vous attribuez aux variables d'entrée ne peuvent pas s'affronter avec des références de cellule ou contenir des périodes, et si vous entrez plus de 253 variables, Excel renvoie une erreur #Value.
La beauté de la fonction Lambda d'Excel est que vous pouvez incorporer n'importe lequel Fonction existante pour générer un calcul très spécifique. En d'autres termes, la fonction lambda ajoutée à Excel rend le programme Turing-Complete, ce qui signifie que les personnes utilisant Excel peuvent effectuer n'importe quel calcul possible. Ainsi, une fois que vous avez pratiqué la création de fonctions lambda pour des calculs simples, essayez d'expérimenter ceux plus complexes.