Introduction à la nouvelle fonction Lambda

Bonjour à tous,

J'attendais avec impatience la sortie de cette fonction qui devrait permettre de faire beaucoup de choses plus simplement et rapidement qu'auparavant.

En gros, Lambda permet de créer une fonction définie par l'utilisateur et ensuite de la réutiliser dans le classeur. Une utilisation avancée permet de créer une fonction récursive.

Exemple simple

Par exemple, si je tape :

=LAMBDA(n;n+1)(3)

J'obtiens 4. La fonction se lit comme :

Passe n en variables. Ajoute 1 à n. Teste la fonction avec la valeur 3. Le résultat de la fonction est donc 4.

Le (3) permet de tester, mais on va le retirer lors de la création du nom.

Ensuite, on va créer la formule dans le gestionnaire de noms. Ne pas oublier le signe = et aussi d'enlever le (3)

=LAMBDA(n;n+1)

Et on peut tester :

Voici un autre exemple tiré du site de Microsoft qui va compter le nombre de mots dans une phrase.

=LAMBDA(t;NBCAR(SUPPRESPACE(t))-NBCAR(SUBSTITUE(SUPPRESPACE(t);" ";""))+1)

Une fois ajouté comme un nom (ici fct_NbMots), on peut ensuite l'utiliser comme ceci :

Vous pouvez ensuite aller ici pour un exemple très avancé. Je ferai un exemple intermédiaire pour une prochaine fois.

Sources :

https://support.microsoft.com/en-us/office/lambda-function-bd212d27-1cd1-4321-a34a-ccbf254b8b67

https://techcommunity.microsoft.com/t5/excel-blog/announcing-lambda-turn-excel-formulas-into-custom-functions/ba-p/1925546