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, brödtext))
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 har tre parametrar:
-
ackumulator Värdet summerades och returnerades som slutresultatet.
-
värde Det aktuella värdet från matrisen.
-
Kroppen 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 "Tabell3" med en kolumn med namnet "nums" med början i cell E1. Skriv in följande formel i cell G2:
=REDUCE(1,Table3[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)))