Menu

Funzione LET in Excel: nomi per le parti di una formula

=LET(total;SOMMA(B2:B6);SE(total>500;total*0,9;total)) calcola la somma una volta, la chiama total e usa il nome due volte. LET rende le formule lunghe più corte, più leggibili e più veloci, perché ogni parte con un nome viene calcolata una sola volta.

Ogni foglio di questa pagina è interattivo: cambia un numero o una formula e si ricalcola.

=LET(total;SOMMA(B2:B6);SE(total>500;total*0,9;total)) somma B2:B6 una volta, chiama il risultato total e poi usa quel nome due volte: una per verificarlo e una per restituirlo. Senza LET scriveresti SOMMA tre volte: =SE(SOMMA(B2:B6)>500;SOMMA(B2:B6)*0,9;SOMMA(B2:B6)). LET si chiama così anche in Excel italiano; la tabella mostra le formule in inglese, con SUM e IF, ma puoi scriverle anche in italiano, con il punto e virgola.

Sconto del 10% sugli ordini oltre 500
D2
ABCD
1OrderAmountTotal to pay
2A-101120580.5
3A-10295
4A-103210
5A-10480
6A-105140
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =LET(total;SOMMA(B2:B6);SE(total>500;total*0,9;total))

Gli ordini sommano 645, oltre 500, quindi D2 mostra 580.5. Cambia B4 in 50 e il totale scende a 485, sotto il limite, quindi D2 mostra 485 senza sconto.

Sintassi di LET

=LET(name1, value1, [name2, value2, ...], calculation)
  • Ogni name è una parola che scegli tu, seguita dal value che rappresenta: un numero, un intervallo o una formula.
  • Puoi definire fino a 126 coppie. Un valore può usare qualsiasi nome definito prima di lui.
  • L'ultimo argomento è il calculation, che usa i nomi e dà il risultato.

LET richiede Excel 2021, Excel 2024 o Microsoft 365. In Excel 2019 e precedenti mostra #NOME? (in inglese #NAME?; la tabella mostra i nomi inglesi degli errori). Google Sheets ha LET con la stessa sintassi.

LET con più variabili

I nomi fanno leggere una formula di riga come una frase. Qui ogni riga calcola un subtotale e toglie il 10% quando supera 100:

Sconto per riga
D2
ABCD
1ItemPriceQtyTo pay
2Pen2.51025
3Bag403108
4Lamp35270
5Mug815108
6Desk1501135
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =LET(subtotal;B2*C2;SE(subtotal>100;subtotal*0,9;subtotal))

I 120 della borsa diventano 108, anche i 120 delle tazze diventano 108, e i 150 della scrivania diventano 135; le penne (25) e le lampade (70) restano come sono. La formula è stata scritta in D2 e copiata verso il basso, e subtotal indica un numero diverso in ogni riga.

Un nome può basarsi su quello prima: =LET(x;2;y;x*3;x+y) imposta x a 2, y a 6, e restituisce 8.

Calcolare una ricerca una volta e riusarla

Una ricerca che compare due volte in un SE viene eseguita due volte. LET la esegue una volta. Questa formula restituisce il prezzo più il 20%, o un messaggio quando il prodotto manca:

Cercare una volta, usare due volte
F2
ABCDEF
1ProductRegionPriceLook forPrice + 20%
2AppleNorth1.2Pear1.8
3PearSouth1.5KiwiNot found
4CarrotEast0.8
5BreadNorth2.4
6MilkSouth1.1
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =LET(p;CERCA.X(E2;A2:A6;C2:C6;"");SE(p="";"Not found";p*1,2))

Pear viene trovato, quindi F2 mostra 1.8. Kiwi non è nell'elenco, CERCA.X (in inglese XLOOKUP) restituisce il testo vuoto dato come quarto argomento, e F3 mostra Not found. Scrivi Kiwi in A4 e F3 diventa il suo prezzo più il 20%.

LET con FILTRO

LET è utilissima con le matrici dinamiche, dove un intervallo filtrato serve più di una volta. Questa formula dà un nome alle righe che corrispondono, le conta e calcola la media delle loro vendite in una sola formula:

