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] 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 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.
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
Create 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 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)))