Função REDUCE

Aplica-se a
Excel para Microsoft 365 Excel para Microsoft 365 para Mac

Reduz uma matriz a um valor acumulado aplicando um LAMBDA a cada valor e retornando o valor total no acumulador.   

Sintaxe

=REDUCE([initial_value], array, lambda(acumulador, valor, corpo))

A sintaxe da função REDUCE tem os seguintes argumentos e parâmetros:

  • [initial_value] Define o valor inicial do acumulador.

  • Matriz Uma matriz a ser reduzida.

  • Lambda Um LAMBDA que é chamado para reduzir a matriz. O LAMBDA usa três parâmetros:

    • Acumulador O valor totalizado e retornado como o resultado final.
    • Valor O valor atual da matriz.
    • Corpo O cálculo aplicado a cada elemento na matriz.

Comentários

Use o argumento initial_value para definir o valor inicial para o parâmetro acumulador. No Exemplo 2, em que você multiplica o acumulador, defina o valor como 1 para evitar a multiplicação por 0.

OBSERVAÇÃO: se nenhum valor for fornecido para o initial_value, o primeiro valor na matriz será usado como o valor inicial.

Erros

Fornecer uma função LAMBDA inválida ou um número incorreto de parâmetros devolvendo um #VALUE! erro chamado "Parâmetros Incorretos".

Exemplos

Exemplo 1: Somar os valores ao quadrado

Inserir os dados da amostra nas células A1:C2, e depois copiar a fórmula para a célula D4:

=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))

Primeiro exemplo de função REDUCE1

Exemplo 2: Criar uma função “PRODUCTIF” personalizada para multiplicar somente valores maiores que 50

Crie uma tabela chamada "Table3" com uma coluna chamada "nums" começando na célula E1. Copie a seguinte fórmula para a célula G2:

=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))

EXEMPLO REDUCE LAMBDA

Exemplo 3: Contar apenas valores pares

Crie uma tabela chamada “Tabela4” com uma coluna chamada “Nums” começando na célula D1. Copie a seguinte fórmula para a célula F2:

=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))

Terceiro exemplo de função REDUCE