Minskar en matris till ett ackumulerat värde genom att använda en LAMBDA till varje värde och returnera det totala värdet i ackumulatorn.
Syntax
=REDUCE ([initial_value], matris, lambda(ackumulator, värde))
Syntaxen för funktionen REDUCE har följande argument och parametrar:
-
[initial_value] Anger startvärdet för ackumulatorn.
-
matris En matris som ska minskas.
-
lambda LAMBDA som anropas för att minska matrisen. LAMBDA tar två parametrar:
-
ackumulator Värdet summerades och returnerades som slutresultatet.
-
värde Beräkningen som tillämpas på varje element i matrisen.
-
Anmärkningar
Använd argumentet initial_value för att ange startvärdet för ackumulatorparametern. I exempel 2, där du multiplicerar ackumulatorn, anger du värdet till 1 för att undvika att multiplicera med 0.
Fel
Om du anger en ogiltig LAMBDA-funktion eller ett felaktigt antal parametrar returneras #VALUE! fel som kallas Felaktiga parametrar.
Exempel
Exempel 1: Summera kvadratvärdena
Ange exempeldata i cellerna A1:C2 och kopiera sedan formeln till cell D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Exempel 2: Skapa en anpassad funktion "PRODUCTIF" för att multiplicera endast värden som är större än 50
Skapa en tabell med namnet " Tabell2" med en kolumn med namnet " Nums" med början i cell E1. Skriv in följande formel i cell G2:
=REDUCE(1,Table2[Nums],LAMBDA(a,b,IF(b>50,a+b,a)))
Exempel 3: Räkna endast jämna värden
Skapa en tabell med namnet " Tabell4" med en kolumn med namnet " Nums" med början i cell D1. Skriv in följande formel i cell F2:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))