Reduz uma matriz a um valor acumulado ao aplicar uma função LAMBDA a cada valor e ao devolver o valor total no acumulador.
Sintaxe
=REDUCE([valor_inicial]; matriz; lambda(acumulador; valor))
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 reduzir.
-
lambda Uma função LAMBDA chamada para reduzir a matriz. O LAMBDA aceita dois parâmetros:
-
acumulador O valor totalizado e devolveu como resultado final.
-
valor O cálculo aplicado a cada elemento na matriz.
-
Observações
Utilize o argumento valor_inicial para definir o valor inicial para o parâmetro do acumulador. No Exemplo 2, onde 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 devolve um erro #VALOR! erro denominado "Parâmetros Incorretos".
Exemplos
Exemplo 1: Somar os valores ao quadrado
Introduza os dados de exemplo 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 um função "PRODUCTIF" personalizada para multiplicar apenas valores maiores que 50
Crie uma tabela com o nome "Table2" com uma coluna com o nome "Nums" a partir da célula 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: Cone apenas os valores pares
Crie uma tabela com o nome "Table4" com uma coluna com o nome "Nums" a partir da 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)))