Menu

Fonction LET Excel : nommer les parties d'une formule

=LET(total;SOMME(B2:B6);SI(total>500;total*0,9;total)) calcule la somme une seule fois, la nomme total et utilise ce nom deux fois. LET rend les longues formules plus courtes, plus lisibles et plus rapides, car chaque partie nommée n'est calculée qu'une fois.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=LET(total;SOMME(B2:B6);SI(total>500;total*0,9;total)) additionne B2:B6 une seule fois, nomme le résultat total, puis utilise ce nom deux fois : une fois pour le tester et une fois pour le renvoyer. Sans LET, vous écririez la SOMME trois fois : =SI(SOMME(B2:B6)>500;SOMME(B2:B6)*0,9;SOMME(B2:B6)). La fonction porte le même nom dans un Excel français ; le tableau affiche les formules sous leur forme anglaise, avec des virgules et un point décimal, mais vous pouvez aussi les taper comme ci-dessus, avec des points-virgules.

10 % de remise sur les commandes de plus de 500
D2
ABCD
1OrderAmountTotal to pay
2A-101120580.5
3A-10295
4A-103210
5A-10480
6A-105140
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =LET(total;SOMME(B2:B6);SI(total>500;total*0,9;total))

Les commandes totalisent 645, plus de 500, donc D2 affiche 580.5. Remplacez B4 par 50 et le total tombe à 485, sous la limite, donc D2 affiche 485 sans remise.

Syntaxe de LET

=LET(name1, value1, [name2, value2, ...], calculation)
  • Chaque name est un mot que vous choisissez, suivi de la value qu'il représente : un nombre, une plage ou une formule.
  • Vous pouvez définir jusqu'à 126 couples. Une valeur peut utiliser n'importe quel nom défini avant elle.
  • Le dernier argument est le calculation, le calcul qui utilise les noms et donne le résultat.

LET exige Excel 2021, Excel 2024 ou Microsoft 365. Dans Excel 2019 et les versions plus anciennes, elle affiche #NOM? (#NAME? en anglais). Google Sheets a LET avec la même syntaxe.

LET avec plusieurs variables

Les noms font qu'une formule ligne par ligne se lit comme une phrase. Ici, chaque ligne calcule un sous-total et retire 10 % quand il dépasse 100 :

Remise par ligne
D2
ABCD
1ItemPriceQtyTo pay
2Pen2.51025
3Bag403108
4Lamp35270
5Mug815108
6Desk1501135
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =LET(subtotal;B2*C2;SI(subtotal>100;subtotal*0,9;subtotal))

Les 120 du sac deviennent 108, les 120 des tasses deviennent aussi 108, et les 150 du bureau deviennent 135 ; les stylos (25) et les lampes (70) restent tels quels. La formule a été écrite en D2 et recopiée vers le bas, et subtotal désigne un nombre différent à chaque ligne.

Un nom peut s'appuyer sur le précédent : =LET(x;2;y;x*3;x+y) donne 2 à x, 6 à y, et renvoie 8.

Calculer une recherche une fois et la réutiliser

Une recherche qui apparaît deux fois dans un SI s'exécute deux fois. LET l'exécute une fois. Ceci renvoie le prix plus 20 %, ou un message quand le produit est absent :

Chercher une fois, utiliser deux fois
F2
ABCDEF
1ProductRegionPriceLook forPrice + 20%
2AppleNorth1.2Pear1.8
3PearSouth1.5KiwiNot found
4CarrotEast0.8
5BreadNorth2.4
6MilkSouth1.1
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =LET(p;RECHERCHEX(E2;A2:A6;C2:C6;"");SI(p="";"Not found";p*1,2))

Pear est trouvé, donc F2 affiche 1.8. Kiwi n'est pas dans la liste, RECHERCHEX renvoie le texte vide donné comme quatrième argument, et F3 affiche Not found. Tapez Kiwi en A4 et F3 affiche son prix plus 20 %. Dans un Excel français, la formule de F2 s'écrit =LET(p;RECHERCHEX(E2;A2:A6;C2:C6;"");SI(p="";"Not found";p*1,2)).

LET avec FILTRE

