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(accumulator, value))
A sintaxe da função REDUCE tem os seguintes argumentos e parâmetros:
-
[initial_value] Definir o valor inicial para o acumulador.
-
matriz Uma matriz a ser reduzida.
-
lambda Um LAMBDA que é chamado para reduzir a matriz. O LAMBDA usa dois parâmetros:
-
acumulador O valor totalizado e retornado como o resultado final.
-
valor O cálculo aplicado a cada elemento na matriz.
-
Observações
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.
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
Insira os dados de amostra nas células A1:C2 e, em seguida, copie a fórmula para a célula D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Exemplo 2: Criar uma função “PRODUCTIF” personalizada para multiplicar somente valores maiores que 50
Crie uma tabela chamada “Tabela2” com uma coluna chamada “Nums” começando na tabela E1. Copie a seguinte fórmula para a célula G2:
=REDUCE(1,Table2[Nums],LAMBDA(a,b,IF(b>50,a+b,a)))
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)))