Quem trabalha com fórmulas complexas no Excel conhece bem o problema: fórmulas longas com a mesma expressão repetida várias vezes, difíceis de ler, de depurar e de manter. A função LET, disponível no Microsoft 365, resolve esse problema de forma elegante, permitindo declarar variáveis dentro de uma fórmula e reutilizá-las ao longo do cálculo. Neste artigo iremos mostrar como usar o LET e por que ele muda o jeito de escrever fórmulas no Excel.
O que é a função LET?
O LET permite atribuir nomes (variáveis) a expressões dentro de uma fórmula e reutilizar esses nomes no cálculo final. É o equivalente no mundo das fórmulas Excel ao que as variáveis VAR/RETURN são no DAX do Power BI.
A sintaxe é:
=LET(nome1; valor1; nome2; valor2; ...; cálculo_final)
Você define pares de nome e valor, e por último o cálculo que usa esses nomes. O LET aceita até 126 pares de nome/valor.
Comparando com e sem LET
Para calcular o percentual de variação em relação à meta com tratamento de erro, sem LET:
=SEERRO((SOMASES(C:C;A:A;F2;B:B;G2) - SOMASES(D:D;A:A;F2;B:B;G2)) / SOMASES(D:D;A:A;F2;B:B;G2); 0)
O mesmo cálculo com LET:
=LET(
vendas; SOMASES(C:C;A:A;F2;B:B;G2);
meta; SOMASES(D:D;A:A;F2;B:B;G2);
SEERRO((vendas - meta) / meta; 0)
)
A fórmula com LET é muito mais fácil de ler. Você entende imediatamente o que cada parte calcula, e a expressão SOMASES é escrita apenas uma vez para cada variável, não duas vezes.
Melhoria de desempenho
Além da legibilidade, o LET também melhora o desempenho. Sem o LET, se a mesma expressão complexa aparece duas vezes na fórmula, o Excel a calcula duas vezes. Com o LET, a expressão é calculada uma vez e o resultado é reutilizado. Em planilhas com muitas fórmulas complexas, isso pode fazer diferença perceptível na velocidade.
Exemplo com PROCX e validação
Para buscar um produto, verificar se foi encontrado e retornar uma mensagem personalizada:
=LET(
resultado; PROCX(A2; Produtos[Código]; Produtos[Nome]; "");
encontrou; resultado <> "";
SE(encontrou; "Produto: " & resultado; "Código inválido: " & A2)
)
Usando LET com arrays
O LET pode armazenar arrays inteiros como variáveis, o que é muito útil com funções de array dinâmico:
=LET(
dados_filtrados; FILTRO(A2:C100; B2:B100=F2);
total_linhas; LINHAS(dados_filtrados);
maior_valor; MÁXIMO(ÍNDICE(dados_filtrados;;3));
"Total: " & total_linhas & " | Máximo: " & maior_valor
)
LET para legibilidade em fórmulas longas
Um dos maiores benefícios do LET é puramente de legibilidade. Mesmo que uma expressão apareça apenas uma vez, se for longa ou complexa, dar um nome a ela torna a fórmula inteira mais fácil de entender:
=LET(
data_inicio; DATE(ANO(HOJE()); MÊS(HOJE()); 1);
data_fim; FIMMÊS(HOJE(); 0);
vendas_mes; SOMASES(C:C; B:B; ">="&data_inicio; B:B; "<="&data_fim);
vendas_mes
)
Regras de nomenclatura das variáveis
Os nomes das variáveis no LET seguem as mesmas regras dos nomes do Gerenciador de Nomes: não podem começar com número, não podem conter espaços e não podem ser iguais a endereços de célula (como A1 ou B2). Use nomes em português descritivos, como vendas_mes, taxa_imposto, data_inicio.
Combinando LET com LAMBDA
O LET e o LAMBDA se complementam perfeitamente. Use o LAMBDA para criar funções reutilizáveis entre diferentes planilhas e células, e o LET dentro de uma fórmula específica para organizar a lógica interna daquela fórmula.
Disponibilidade
O LET está disponível apenas no Microsoft 365 e no Excel 2021. Em versões anteriores, arquivos com LET exibirão erro #NOME? nas células afetadas.
Se você curtiu esse artigo onde mostramos como usar a função LET no Excel para criar fórmulas mais legíveis, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.