LET est le plus utile avec les tableaux dynamiques, quand une plage filtrée sert plusieurs fois. Ceci nomme les lignes trouvées, les compte et fait la moyenne de leurs ventes en une seule formule :

Résumé d'une région
F2
ABCDEF
1NameRegionSalesRegionNorth
2AnnNorth120Summary3 reps, average 126.7
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =LET(rows;FILTRE(A2:C7;B2:B7=F1);n;LIGNES(rows);avg;MOYENNE(INDEX(rows;0;3));n&" reps, average "&ARRONDI(avg;1))

Pour North, elle affiche "3 reps, average 126.7". Choisissez South en F1 pour obtenir "2 reps, average 87.5". INDEX(rows;0;3) prend la troisième colonne des lignes filtrées. Sans LET, le FILTRE serait écrit deux fois.

Un calendrier mensuel avec des cases vides

Le calendrier de la page SEQUENCE affiche des jours des mois voisins. LET nomme le premier du mois et la grille de dates, puis vide chaque date hors du mois :

Avril 2026, autres mois vides
A2
ABCDEFG
1SunMonTueWedThuFriSat
21234
3567891011
412131415161718
519202122232425
62627282930
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =LET(start;DATE(2026;4;1);days;SEQUENCE(6;7;start-JOURSEM(start)+1);SI(MOIS(days)=MOIS(start);days;""))

Remplacez DATE(2026,4,1) par DATE(2026,5,1) et la grille se redessine pour mai. Comme le premier du mois est nommé une seule fois, il n'y a qu'une date à changer, pas trois.

Exercice : les frais de port avec LET

À vous
D2
ABCD
1OrderAmountTo pay
2A-101120
3A-10295
4A-103210
5A-10480
6A-105140
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En D2, totalisez les montants de B2:B6. Si le total est inférieur à 800, ajoutez 25 de frais de port ; sinon, renvoyez le total.

Règles des noms et erreurs de LET

La plupart des erreurs de LET viennent des noms :

  • Un nom doit commencer par une lettre et ne contenir aucune espace. unit price échoue ; utilisez unit_price ou unitPrice.
  • Un nom ne peut pas ressembler à une adresse de cellule. a1 et tax2026 sont des adresses de cellules dans Excel (TAX est une colonne), donc LET les refuse avec #NOM?. rate ou tax_2026 fonctionnent.
  • Un nom s'écrit exactement de la même façon à chaque utilisation. Une faute de frappe là où il est utilisé donne #NOM?, car Excel cherche une fonction ou une plage nommée de cette orthographe.
  • Le dernier argument doit être un calcul. =LET(x;5) a un nom et une valeur mais rien à renvoyer, donc Excel la refuse.
  • Les noms n'existent qu'à l'intérieur de leur propre formule. Pour réutiliser un calcul dans de nombreuses cellules, enregistrez-le plutôt comme une LAMBDA nommée.
=LET(a1,5,a1*2)          #NAME?  (a1 is a cell address)
=LET(rate,8%,100*rate)   8

Questions fréquentes

À quoi sert la fonction LET dans Excel ?

Elle donne des noms à des valeurs à l'intérieur d'une formule. =LET(total;SOMME(B2:B6);total*2) calcule SOMME(B2:B6) une fois, l'appelle total, et renvoie total multiplié par 2. Les noms n'existent qu'à l'intérieur de cette formule.

Comment utiliser plusieurs variables dans LET ?

Ajoutez d'autres couples nom et valeur avant le calcul final : =LET(price;B2;qty;C2;price*qty). Une valeur peut utiliser un nom défini avant elle, comme dans =LET(x;2;y;x*3;x+y), qui renvoie 8.

Pourquoi ma formule LET renvoie-t-elle #NOM? ?

Soit votre Excel n'a pas LET (elle exige Excel 2021 ou Microsoft 365), soit un nom est mal orthographié là où il est utilisé, soit un nom n'est pas autorisé, par exemple un nom qui ressemble à une adresse de cellule comme a1 ou tax2026, ou un nom qui commence par un chiffre.

LET rend-elle les formules Excel plus rapides ?

Cela peut être le cas. Sans LET, une expression répétée, comme la même RECHERCHEX écrite deux fois dans un SI, est calculée à chaque apparition. Avec LET, elle est calculée une fois et le résultat est réutilisé.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER