Pular para o conteúdo

Acelere suas fórmulas com a função LET

Para quem trabalha com Excel diariamente, e principalmente com planilhas grandes com centenas ou milhares de dados, certamente já passou por momentos em que as fórmulas ficavam tão grandes e lentas que chega a dar raiva.

Mas o Excel tem algo que permite que você acelere suas fórmulas com a função LET. Para saber como acelerar suas macro confira: 7 dicas para deixar a macro mais rápida e também o 9 dicas para deixar a macro mais rápida.

A função LET

Essa é uma função presente no Office 365, assim se você tem o pacote Office mas não paga a assinatura do serviço, esta função não estará disponível para você. Mas caso você pague e não a encontra, talvez você não esteja inscrito no Office Insider Program, para isso clique aqui (é grátis).

A função LET vem para acelerar o calculo de fórmulas muito longas e, mais do que isso, fórmulas que possuem partes que se repetem muito. Isto é, cálculos que são feitos dentro da fórmula que se repetem diversas vezes até chegar no resultado desejado.

Nela criaremos uma espécie de variável, ou múltiplas variáveis, que serão utilizadas dentro da fórmula. Estas variáveis são locais e restritas a fórmula na qual são criadas.

Se você já tem alguma familiaridade com VBA ou outra linguagem de programação sabe o quanto as variáveis facilitam os códigos, deixando os mais enxutos e mais fáceis de serem editados e mantidos.

Com preguiça de ler? Assista ao vídeo

Argumentos da função

=LET(name1; name_value1; calculation_or_name2; [name_value2]; …)

No momento da postagem deste artigo os argumentos da função estavam em inglês, não sei dizer se por que é uma função nova e ainda não foi traduzido, ou se manterão assim mesmo. Mas a ordem deles não mudará, independente do idioma.

name1 = O nome da variável a ser criada, pode ser absolutamente qualquer coisa, e não deve se utilizar aspas duplas aqui, apenas digite o nome que desejar.

name_value1 = É o valor a ser atribuido a variável em name1. Pode ser uma número fixo, pode ser uma fórmula do Excel, como preferir.

calculation_or_name2 = Este argumento é duplo, caso você queira setar apenas uma variável para ser utilizada em seu cálculo, então aqui será inserida a fórmula que irá se utilizar da variável criada em seu cálculo. Em outras palavras a fórmula que você já utilizaria normalmente caso a LET ainda não existisse, mas agora ao invés de repetir trocentas vezes o mesmo cálculo, você fará referências ao valor guardado na variável que você acabou de declarar.

Agora, caso sua função LET tenha mais de uma variável, aqui você irá inserir o nome do seu segundo argumento, como se fosse um name2. O argumento seguinte será a definição do valor dessa nova variável e o próximo, a fórmula em si.

Os demais argumentos da função LET seguirão essa mesma lógica, sendo o último argumento sempre a fórmula a ser calculada que utilizara em seu cálculo as variáveis setadas no início.

Exemplo de sintaxe

Vamos montar um exemplo extremamente simples aqui, para ficar clara a sintaxe da função LET.

=LET(VAR; 10%; A1*VAR)

Deixei as cores iguais as da explicação dos argumentos da função na sessão anterior, para ficar de fácil identificação.

VAR = Nome1, o nome que dei para a minha variável, poderia ser absolutamente qualquer coisa. Note que não utilizei aspas para envolver o nome.

10% = name_value1, aqui optei por um valor fixo, que não depende de fórmula, apenas para simplificar o entendimento. Este 10% é o valor que minha variável VAR terá.

A1*VAR = calculation_or_name2, aqui é o cálculo que eu normalmente faria, mas ao invés de usar A1*10% eu substitui os 10% pelo nome da minha variável que contém o valor 10%. Note que não é necessário usar nada para envolver o nome da variável, a função LET identificará a variável automaticamente desde que esta tenha sido devidamente declarada no início da função.

Quando usar a função LET?

Agora que já sabemos para que serve e como utilizar a função LET, resta saber quando que ela nos será útil e realmente mais vantajosa do que as formas tradicionais de escrever fórmulas, pois eu tenho certeza que ao ver o exemplo que montei na sessão anterior você ficou pensando que a função LET só deixou as coisas mais complicadas e mais longas.

Vamos montar uma outra fórmula aleatória aqui, mas bastante plausível de acontecer em planilhas reais. Nela utilizaremos uma fórmula que precisamos havaliar seu resultado diversas vezes dentro de uma mesma fórmula (outra fórmula) para chegar no resultado desejado.

Sem utilizar a função LET

=SE(SOMARPRODUTO(A1:A200;B1:B200)*MÁXIMOSES(B1:B200;C1:C2;D1)<500;”Irrelevante”;SE(SOMARPRODUTO(A1:A200;B1:B200)*MÁXIMOSES(B1:B200;C1:C2;D1)<=1000;”Normal”;”Elevado”))

Esta fórmula calcula um número e o avalia, se for menor que 500, o resultado é “Irrelevante”, se for maior ou igual a 500 e menor ou igual a 1000, o resultado é “Elevado”.

Note que o trecho colorido da fórmula se repete 2 vezes. Logo é calculado 2 vezes, gastando recursos de processamento, tempo e dificuldade a leitura da fórmula.

Além de que, toda a vez que quisermos mudar algo no trecho colorido da fórmula, teremos de mudar duas vezes, em dois locais diferentes, também deixando a fórmula mais difícil de ser mantida.

Utilizando a funçao LET

Repetindo a mesma formula acima, mas utilizando a função LET, teremos:

=LET(Var; SOMARPRODUTO(A1:A200;B1:B200)*MÁXIMOSES(B1:B200;C1:C2;D1);SE(Var<500;”Irrelevante”;SE(Var<=1000;”Normal”;”Elevado”))

Neste caso a função SOMARPRODUTO e a MÁXIMOSES aparecem apenas uma vez, e o valor delas é guardado na variável Var que é posteriormente utilizada dentro do cálculo das funções SE.

Aqui o cálculo acontece uma única vez, sendo assim mais rápido, a fórmula é mais curta e fácil de ler, e qualquer alteração necessária só será preciso ser feita na declaração do valor da variável.

Alternativa a função LET

Essa coisa de declarar variável dentro do Excel para utilizar nas fórmulas meio que já existe há muito tempo, só que com um nome diferente, e com funcionalidades não tão claras assim quanto a da criação desta função especifica.

Estou falando do gerenciador de nomes do Excel, disponível sob a aba Fórmulas do menu principal do Excel.

Com este recurso é possível dar nomes não só as referências de células, mas também para fórmulas ou valores. E, diferente da função LET, os nomes criados aqui podem ser referenciados a nível de planilha (aba do Excel) ou a pasta de arquivo (o arquivo do Excel todo).

Depois um que nome é criado e um valor ou fórmula é atribuído a ele, basta chamá-lo dentro de uma fórmula no Excel escrevendo o seu nome.

Deixe um comentário ou uma dúvida