Vermindert een matrix tot een samengevoegde waarde door een LAMBDAtoe te passen op elke waarde en de totale waarde in de accumulator te retourneren.
Syntaxis
=REDUCE([initial_value]; matrix, lambda(accumulator, waarde, hoofdtekst))
De syntaxis van de REDUCE-functie heeft de volgende argumenten en parameters:
-
[initial_value] Hiermee stelt u de beginwaarde voor de accumulator in.
-
matrix Een matrix die moet worden verkleind.
-
lambda Een LAMBDA die wordt aangeroepen om de matrix te verminderen. De LAMBDA heeft drie parameters:
-
accumulator De waarde is opgewaardeerd en geretourneerd als het uiteindelijke resultaat.
-
waarde De huidige waarde van de matrix.
-
Lichaam De berekening die wordt toegepast op elk element in de matrix.
-
Opmerkingen
Gebruik het argument initial_value om de beginwaarde voor de accumulatorparameter in te stellen. In voorbeeld 2, waarbij u de accumulator vermenigvuldigt, stelt u de waarde in op 1 om te voorkomen dat u met 0 vermenigvuldigt.
Fouten
Als u een ongeldige LAMBDA-functie of een onjuist aantal parameters opgeeft, wordt een #VALUE! geretourneerd fout met de naam 'Onjuiste parameters'.
Voorbeelden
Voorbeeld 1: De kwadrate waarden optellen
Voer de voorbeeldgegevens in cellen A1:C2 in en kopieer de formule naar cel D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Voorbeeld 2: Een aangepaste functie 'PRODUCTIF' maken om alleen waarden groter dan 50 te vermenigvuldigen
Creatie een tabel met de naam 'Tabel3' met één kolom met de naam 'nums' vanaf cel E1. Kopieer de volgende formule naar cel G2:
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
Voorbeeld 3: Alleen even waarden tellen
Maak een tabel met de naam 'Table4' met één kolom met de naam 'Nums' vanaf cel D1. Kopieer de volgende formule naar cel F2:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))