É possível criar e retornar uma função personalizada com um conjunto de nomes e uma formula_expression
que utiliza eles. Para calcular a formula_expression
, chame a função retornada com a mesma quantidade de valores que o name
declara.
Exemplo de uso
LAMBDA(Salary, Salary*0.3)(1000)
LAMBDA(Temp, (5/9)*(Temp-32))(85)
Sintaxe
LAMBDA(name, formula_expression)
name
: o nome a ser usado naformula_expression
. Esse nome precisa ser um identificador que aponta para o valor real transmitido para a função personalizada retornada pelaLAMBDA
.formula_expression
: a fórmula a ser calculada. Usa nomes declarados nos parâmetros anteriores.
Observações
- Se uma função nomeada espera outra como entrada em um argumento dentro de uma função nomeada, é possível usar
LAMBDA
ou uma função nomeada.
Exemplos
Dados de exemplo:
LAMBDA independente
Escreva uma função LAMBDA
para calcular o tributo salarial, supondo que a alíquota seja de 30%. Insira o valor do salário após a função.
Exemplo: =LAMBDA(salary, salary*0.3)(C5)
Calcula os tributos para o mês 1.
LAMBDA dentro de uma função auxiliar LAMBDA
Para realizar operações avançadas de matriz, use as funções LAMBDA
dentro das funções auxiliares LAMBDA
(LHFs, na sigla em inglês).
Exemplo: =MAP(C5:C10, LAMBDA(salary, salary*0.3))
Faz o cálculo de salário *0,3 para cada item na matriz C5:C10.
LAMBDA dentro de uma função nomeada
É possível usar as funções LAMBDA
como parte do argumento de uma função nomeada. Entenda as funções nomeadas
Função nomeada: AVG_MONTHLY_TAX(range, tax_calculator_function)
Definição de fórmula: =tax_calculator_function(sum(range))/count(range)
Para escrever o argumento tax_calculator_function
, use uma função LAMBDA
.
Exemplo: =AVG_MONTHLY_TAX(C5:C10,LAMBDA(range, range*0.3))
Calcula o tributo mensal médio para os meses de 1 a 6.
Erros comuns
O argumento de nome não é um identificador
Exemplo: =LAMBDA(3, x+1)(3)
Se o primeiro argumento não for um identificador, este erro vai ocorrer:
Requisitos do identificador:
- Não pode ser um intervalo, como "A1" ou "A2".
- Não pode haver espaços ou caracteres especiais. Pontos e sublinhados são permitidos.
- Não pode começar com números, como "9hello".
A função LAMBDA não foi chamada
Esse erro ocorre quando a chamada com os valores não é informada após LAMBDA
.
Exemplo: =LAMBDA(salary, salary*0.3)
Se nenhum valor for transmitido para salary
, este erro vai ocorrer:
Para LAMBDA
como argumento em uma função nomeada, isso significa não chamar o marcador de posição que se refere a essa LAMBDA
com os valores necessários dentro da definição da função nomeada.
Exemplo: na definição da fórmula, se você escrever =tax_calculator_function/count(range)
em vez de =tax_calculator_function(sum(range))/count(range)
, este erro vai ocorrer:
Dica: para uma LAMBDA
dentro de uma função auxiliar LAMBDA
, esse erro não aconteceria, já que a função auxiliar LAMBDA
usa automaticamente a LAMBDA
no intervalo de entrada específico.
Funções auxiliares LAMBDA
As funções auxiliares lambda
(LHFs) são funções nativas que aceitam uma LAMBDA
reutilizável como argumento junto com uma matriz de entrada. Elas ajudam em operações avançadas de matriz executando a fórmula especificada dentro da LAMBDA
em cada valor da matriz de entrada. A LAMBDA
reutilizável pode ser transmitida como uma função LAMBDA
ou uma função nomeada
.
Funções auxiliares LAMBDA:
- Função MAP: mapeia cada valor nas matrizes especificadas para um novo valor.
- Função REDUCE: reduz a matriz a um resultado acumulado.
- Função BYCOL: agrupa uma matriz por colunas.
- Função BYROW: agrupa uma matriz por linhas.
- Função SCAN: verifica uma matriz e produz valores intermediários.
- Função MAKEARRAY: cria uma matriz calculada com as dimensões especificadas.
Funções relacionadas
Criar e usar funções nomeadas: permite que os usuários criem e armazenem funções personalizadas, semelhantes aLAMBDA
.