Por muito tempo, criar funções personalizadas no Excel exigia conhecer VBA. Com a chegada da função LAMBDA no Microsoft 365, isso mudou completamente. Agora você consegue criar suas próprias funções reutilizáveis usando apenas fórmulas do Excel, sem escrever uma linha de código. Neste artigo iremos mostrar como a função LAMBDA funciona, como criar funções personalizadas e como combiná-la com outras funções avançadas.
O que é a função LAMBDA?
O LAMBDA permite criar funções personalizadas que recebem parâmetros e retornam um resultado. Uma vez criada e nomeada no Gerenciador de Nomes, essa função pode ser usada em qualquer lugar da planilha como se fosse uma função nativa do Excel.
A sintaxe é:
=LAMBDA(parâmetro1; parâmetro2; ...; corpo_da_função)
Os últimos parâmetros antes do fechamento do parêntesis sempre é o corpo (a fórmula que calcula o resultado usando os parâmetros definidos).
Criando o primeiro LAMBDA
Para entender, vamos criar uma função que converte Celsius para Fahrenheit. A fórmula seria: Fahrenheit = (Celsius × 9/5) + 32.
O LAMBDA para isso:
=LAMBDA(celsius; (celsius * 9/5) + 32)
Para testar antes de nomear, você pode chamar a função imediatamente passando o valor entre parênteses no final:
=LAMBDA(celsius; (celsius * 9/5) + 32)(25)
Esse trecho retorna 77, que é 25°C em Fahrenheit.
Nomeando o LAMBDA para criar uma função reutilizável
O passo que transforma o LAMBDA em uma função reutilizável é nomeá-lo no Gerenciador de Nomes:
- Vá em Fórmulas > Gerenciador de Nomes > Novo
- No campo Nome, escreva: CelsiusParaFahrenheit
- No campo Refere-se a, escreva:
=LAMBDA(celsius; (celsius * 9/5) + 32) - Clique em OK
Agora você pode usar essa função em qualquer célula:
=CelsiusParaFahrenheit(A2)
LAMBDA com múltiplos parâmetros
Você pode criar funções com vários parâmetros. Por exemplo, uma função para calcular o valor presente líquido simplificado:
=LAMBDA(valorFuturo; taxa; periodos; valorFuturo / (1 + taxa)^periodos)
Nomeada como ValorPresente, você usaria assim:
=ValorPresente(10000; 0,1; 5) -- retorna o valor presente de R$10.000 em 5 anos a 10%
Substituindo fórmulas complexas repetitivas
O maior benefício prático do LAMBDA é encapsular fórmulas complexas que você usa com frequência. Por exemplo, uma fórmula para calcular a variação percentual:
-- nome: VarPerc =LAMBDA(atual; anterior; SEERRO(DIVIDIR(atual - anterior; anterior); 0))
Uso:
=VarPerc(B2; B1) -- muito mais limpo do que escrever a fórmula completa toda vez
LAMBDA com recursão (chamando a si mesma)
Uma das capacidades avançadas do LAMBDA é criar funções recursivas. Combinado com a função MAP, REDUCE e SCAN, o LAMBDA pode processar arrays de forma que antes era impossível sem VBA.
Combinando LAMBDA com MAP
A função MAP aplica um LAMBDA a cada elemento de um array e retorna um novo array com os resultados:
=MAP(A2:A10; LAMBDA(x; x * 1,1))
Essa fórmula aplica um aumento de 10% a cada valor do intervalo A2:A10 e retorna um array com os novos valores, sem precisar arrastar uma fórmula.
Combinando LAMBDA com REDUCE
O REDUCE acumula valores de um array usando uma função LAMBDA:
=REDUCE(0; A2:A10; LAMBDA(acumulado; x; acumulado + x))
Essa fórmula é o equivalente a SOMA(A2:A10), mas mostra como o REDUCE pode ser usado para lógicas de acumulação personalizadas que a SOMA não suporta.
Disponibilidade do LAMBDA
O LAMBDA está disponível apenas no Microsoft 365 (tanto a versão desktop quanto o Excel Online) e no Excel 2021. Não está disponível em versões anteriores como Excel 2019 ou Excel 2016. Se você abrir um arquivo com LAMBDA em uma versão mais antiga, as células com LAMBDA exibirão erro #NOME?
Se você curtiu esse artigo onde mostramos como usar a função LAMBDA no Excel para criar funções personalizadas, 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.