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([initial_value], matriz, 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 reduzir.
-
lambda Uma função LAMBDA chamada para reduzir a matriz. O LAMBDA utiliza três parâmetros:
-
acumulador O valor totalizado e devolveu como resultado final.
-
valor O valor atual da matriz.
-
corpo 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
Create uma tabela com o nome "Table3" com uma coluna denominada "núms" a partir da 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 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)))