Como usar a função LAMBDA do Excel -

Índice

Resumo

A função LAMBDA do Excel fornece uma maneira de criar funções personalizadas que podem ser reutilizadas em uma pasta de trabalho, sem VBA ou macros.

Objetivo

Criar função personalizada

Valor de retorno

Conforme definido pela fórmula

Sintaxe

= LAMBDA (parâmetro, …, cálculo)

Argumentos

  • parâmetro - um valor de entrada para a função.
  • cálculo - O cálculo a ser executado como resultado da função. Deve ser o último argumento.

Versão

Excel 365

Notas de uso

Na programação de computadores, LAMBDA se refere a uma função ou expressão anônima. Uma função anônima é uma função definida sem um nome. No Excel, a função LAMBDA fornece uma maneira de definir e encapsular a funcionalidade de fórmula específica, muito parecido com uma função do Excel. Uma vez definida, uma função LAMBDA pode ser nomeada e reutilizada em outro lugar em uma pasta de trabalho. Em outras palavras, a função LAMBDA é uma forma de criar funções personalizadas.

Um dos principais benefícios de uma função LAMBDA personalizada é que a lógica contida na fórmula existe em apenas um lugar. Isso significa que há apenas uma cópia do código a ser atualizada ao corrigir problemas ou atualizar a funcionalidade, e as alterações serão propagadas automaticamente para todas as instâncias da função LAMBDA em uma pasta de trabalho. Uma função LAMBDA não requer VBA ou macros.

Exemplo 1 | Exemplo 2 | Exemplo 3

Criação de uma função LAMBDA

As funções LAMBDA são normalmente criadas e depuradas na barra de fórmulas em uma planilha e, em seguida, movidas para o gerenciador de nomes para atribuir um nome que pode ser usado em qualquer lugar em uma pasta de trabalho.

Existem quatro etapas básicas para criar e usar uma fórmula personalizada com base na função LAMBDA:

  1. Verifique a lógica que você usará com uma fórmula padrão
  2. Crie e teste uma versão LAMBDA genérica (sem nome) da fórmula
  3. Nomeie e defina a fórmula LAMBDA com o gerenciador de nomes
  4. Teste a nova função personalizada usando o nome definido

Os exemplos abaixo discutem essas etapas com mais detalhes.

Exemplo 1

Para ilustrar como o LAMBDA funciona, vamos começar com uma fórmula muito simples:

=x*y // multiple x and y

No Excel, esta fórmula normalmente usaria referências de células como esta:

=B5*C5 // with cell references

Como você pode ver, a fórmula funciona bem, então estamos prontos para avançar para a criação de uma fórmula LAMBDA genérica (versão sem nome). A primeira coisa a considerar é se a fórmula requer entradas (parâmetros). Nesse caso, a resposta é "sim" - a fórmula requer um valor para xe um valor para y. Com isso estabelecido, começamos com a função LAMBDA e adicionamos os parâmetros necessários para a entrada do usuário:

=LAMBDA(x,y // begin with input parameters

Em seguida, precisamos adicionar o cálculo real, x * y:

=LAMBDA(x,y,x*y)

Se você inserir a fórmula neste ponto, receberá um erro de #CALC! erro. Isso acontece porque a fórmula não tem valores de entrada com os quais trabalhar, uma vez que não há mais referências de células. Para testar a fórmula, precisamos usar uma sintaxe especial como esta:

=LAMBDA(x,y,x*y)(B5,C5) // testing syntax

Essa sintaxe, onde os parâmetros são fornecidos no final de uma função LAMBDA em um conjunto separado de parênteses, é exclusiva para funções LAMBDA. Isso permite que a fórmula seja testada diretamente na planilha, antes que o LAMBDA seja nomeado. Na tela abaixo, você pode ver que a função LAMBDA genérica em F5 retorna exatamente o mesmo resultado que a fórmula original em E5:

Agora estamos prontos para nomear a função LAMBDA com o Name Manager. Primeiro, selecione a fórmula, * não incluindo * os parâmetros de teste no final. A seguir, abra o Gerenciador de Nomes com o atalho Control + F3 e clique em Novo.

Na caixa de diálogo Novo nome, insira o nome "XBYY", deixe o escopo definido para a pasta de trabalho e cole a fórmula que você copiou na área de entrada "Refere-se a".

Certifique-se de que a fórmula comece com um sinal de igual (=). Agora que a fórmula LAMBDA tem um nome, ela pode ser usada na pasta de trabalho como qualquer outra função. Na tela abaixo, a fórmula em G5, copiada, é:

A nova função personalizada retorna o mesmo resultado que as outras duas fórmulas.

Exemplo 2

Neste exemplo, vamos converter uma fórmula para calcular o volume de uma esfera em uma função LAMBDA personalizada. A fórmula geral do Excel para calcular o volume de uma esfera é:

=4/3*PI()*A1^3 // volume of sphere

onde A1 representa o raio. A tela abaixo mostra esta fórmula em ação:

Observe que esta fórmula requer apenas uma entrada (raio) para calcular o volume, então nossa função LAMBDA precisará apenas de um parâmetro (r), que aparecerá como o primeiro argumento. Aqui está a fórmula convertida em LAMBDA:

=LAMBDA(r,4/3*PI()*r^3) // generic lambda

De volta à planilha, substituímos a fórmula original pela versão genérica do LAMBDA. Observe que estamos usando a sintaxe de teste, que nos permite conectar B5 para radius:

Os resultados da fórmula LAMBDA genérica são exatamente iguais aos da fórmula original, então a próxima etapa é definir e nomear essa fórmula LAMBDA com o Gerenciador de Nomes, conforme explicado acima. O nome usado para uma função LAMBDA pode ser qualquer nome válido do Excel. Neste caso, nomearemos a fórmula "SphereVolume".

De volta à planilha, substituímos a fórmula LAMBDA genérica (sem nome) pela versão LAMBDA nomeada e inserimos B5 para r. Observe que os resultados retornados pela função SphereVolume personalizada são exatamente iguais aos resultados anteriores.

Exemplo 3

Neste exemplo, criaremos uma função LAMBDA para contar palavras. O Excel não tem uma função para essa finalidade, mas você pode contar palavras com uma célula com uma fórmula personalizada baseada nas funções LEN e SUBSTITUTE como esta:

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Leia a explicação detalhada aqui. Aqui está a fórmula em ação em uma planilha:

Observe que estamos obtendo uma contagem incorreta de 1 quando a fórmula recebe uma célula vazia (B10). Abordaremos esse problema a seguir.

Esta fórmula requer apenas uma entrada, que é o texto que contém palavras. Em nossa função LAMBDA, chamaremos esse argumento de "texto". Aqui está a fórmula convertida em LAMBDA:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Observe que "texto" aparece como o primeiro argumento e o cálculo é o segundo e último argumento. Na tela abaixo, substituímos a fórmula original pela versão genérica do LAMBDA. Observe que estamos usando a sintaxe de teste, que nos permite conectar B5 para texto:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)(B5)

Os resultados da fórmula LAMBDA genérica são iguais aos da fórmula original, então a próxima etapa é definir e nomear esta fórmula LAMBDA com o Gerenciador de Nomes, conforme explicado anteriormente. Chamaremos essa fórmula de "CountWords".

Abaixo, substituímos a fórmula LAMBDA genérica (sem nome) pela versão LAMBDA nomeada e inserimos B5 para o texto. Observe que obtemos exatamente os mesmos resultados.

A fórmula usada no Name Manager para definir CountWords é a mesma que a anterior, sem a sintaxe de teste:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Corrigindo o problema da célula vazia

Conforme mencionado acima, a fórmula acima retorna uma contagem incorreta de 1 quando uma célula está vazia. Este problema pode ser corrigido substituindo +1 pelo código abaixo:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Explicação completa aqui. Para atualizar a fórmula LAMDA nomeada existente, precisamos novamente usar o Gerenciador de Nomes:

  1. Abra o Gerenciador de Nomes
  2. Selecione o nome "CountWords" e clique em "Editar"
  3. Substitua o código "Refere-se a" por esta fórmula:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+(LEN(TRIM(text))>0))

Uma vez que o Name Manager é fechado, o CountWords funciona corretamente em células vazias, como pode ser visto abaixo:

Observação: ao atualizar o código uma vez no Gerenciador de nomes, todas as instâncias da fórmula CountWords são atualizadas de uma vez. Este é um benefício chave das funções personalizadas criadas com as atualizações da fórmula LAMBDA que podem ser gerenciadas em um só lugar.

Artigos interessantes...