La fonction LET, introduite dans les versions d’Excel 2021 et Microsoft 365, permet décomposer des formules de calcul complexes en autant de calculs intermédiaires que nécessaires ; ceci pour les rendre plus lisibles et en faciliter la maintenance.
La décomposition de la formule de calcul passe par l’attribution des résultats intermédiaires à des variables ; qui elles-mêmes sont appelées par les calculs successifs. Ces variables peuvent aussi stocker une valeur fixe ou le contenu d’une cellule.
La syntaxe de la fonction LET est la suivante :
LET(nom_variable1, valeur1, [nom_variable2, valeur2, …], expression_finale)
- nom_variable1, nom_variable2, … : noms des variables stockant temporairement les résultats intermédiaires. Ils doivent être uniques et respecter les règles de nommage d’Excel.
- valeur1, valeur2, … : valeurs à stocker. Ces valeurs peuvent être un nombre, une référence de cellule, une formule de calcul…
- expression_finale : formule de calcul utilisant les variables précédemment définies.
La décomposition des formules de calcul permet, par exemple, de séparer la collecte des données et les calculs.
Ci-après, quelques exemples pour illustrer le propos qui précède. Le classeur Excel reprenant ces exemples est téléchargeable en bas d’article.
1er exemple : calcul d’un montant TTC à partir d’un montant HT et d’un taux de TVA
Un montant TTC se calcule à partir d’un montant HT et d’un taux de TVA : montant HT x (1 + taux de TVA).
Formule de calcul avec la fonction LET :
=LET(MtHT;C5;TxTVA;20%;MtHT*(1+TxTVA))
Détail de la formule :
- Affectation du montant HT contenu dans la cellule C5 (1 000 €) dans la variable nommée MtHT
- Affectation du taux de TVA (20 %) dans la variable TxTVA
- Calcul du montant TTC à partir des deux variables précédemment définies : MtHT*(1+TxTVA) soit 1 200 € TTC.
Sans la fonction LET, la formule de calcul aurait pu être :
=C5*(1+20%)
Dans cet exemple, l’utilisation de la fonction LET n’apporte pas grand chose, le calcul d’un montant TTC n’étant pas des plus complexes.
2ème exemple : calcul d’un indice de masse corporelle (IMC)
L’indice de masse corporelle (IMC) permet d’évaluer rapidement la corpulence d’un individu simplement à partir de son poids et de sa taille, et ce quel que soit son sexe. L’IMC est le seul indice validé par l’Organisation Mondiale de la Santé (OMS) pour évaluer la corpulence d’un individu (maigreur, corpulence normale, surpoids, obésité) et donc les éventuels risques pour sa santé. Plus d’informations sur cet indice et son interprétation sur le site Top Santé.
Formule de calcul de l’IMC : poids en kg / taille en mètre au carré.
Formule de calcul avec la fonction LET :
=LET(taillem;C11/100;poids;C12;poids/(taillem^2))
Détail de la formule :
- Collecte de la taille en cm de l’individu (stockée en C11) et conversion en mètres (C11/100) ; le résultat du calcul est stocké dans la variable taillem
- Lecture du poids (cellule C12) (variable poids)
- Calcul de l’IMC selon la formule poids/(taillem^2) ; le signe ^ élève un nombre à la puissance (ici ^2, élève un nombre au carré).
Sans la fonction LET, la formule de calcul aurait pu être :
=C12/((C11/100)^2)
3ème exemple : calcul d’un total de facture net de remise
L’objectif de cet exemple est de calculer le montant total HT d’une facture net de remise à partir de la quantité des articles (plage de cellules C20:C22), des prix unitaires (D20:D22) et du taux de remise (D26).
Formule de calcul avec la fonction LET :
=LET( Quantités;C20:C22; PU;D20:D22; Tx_Remise;C24; MtTotalAvantRemise;SOMME(Quantités*PU); MtTotalAvantRemise*(1-Tx_Remise) )
Détail de la formule :
- Collecte des quantités (variable Quantités)
- Collecte des prix unitaires (variable PU)
- Collecte du taux de remise (variable Tx_Remise)
- Calcul du montant total avant remise (variable MtTotalAvantRemise) selon la formule SOMME(Quantités*PU)
- Calcul du montant total net de remise : MtTotalAvantRemise*(1-Tx_Remise)
Sans la fonction LET, la formule de calcul aurait pu être :
=SOMME(C20:C22*D20:D22)*(1-C24)
4ème exemple : calcul d’un total de facture net de remise (bis)
L’objectif de cet exemple, similaire au précédent, est de calculer le montant total HT d’une facture net de remise à partir de la quantité des articles (plage de cellules C40:C42), des prix unitaires (D40:D42) et du taux de remise (déterminé à partir d’une grille de remise située en plage B32:C35 et du CA avant remise).
Formule de calcul avec la fonction LET :
=LET( Quantités;C40:C42; PU;D40:D42; MtTotalAvantRemise;SOMME(Quantités*PU); Tx_Remise;RECHERCHEX(MtTotalAvantRemise;B32:B35;C32:C35;0;-1;-1); MtTotalAvantRemise*(1-Tx_Remise) )
Détail de la formule :
- Collecte des quantités (variable Quantités)
- Collecte des prix unitaires (variable PU)
- Calcul du montant total avant remise (variable MtTotalAvantRemise) selon la formule SOMME(Quantités*PU)
- Calcul du taux de remise (variable Tx_Remise) à partir de la grille de remise et du CA avant remise (variable MtTotalAvantRemise) : RECHERCHEX(MtTotalAvantRemise;B32:B35;C32:C35;0;-1;-1) ; toutes les explications sur la fonction RECHERCHEX : cliquer ici.
- Calcul du montant total net de remise : MtTotalAvantRemise*(1-Tx_Remise)
Sans la fonction LET, la formule de calcul aurait pu être :
=SOMME(C40:C42*D40:D42)*(1-RECHERCHEX(SOMME(C40:C42*D40:D42);B32:B35;C32:C35;0;-1;-1))
Sans l’utilisation de la fonction LET, le calcul du CA avant remise (SOMME(C40:C42*D40:D42)) aurait dû être saisi deux fois dans la formule… et cette dernière ce serait révélée nettement moins intelligible que celle recourant à la fonction LET…
Pour la petite histoire, certains langages Basic des années 80 nécessitaient la commande LET pour affecter une valeur à une variable : 10 LET TOTFACT = TOTAVREM * (1 – TXREM)
En synthèse, les avantages des formules de calcul utilisant LET sont :
- Améliorer la lisibilité : En utilisant des noms de variables explicites, la formule devient plus lisible et compréhensible, même pour les utilisateurs qui n’ont pas conçu la formule.
- Eviter les répétitions : La fonction LET permet d’éviter les répétitions inutiles de valeurs (calculs intermédiaires) dans une formule.
- Faciliter la maintenance et le débogage : La modification des éléments de calcul intermédiaires est simplifiée lorsqu’ils sont réutilisés dans le calcul final, car il suffit de les modifier une seule fois au lieu de rechercher plusieurs occurrences de la même valeur dans une formule complexe.
- Eviter les erreurs : En évitant les répétitions de valeurs dans la formule, les risques d’erreurs de saisie ou de calcul sont réduits.
En conclusion, la fonction LET est particulièrement utile pour simplifier et organiser les calculs complexes. En décomposant le calcul, en utilisant des noms de variables, LET améliore la lisibilité et la maintenance de la formule, ce qui facilite la gestion des données et des analyses dans les feuilles de calcul.
___
Approfondir le sujet : se perfectionner avec Excel
Derniers articles parBenoît RIVIERE (voir tous)
- Projet IXP (v1.21beta) : nouvelle version en ligne - mardi 7 janvier 2025
- Excel : conserver les zéros non significatifs à gauche - dimanche 5 janvier 2025
- Excellente année 2025 ! - mercredi 1 janvier 2025
- Projet IXP (v1.21beta) : contrôles de cohérences et gestion MULTIFEC - lundi 30 décembre 2024
- Joyeuses fêtes de fin d’année ! - mardi 24 décembre 2024