Menu

LET no Excel: dar nomes às partes de uma fórmula

=LET(total;SOMA(B2:B6);SE(total>500;total*0,9;total)) calcula a soma uma vez, dá a ela o nome total e usa o nome duas vezes. A LET deixa fórmulas longas mais curtas, mais fáceis de ler e mais rápidas, porque cada parte nomeada é calculada uma vez só.

Todas as planilhas desta página são ao vivo: mude um número ou uma fórmula e elas recalculam.

=LET(total,SUM(B2:B6),IF(total>500,total*0.9,total)) soma B2:B6 uma vez, chama o resultado de total e depois usa esse nome duas vezes: uma para testar e outra para retornar. Sem a LET você escreveria a SOMA três vezes: =SE(SOMA(B2:B6)>500;SOMA(B2:B6)*0,9;SOMA(B2:B6)). A função se chama LET também no Excel em português, e você pode digitar as fórmulas em português na tabela, com ponto e vírgula: =LET(total;SOMA(B2:B6);SE(total>500;total*0,9;total)).

10% de desconto em pedidos acima de 500
D2
ABCD
1OrderAmountTotal to pay
2A-101120580.5
3A-10295
4A-103210
5A-10480
6A-105140
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =LET(total;SOMA(B2:B6);SE(total>500;total*0,9;total))

Os pedidos somam 645, acima de 500, então D2 mostra 580.5. Mude B4 para 50 e o total cai para 485, abaixo do limite, então D2 mostra 485 sem desconto.

Sintaxe da LET

=LET(name1, value1, [name2, value2, ...], calculation)
  • Cada name é uma palavra que você escolhe, seguida do value que ela representa: um número, um intervalo ou uma fórmula.
  • Você pode definir até 126 pares. Um valor pode usar qualquer nome definido antes dele.
  • O último argumento é o calculation, que usa os nomes e dá o resultado.

A LET precisa do Excel 2021, do Excel 2024 ou do Microsoft 365. No Excel 2019 e anteriores ela mostra #NOME? (#NAME? em inglês; a tabela mostra os nomes de erro em inglês). O Google Sheets tem LET com a mesma sintaxe.

LET com várias variáveis

Os nomes fazem uma fórmula por linha ser lida como uma frase. Aqui cada linha calcula um subtotal e tira 10% quando ele passa de 100:

Desconto por linha
D2
ABCD
1ItemPriceQtyTo pay
2Pen2.51025
3Bag403108
4Lamp35270
5Mug815108
6Desk1501135
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =LET(subtotal;B2*C2;SE(subtotal>100;subtotal*0,9;subtotal))

Os 120 das bolsas viram 108, os 120 das canecas também viram 108, e os 150 da mesa viram 135; as canetas (25) e as luminárias (70) ficam como estão. A fórmula foi escrita em D2 e arrastada para baixo, e subtotal significa um número diferente em cada linha.

Um nome pode se apoiar no anterior: =LET(x;2;y;x*3;x+y) define x como 2, y como 6 e retorna 8.

Calcular uma busca uma vez e reutilizar

Uma busca que aparece duas vezes dentro de uma SE roda duas vezes. A LET roda uma vez. Isto retorna o preço mais 20%, ou uma mensagem quando o produto não existe:

Buscar uma vez, usar duas
F2
ABCDEF
1ProductRegionPriceLook forPrice + 20%
2AppleNorth1.2Pear1.8
3PearSouth1.5KiwiNot found
4CarrotEast0.8
5BreadNorth2.4
6MilkSouth1.1
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =LET(p;PROCX(E2;A2:A6;C2:C6;"");SE(p="";"Not found";p*1,2))

Pear é encontrado, então F2 mostra 1.8. Kiwi não está na lista, a PROCX (XLOOKUP em inglês) retorna o texto vazio passado como quarto argumento, e F3 mostra Not found. Digite Kiwi em A4 e F3 passa a mostrar o preço dele mais 20%.

LET com FILTRO

A LET é mais útil com matrizes dinâmicas, quando um intervalo filtrado é usado mais de uma vez. Isto dá nome às linhas que batem, conta essas linhas e tira a média das vendas delas em uma fórmula só:

Um resumo de uma região
F2
ABCDEF
1NameRegionSalesRegionNorth
2AnnNorth120Summary3 reps, average 126.7
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =LET(rows;FILTRO(A2:C7;B2:B7=F1);n;LINS(rows);avg;MÉDIA(ÍNDICE(rows;0;3));n&" reps, average "&ARRED(avg;1))

Para North a fórmula mostra "3 reps, average 126.7". Escolha South em F1 para ter "2 reps, average 87.5". ÍNDICE(rows;0;3) pega a terceira coluna das linhas filtradas. Sem a LET, a FILTRO seria escrita duas vezes.

Um calendário do mês com células vazias

O calendário da página SEQUÊNCIA mostra dias dos meses vizinhos. A LET dá nome ao primeiro dia do mês e à grade de datas, e depois deixa em branco toda data fora do mês:

Abril de 2026, outros meses em branco
A2
ABCDEFG
1SunMonTueWedThuFriSat
21234
3567891011
412131415161718
519202122232425
62627282930
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =LET(start;DATA(2026;4;1);days;SEQUÊNCIA(6;7;start-DIA.DA.SEMANA(start)+1);SE(MÊS(days)=MÊS(start);days;""))

Mude DATE(2026,4,1) para DATE(2026,5,1) (no Excel em português, DATA(2026;4;1) e DATA(2026;5;1)) e a grade se redesenha para maio. Como o primeiro dia do mês tem nome, só existe uma data para mudar, não três.

Prática: frete com a LET

Sua vez
D2
ABCD
1OrderAmountTo pay
2A-101120
3A-10295
4A-103210
5A-10480
6A-105140
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Em D2, some os valores de B2:B6. Se o total for menor que 800, acrescente 25 de frete; senão, retorne o total.

Regras de nomes e erros da LET

A maioria dos erros da LET vem dos nomes:

  • Um nome precisa começar com uma letra e não pode ter espaços. unit price falha; use unit_price ou unitPrice.
  • Um nome não pode parecer um endereço de célula. a1 e tax2026 são endereços de célula no Excel (TAX é uma coluna), então a LET recusa esses nomes com #NOME?. rate ou tax_2026 funcionam.
  • Um nome é escrito exatamente igual toda vez que é usado. Um erro de digitação onde ele é usado dá #NOME?, porque o Excel procura uma função ou um intervalo nomeado com essa grafia.
  • O último argumento precisa ser um cálculo. =LET(x;5) tem um nome e um valor, mas nada para retornar, então o Excel recusa a fórmula.
  • Os nomes só existem dentro da própria fórmula. Para reutilizar um cálculo em muitas células, salve o cálculo como uma LAMBDA com nome.
=LET(a1,5,a1*2)          #NAME?  (a1 is a cell address)
=LET(rate,8%,100*rate)   8

No Excel em português: =LET(a1;5;a1*2) dá #NOME? e =LET(rate;8%;100*rate) dá 8.

Perguntas frequentes

O que a função LET faz no Excel?

Ela dá nomes a valores dentro de uma fórmula. =LET(total;SOMA(B2:B6);total*2) calcula SOMA(B2:B6) uma vez, chama o resultado de total e retorna total vezes 2. Os nomes só existem dentro dessa fórmula.

Como usar mais de uma variável na LET?

Acrescente mais pares de nome e valor antes do cálculo final: =LET(price;B2;qty;C2;price*qty). Um valor pode usar um nome definido antes dele, como em =LET(x;2;y;x*3;x+y), que retorna 8.

Por que minha fórmula LET retorna #NOME?

Ou o seu Excel não tem a LET (ela precisa do Excel 2021 ou do Microsoft 365), ou um nome está escrito errado onde é usado, ou um nome não é permitido, por exemplo um que parece endereço de célula, como a1 ou tax2026, ou um que começa com número.

A LET deixa as fórmulas do Excel mais rápidas?

Pode deixar. Sem a LET, uma expressão repetida, como a mesma PROCX escrita duas vezes dentro de uma SE, é calculada cada vez que aparece. Com a LET ela é calculada uma vez e o resultado é reutilizado.

Ilustração das linguagens de programação do Coddy

Aprenda a programar com o Coddy

COMEÇAR