Fonction LET – Optimiser vos formules Excel

Fonction LET – Optimiser vos formules Excel
Dernière mise à jour le 05/02/2024
Temps de lecture : 3 minutes

La fonction LET vous permet de construire des formules optimisées en utilisant des variables

  1. Variable 1

    Définir un mot comme variable

  2. Formule ou Constante 1

    Ecrire l'expression

  3. .... Autres variables et Formule

    Sur le même principe, vous pouvez rajouter autant de variables que vous en avez besoin pour votre calcul

  4. Calcul final

    Mise en relation des variables pour simplifier une formule Excel

=LET(Variable1;Contenu;Variable2;Contenu;.....;Variable1+Variable2)

Pourquoi optimiser une formule Excel ?

Avant que nous commencions, il faut faire la différence entre une formule et une fonction

  • Une fonction, c'est le nom d'une des fonctions internes à Excel (SOMME, SI, RECHERCHEX, ...)
  • Alors qu'une formule c'est le résultat d'une ou plusieurs fonctions (en clair, le contenu d'une cellule c'est une formule qui utilise des fonctions)

Si vous construisez des formules qui utilisent plusieurs fonctions gourmandes en mémoire, vos classeurs seront nécessairement lourds et ralentis.

Fonctions Volatiles

Dans Excel, certaines fonctions sont volatiles (comme AUJOURDHUI, INDIRECT, DECALER, ...) ; c'est-à-dire qu'elles sollicitent le processeur en permanence.

Ici, je ne parle pas de relancer le calcul d'un classeur (raccourci F9) mais tout simplement d'avoir écrit ces formules dans des cellules. Il est à noter que si vous utilisez fréquemment ces formules, votre classeur sera nécessairement lent ????

Simplification d'une fonction

Par exemple, une même fonction Excel peut être utilisée plusieurs fois dans la même formule.

=SI(ESTNA(RECHERCHEV(D2;A2:B21;2;0));"";RECHERCHEV(D2;A2:B21;2;0))

Ici, la formule utilise 2 fois la fonction RECHERCHEV

  • Une fois dans le test
  • Une autre fois pour retourner le résultat.

Principe de la fonction LET

La fonction LET va mettre en variable une constante ou une formule pour être réutilisée dans le calcul (dernier paramètre de la fonction).

  • La fonction LET n'est présente qu'avec les versions de Microsoft 365 et Excel Online
  • Le nom d'une variable ne peut pas commencer par un nombre ni par un symbole
  • Vous pouvez améliorer le visuel de la fonction en insérant des sauts de ligne avec le raccourci-clavier Alt+Entrée

Cas pratique d'utilisation de la fonction LET dans Excel

Exemple 1 : Simplification de la fonction RECHERCHEV

Dans ce premier exemple, la formule suivante affiche l'email quand le prénom est présent dans la liste grâce à la fonction RECHERCHEV

Cependant, la fonction RECHERCHEV est utilisée 2 fois et donc évaluée 2 fois par le processeur.

=SI(ESTNA(RECHERCHEV(D2;A2:B21;2;0));"";RECHERCHEV(D2;A2:B21;2;0))

Fonction RECHERCHEV email

C'est pourquoi, pour simplifier cette fonction, nous allons écrire la fonction LET de la façon suivante

=LET(Result;RECHERCHEV(D2;A2:B21;2;0);SI(ESTNA(Result);"";Result))

  1. Premièrement, nous mettons la fonction RECHERCHEV(D2;A2:B21;2;0) dans la variable Result
  2. Ensuite, la variable remplace la fonction RECHERCHEV dans la formule initiale.
  3. Enfin, le dernier paramètre de la fonction LET reconstruit la formule mais avec la variable Result.
Fonction LET pour simplifier lecriture de RECHERCHEV

Conclusion : Le résultat est exactement le même mais avec cette écriture, la fonction RECHERCHEV n'a été utilisée qu'une seule fois dans la formule.

Exemple 2 : Simplification de la fonction DATE

Dans l'exemple suivant, nous allons simplifier la formule qui calcule une date à partir d'un numéro de semaine. Comme vous le voyez, la formule utilise à nouveau plusieurs fois la fonction DATE.

=DATE(Année;1;1)+SI(JOURSEM(DATE(Année;1;1);2)<5;(Sem-1)*7;Sem*7)-JOURSEM(DATE(Année;1;1);2)+1

Fonction qui retourne une date a partir dun numero de semaine

Première simplification

Alors, nous allons mettre en variable la formule DATE et la formule JOURSEM.

=LET(
Janv1;DATE(A2;1;1);
Jour1;JOURSEM(DATE(A2;1;1);2);
Janv1+SI(Jour1<5;(B$1-1)*7;B$1*7)-Jour1+1)

Fonction LET pour simplifier lecriture du calcul de la date

Deuxième simplification

Mais nous pouvons encore améliorer la simplification de l'écriture. En effet, la fonction JOURSEM utilise également la même fonction DATE. Alors, nous pouvons aussi simplifier la seconde variable à partir de la première.

=LET(
Janv1;DATE(A2;1;1);
Jour1;JOURSEM(Janv1;2);
Janv1+SI(Jour1<5;(B$1-1)*7;B$1*7)-Jour1+1)

Reutilisation de la variable dans la fonction LET

Vidéo

2 Comments

  1. Mallard Dominique
    21/01/2022 @ 10:35

    Merci beaucoup pour cette information. Je comprends pourquoi mon pc rame, voire plante maintenant sur mes fichiers Excel. Je vais repenser mes formules.

    Reply

    • Frédéric LE GUEN
      21/01/2022 @ 11:20

      Top. Je vais rajouter la vidéo la semaine prochaine

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Fonction LET – Optimiser vos formules Excel

Reading time: 3 minutes
Dernière mise à jour le 05/02/2024

La fonction LET vous permet de construire des formules optimisées en utilisant des variables

  1. Variable 1

    Définir un mot comme variable

  2. Formule ou Constante 1

    Ecrire l'expression

  3. .... Autres variables et Formule

    Sur le même principe, vous pouvez rajouter autant de variables que vous en avez besoin pour votre calcul

  4. Calcul final

    Mise en relation des variables pour simplifier une formule Excel

=LET(Variable1;Contenu;Variable2;Contenu;.....;Variable1+Variable2)

Pourquoi optimiser une formule Excel ?

Avant que nous commencions, il faut faire la différence entre une formule et une fonction

  • Une fonction, c'est le nom d'une des fonctions internes à Excel (SOMME, SI, RECHERCHEX, ...)
  • Alors qu'une formule c'est le résultat d'une ou plusieurs fonctions (en clair, le contenu d'une cellule c'est une formule qui utilise des fonctions)

Si vous construisez des formules qui utilisent plusieurs fonctions gourmandes en mémoire, vos classeurs seront nécessairement lourds et ralentis.

Fonctions Volatiles

Dans Excel, certaines fonctions sont volatiles (comme AUJOURDHUI, INDIRECT, DECALER, ...) ; c'est-à-dire qu'elles sollicitent le processeur en permanence.

Ici, je ne parle pas de relancer le calcul d'un classeur (raccourci F9) mais tout simplement d'avoir écrit ces formules dans des cellules. Il est à noter que si vous utilisez fréquemment ces formules, votre classeur sera nécessairement lent ????

Simplification d'une fonction

Par exemple, une même fonction Excel peut être utilisée plusieurs fois dans la même formule.

=SI(ESTNA(RECHERCHEV(D2;A2:B21;2;0));"";RECHERCHEV(D2;A2:B21;2;0))

Ici, la formule utilise 2 fois la fonction RECHERCHEV

  • Une fois dans le test
  • Une autre fois pour retourner le résultat.

Principe de la fonction LET

La fonction LET va mettre en variable une constante ou une formule pour être réutilisée dans le calcul (dernier paramètre de la fonction).

  • La fonction LET n'est présente qu'avec les versions de Microsoft 365 et Excel Online
  • Le nom d'une variable ne peut pas commencer par un nombre ni par un symbole
  • Vous pouvez améliorer le visuel de la fonction en insérant des sauts de ligne avec le raccourci-clavier Alt+Entrée

Cas pratique d'utilisation de la fonction LET dans Excel

Exemple 1 : Simplification de la fonction RECHERCHEV

Dans ce premier exemple, la formule suivante affiche l'email quand le prénom est présent dans la liste grâce à la fonction RECHERCHEV

Cependant, la fonction RECHERCHEV est utilisée 2 fois et donc évaluée 2 fois par le processeur.

=SI(ESTNA(RECHERCHEV(D2;A2:B21;2;0));"";RECHERCHEV(D2;A2:B21;2;0))

Fonction RECHERCHEV email

C'est pourquoi, pour simplifier cette fonction, nous allons écrire la fonction LET de la façon suivante

=LET(Result;RECHERCHEV(D2;A2:B21;2;0);SI(ESTNA(Result);"";Result))

  1. Premièrement, nous mettons la fonction RECHERCHEV(D2;A2:B21;2;0) dans la variable Result
  2. Ensuite, la variable remplace la fonction RECHERCHEV dans la formule initiale.
  3. Enfin, le dernier paramètre de la fonction LET reconstruit la formule mais avec la variable Result.
Fonction LET pour simplifier lecriture de RECHERCHEV

Conclusion : Le résultat est exactement le même mais avec cette écriture, la fonction RECHERCHEV n'a été utilisée qu'une seule fois dans la formule.

Exemple 2 : Simplification de la fonction DATE

Dans l'exemple suivant, nous allons simplifier la formule qui calcule une date à partir d'un numéro de semaine. Comme vous le voyez, la formule utilise à nouveau plusieurs fois la fonction DATE.

=DATE(Année;1;1)+SI(JOURSEM(DATE(Année;1;1);2)<5;(Sem-1)*7;Sem*7)-JOURSEM(DATE(Année;1;1);2)+1

Fonction qui retourne une date a partir dun numero de semaine

Première simplification

Alors, nous allons mettre en variable la formule DATE et la formule JOURSEM.

=LET(
Janv1;DATE(A2;1;1);
Jour1;JOURSEM(DATE(A2;1;1);2);
Janv1+SI(Jour1<5;(B$1-1)*7;B$1*7)-Jour1+1)

Fonction LET pour simplifier lecriture du calcul de la date

Deuxième simplification

Mais nous pouvons encore améliorer la simplification de l'écriture. En effet, la fonction JOURSEM utilise également la même fonction DATE. Alors, nous pouvons aussi simplifier la seconde variable à partir de la première.

=LET(
Janv1;DATE(A2;1;1);
Jour1;JOURSEM(Janv1;2);
Janv1+SI(Jour1<5;(B$1-1)*7;B$1*7)-Jour1+1)

Reutilisation de la variable dans la fonction LET

Vidéo

2 Comments

  1. Mallard Dominique
    21/01/2022 @ 10:35

    Merci beaucoup pour cette information. Je comprends pourquoi mon pc rame, voire plante maintenant sur mes fichiers Excel. Je vais repenser mes formules.

    Reply

    • Frédéric LE GUEN
      21/01/2022 @ 11:20

      Top. Je vais rajouter la vidéo la semaine prochaine

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.