Funktionen REDUCE

Gäller för
Excel för Microsoft 365 Excel för Microsoft 365 för Mac

Minskar en matris till ett ackumulerat värde genom att använda lambda på 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.

  • Array En matris som ska minskas.

  • Lambda En LAMBDA som anropas för att minska matrisen. LAMBDA har tre parametrar:

    • Ackumulator Värdet summerades och returnerades som det slutliga resultatet.
    • Värde Det aktuella värdet från matrisen.
    • Kroppen Beräkningen som tillämpas på varje element i matrisen.

Kommentarer

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.

Obs! Om inget värde anges för initial_value används det första värdet i matrisen som startvärde.

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 1 för första funktionen REDUCE

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)))

EXEMPLET MINSKA LAMBDA

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)))

Exempel på tredje funktionen REDUCE