Un riepilogo di una regione
F2
ABCDEF
1NameRegionSalesRegionNorth
2AnnNorth120Summary3 reps, average 126.7
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =LET(rows;FILTRO(A2:C7;B2:B7=F1);n;RIGHE(rows);avg;MEDIA(INDICE(rows;0;3));n&" reps, average "&ARROTONDA(avg;1))

Per North mostra "3 reps, average 126.7". Scegli South in F1 per "2 reps, average 87.5". INDICE(rows;0;3) prende la terza colonna delle righe filtrate. Senza LET, FILTRO andrebbe scritto due volte.

Un calendario mensile con celle vuote

Il calendario della pagina su SEQUENZA mostra i giorni dei mesi vicini. LET dà un nome al primo giorno del mese e alla griglia delle date, poi svuota ogni data fuori dal mese:

Aprile 2026, altri mesi vuoti
A2
ABCDEFG
1SunMonTueWedThuFriSat
21234
3567891011
412131415161718
519202122232425
62627282930
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =LET(start;DATA(2026;4;1);days;SEQUENZA(6;7;start-GIORNO.SETTIMANA(start)+1);SE(MESE(days)=MESE(start);days;""))

Cambia DATE(2026,4,1) in DATE(2026,5,1) e la griglia si ridisegna per maggio. Siccome il primo del mese ha un nome una volta sola, c'è una sola data da cambiare, non tre. In Excel italiano la formula è =LET(start;DATA(2026;4;1);days;SEQUENZA(6;7;start-GIORNO.SETTIMANA(start)+1);SE(MESE(days)=MESE(start);days;"")).

Esercizio: spedizione con LET

Tocca a te
D2
ABCD
1OrderAmountTo pay
2A-101120
3A-10295
4A-103210
5A-10480
6A-105140
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: In D2, somma gli importi in B2:B6. Se il totale è sotto 800, aggiungi 25 di spedizione; altrimenti restituisci il totale.

Regole per i nomi in LET ed errori

La maggior parte degli errori di LET viene dai nomi:

  • Un nome deve iniziare con una lettera e non contenere spazi. unit price non funziona; usa unit_price o unitPrice.
  • Un nome non può sembrare un indirizzo di cella. a1 e tax2026 sono indirizzi di cella in Excel (TAX è una colonna), quindi LET li rifiuta con #NOME?. rate o tax_2026 funzionano.
  • Un nome si scrive esattamente uguale ogni volta che viene usato. Un errore di battitura dove viene usato dà #NOME?, perché Excel cerca una funzione o un intervallo denominato con quella grafia.
  • L'ultimo argomento deve essere un calcolo. =LET(x;5) ha un nome e un valore ma nulla da restituire, quindi Excel la rifiuta.
  • I nomi esistono solo dentro la propria formula. Per riusare un calcolo in molte celle, salvalo invece come LAMBDA con un nome.
=LET(a1,5,a1*2)          #NAME?  (a1 is a cell address)
=LET(rate,8%,100*rate)   8

Domande frequenti

Cosa fa la funzione LET in Excel?

Dà dei nomi ai valori dentro una formula. =LET(total;SOMMA(B2:B6);total*2) calcola SOMMA(B2:B6) una volta, la chiama total e restituisce total per 2. I nomi esistono solo dentro quella formula.

Come uso più di una variabile in LET?

Aggiungi altre coppie di nome e valore prima del calcolo finale: =LET(price;B2;qty;C2;price*qty). Un valore successivo può usare un nome precedente, come in =LET(x;2;y;x*3;x+y), che restituisce 8.

Perché la mia formula LET restituisce #NOME?

O il tuo Excel non ha LET (richiede Excel 2021 o Microsoft 365), o un nome è scritto male dove viene usato, o un nome non è ammesso, per esempio uno che sembra un indirizzo di cella come a1 o tax2026, oppure uno che inizia con un numero.

LET rende più veloci le formule di Excel?

Può farlo. Senza LET un'espressione ripetuta, come lo stesso CERCA.X scritto due volte in un SE, viene calcolata ogni volta che compare. Con LET viene calcolata una volta e il risultato viene riusato.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA