Funções LET e LAMBDA do Excel: Guia completo com exemplos

Última atualização: 03/09/2025
autor: Isaac
  • LET atribui nomes aos resultados intermediários e melhora a clareza e o desempenho.
  • O LAMBDA cria funções personalizadas e valida com uma chamada na célula.
  • BYROW, BYCOL, MAP, SCAN, REDUCE e MAKEARRAY aplicam LAMBDA a matrizes.
  • Exemplos prontos: subtotais, mapeamentos, geração cumulativa e matricial.

a sobressair

Ao trabalhar com dados no Excel, chega um ponto em que fórmulas repetidas e intervalos infinitos se tornam incontroláveis; é aí que entram em cena as funções LET e LAMBDA , duas ferramentas essenciais para criar cálculos limpos, reutilizáveis ​​e de manutenção mais rápida.

Com essas funções, e com diversas funções matriciais modernas que dependem delas, você pode definir nomes intermediários, encapsular cálculos e aplicar transformações a matrizes como se estivesse percorrendo um loop; BYROW, BYCOL, MAP, SCAN, REDUCE e MAKEARRAY são a cereja do bolo, permitindo que você aplique uma função LAMBDA a linhas, colunas ou elementos de uma matriz de forma elegante e eficiente.

O que são LET e LAMBDA no Excel?

A função LAMBDA permite criar funções personalizadas usando a linguagem de fórmulas nativa do Excel , sem macros ou VBA: você define os parâmetros, escreve o cálculo e, se desejar, o chama com argumentos para obter um resultado instantâneo.

A função LET, por outro lado, é usada para atribuir nomes a resultados intermediários dentro da mesma fórmula , permitindo reutilizá-los várias vezes sem recalculá-los, o que aumenta a legibilidade e a eficiência em planilhas complexas.

Em torno da LAMBDA, surgiram funções que tratam matrizes como se fossem coleções a serem percorridas: BYROW (por linhas), BYCOL (por colunas), MAP (mapeia elementos), SCAN (acumula e retorna estados intermediários), REDUCE (retorna apenas o valor acumulado final) e MAKEARRAY (gera matrizes sob demanda).

Considere este conjunto como ferramentas que simulam loops e percursos em matrizes : você passa uma função LAMBDA com a transformação desejada e o Excel faz o resto, retornando vetores ou matrizes com os resultados.

O resultado é que você pode criar cálculos sofisticados sem recorrer a colunas auxiliares ou código externo; tudo está encapsulado em fórmulas puras , com menor risco de erros e melhor manutenção.

Como testar e definir um LAMBDA sem erros

Uma boa prática é construir e validar a função LAMBDA diretamente em uma célula antes de defini-la como uma função reutilizável: defina os parâmetros, escreva o cálculo e adicione a chamada de teste com os argumentos desejados no final.

  Widgets do Windows 11 não funcionam ou não atualizam: guia completo

Se você não fizer essa chamada de teste, é relativamente fácil encontrar o erro #CALC! em fórmulas incompletas; a chamada final força a avaliação do cálculo e confirma que a estrutura está correta.

A maneira mais clara de trabalhar é: LAMBDA(parâmetro1; parâmetro2; …; cálculo)(argumento1; argumento2; …) ; assim, em uma única célula você escreve a definição e sua execução para validar o resultado.

Por exemplo, para adicionar 1 a um número, você pode tentar: =LAMBDA(number; number + 1)(1). Esta expressão retorna o valor 2, o que confirma que a LAMBDA e seu chamado são bem planejados.

Após a verificação, você pode registrar essa função LAMBDA como uma função personalizada (com um nome) ou inseri-la em outras fórmulas e funções matriciais para resolver problemas mais complexos.

LET: sintaxe, argumentos e considerações

Sintaxe LET no Excel

A sintaxe geral de LET é: =LET(nombre1; nombre_valor1; cálculo_o_nombre2; ); seu objetivo é nomeando resultados intermediários e usar esses nomes em um cálculo final.

Argumentos principais de LET: name1 (obrigatório) é o primeiro identificador que você atribui; ele deve começar com uma letra, não pode ser o resultado de uma fórmula e não pode entrar em conflito com a sintaxe de intervalo do Excel .

O argumento name_value1 (obrigatório) é o valor ou expressão que será associado a name1 ; dessa forma, você evita repetir o mesmo cálculo e melhora o desempenho caso vá reutilizá-lo.

O terceiro argumento, calculation_or_name2 (obrigatório), pode ser uma de duas coisas: o cálculo final que usa todos os nomes declarados ou um segundo nome a ser definido; se você decidir declarar um nome, também precisará fornecer value_name2 e calculation_or_name3.

`name_value2` (opcional) atribui um valor ao nome declarado na etapa anterior; se você continuar encadeando nomes, repita o padrão nome/valor até que o último argumento seja um cálculo.

Por fim, `calculation_or_name3` (opcional) pode ser o cálculo final ou um terceiro nome; lembre-se de que o último argumento de `LET` deve sempre ser um cálculo que retorne o resultado esperado.

Esse padrão escalável permite encadear definições de forma clara e evita a duplicação de expressões na mesma fórmula; em resumo, o LET simplifica, esclarece e agiliza planilhas complexas.

Funções matriciais modernas alavancando LAMBDA

Essas funções percorrem matrizes aplicando uma transformação definida com LAMBDA, comportando-se como se fossem iteradores; elas facilitam subtotais por linhas ou colunas , mapeamentos, totais cumulativos e a construção de matrizes personalizadas.

  Como limitar a largura de banda do Windows Update no Windows

BYROW: Aplique um LAMBDA em cada linha

A função BYROW avalia uma função LAMBDA para cada linha no intervalo de entrada e retorna um vetor coluna com os resultados; ela é ideal para criar subtotais ou indicadores linha por linha sem colunas auxiliares.

Sua sintaxe é: =BYROW(rango; LAMBDA(fila; cálculo_por_fila)), onde o parâmetro fila representa a linha atual que a função está processando; o LAMBDA retorna um único valor por linha.

Exemplo prático: se sua matriz estiver em B2:D7 e você quer somar cada linha, em E2 escrever =BYROW(B2:D7; LAMBDA(fila; SUMA(fila))); você vai conseguir um vetor com a soma de cada linha, pronto para uso em análises ou gráficos.

BYCOL: aplicar um LAMBDA a cada coluna

BYCOL funciona de forma semelhante a BYROW, mas itera pelas colunas; retorna um vetor coluna com um resultado para cada coluna no intervalo de origem.

A sintaxe é: =BYCOL(rango; LAMBDA(columna; cálculo_por_columna)); o parâmetro coluna expõe a coluna atual para LAMBDA, que produz um valor por coluna.

Exemplo prático: com dados em B2:D7, lugar em B8 Fórmula =BYCOL(B2:D7; LAMBDA(columna; PROMEDIO(columna))); você vai conseguir um vetor com a média de cada coluna, útil como um resumo ou controle de qualidade.

MAKEARRAY: Cria matrizes calculadas

MAKEARRAY gera uma matriz do tamanho que você especificar, calculando cada elemento com uma função LAMBDA que recebe o índice da linha e o índice da coluna; em alguns ambientes em espanhol, ela pode ser interpretada como ARCHIVOMAKEARRAY.

Sua forma geral é: =MAKEARRAY(n_filas; n_columnas; LAMBDA(fila; columna; cálculo_por_posición)). Cada intersecção de linha/coluna passa pelo LAMBDA e retorna o valor desejado para essa coordenada.

Exemplo de identificador de posição: em qualquer célula, use =ARCHIVOMAKEARRAY(3; 2; LAMBDA(fila; col; -(fila&col))) para criar uma matriz de 3 linhas por 2 colunas onde cada elemento concatena sua linha e coluna (e é forçado a numerar com o sinal de menos).

Outro exemplo combinando diversas funções: =LET(arrPos; ARCHIVOMAKEARRAY(3; 2; LAMBDA(fila; col; -(fila&col))); arrPosF; COINCIDIR(arrPos; K.ESIMO.MENOR(arrPos; SECUENCIA(6))); INDICE(G8:G13; arrPosF)). Com esta construção, você gera posições, você obtém os 6 menores e você os mapeia em um intervalo com INDEX.

MAP: transformar elemento em elemento

A função MAP recebe uma ou mais matrizes e retorna outra do mesmo tamanho aplicando uma função LAMBDA a cada elemento; ela é perfeita para limpeza, normalização ou rótulos condicionais sem colunas auxiliares.

  Descubra como permitir notificações persistentes no iPhone

A sintaxe básica é: =MAP(matriz; LAMBDA(valor; transformación)); se você passar vários arrays, o LAMBDA receberá vários parâmetros, um por array; o resultado preserva dimensões da matriz de entrada.

Exemplo clássico de marcação de números pares e ímpares em A21:A26: =MAP($A$21:$A$26; LAMBDA(param1; SI(ES.PAR(param1); param1; "-"))). Assim, cada elemento é substituído por si mesmo se for par, ou por um hífen se não for; todo processamento é vetorial.

SCAN: acumulado com estados intermediários

A função SCAN percorre um array com uma função LAMBDA acumulativa e retorna todos os estados intermediários, não apenas o final; ela é ideal para totais acumulados, porcentagens cumulativas e cálculos que dependem do resultado anterior.

A estrutura é: =SCAN(valor_inicial; matriz; LAMBDA(acumulador; valor; nuevo_acumulado))Onde valor_inicial o acumulador começa, matriz é o intervalo a ser processado e o LAMBDA define a transição entre estados.

Para um jackpot clássico A31:A36ele escreve: =SCAN(0; A31:A36; LAMBDA(acum; param1; acum + param1)); você vai conseguir a sequência de somas parciais em um passo.

E se você quiser a proporção cumulativa, você pode combinar LET e SCAN: =LET(total; SUMA(A31:A36); SCAN(0; A31:A36; LAMBDA(acum; param1; (acum + param1))) / total). Aqui você primeiro calcula o total com LET e então você divide cada estado intermediário por esse total.

REDUZIR: o acumulado final

REDUCE funciona como SCAN, mas retorna apenas o último estado do acumulador; ou seja, reduz toda a matriz a um único valor aplicando a transformação definida por LAMBDA.

Seu padrão é: =REDUCE(valor_inicial; matriz; LAMBDA(acumulador; valor; nuevo_acumulado)); o valor final geralmente é uma soma, um produto, uma interseção lógica ou o resultado do processo no qual você está interessado.

Exemplo de soma final em execução em A1:A6: =REDUCE(0; A1:A6; LAMBDA(acum; param1; acum + param1)); em uma única expressão, você obtém a soma total sem expor etapas intermediárias.

7 erros do Excel que nos fizeram perder bilhões-9
Artigo relacionado:
Funções SE, PROCV e CONCATENAR no Excel: Guia Completo