Reduserer en matrise til en akkumulert verdi ved å bruke en LAMBDA-funksjon på hver verdi og returnere totalverdien i akkumulatoren.
Syntaks
=REDUSER([initial_value], matrise, lambda(akkumulator, verdi, brødtekst))
Syntaksen for REDUSER-funksjonen har følgende argumenter og parametere:
-
[innledende_verdi] Angir startverdien for akkumulatoren.
-
matrise En matrise som skal reduseres.
-
lambda En LAMBDA som kalles opp for å redusere matrisen. LAMBDA tar tre parametere:
-
akkumulator Verdien rundet opp og returnert som det endelige resultatet.
-
verdi Gjeldende verdi fra matrisen.
-
Kroppen Beregningen brukt på hvert element i matrisen.
-
Merknader
Bruk argumentet innledende_verdi til å angi startverdien for akkumulatorparameteren. I eksempel 2, der du multipliserer akkumulatoren, angir du verdien til 1 for å unngå å multiplisere med 0.
Feil
Hvis du angir en ugyldig LAMBDA-funksjon eller feil antall parametere, returneres en #VERDI!- -feil kalt «Feil parametere».
Eksempler
Eksempel 1: Summer de kvadrerte verdiene
Skriv inn eksempeldataene i cellene A1:C2, og kopier deretter formelen til celle D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Eksempel 2: Opprett en tilpasset «PRODUCTIF»-funksjon for å multiplisere bare verdier som er større enn 50
Opprett en tabell med navnet «Tabell3» med én kolonne med navnet «nums» fra celle E1. Kopier følgende formel til celle G2.
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
Eksempel 3: Tell bare partallsverdier
Opprett en tabell med navnet «Tabell4» med én kolonne kalt «Nums» med utgangspunkt i celle D1. Kopier følgende formel til celle F2.
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))