Reduziert ein Array auf einen akkumulierten Wert, indem ein LAMBDAauf jeden Wert angewendet und der Gesamtwert im Akkumulator zurückgegeben wird.
Syntax
=REDUCE([initial_value], Array, Lambda(Akkumulator, Wert))
Die REDUCE-Funktionssyntax enthält die folgenden Argumente und Parameter:
-
[initial_value] Legt den Startwert für den Akkumulator fest.
-
Array Ein Array, das reduziert werden soll.
-
LAMBDA Ein LAMBDA, der aufgerufen wird, um das Array zu reduzieren. Der LAMBDA-Ausdruck akzeptiert zwei Parameter:
-
Akkumulator Der Wert wurde summiert und als Endergebnis zurückgegeben.
-
Wert Die Berechnung, die auf jedes Element im Array angewendet wird.
-
Anmerkungen
Verwenden Sie das Argument initial_value, um den Startwert für den Akkumulatorparameter festzulegen. Legen Sie in Beispiel 2, in dem Sie den Akkumulator multiplizieren, den Wert auf 1 fest, um eine Multiplikation mit 0 zu vermeiden.
Fehler
Die Übergabe einer ungültigen LAMBDA-Funktion oder einer falschen Anzahl von Parametern ergibt #VALUE! Fehler "Falsche Parameter".
Beispiele
Beispiel 1: Summe der quadrierten Werte
Geben Sie die Beispieldaten in die Zellen A1:C2 ein, und kopieren Sie dann die Formel in Zelle D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Beispiel 2: Erstellen Sie eine benutzerdefinierte "PRODUCTIF"-Funktion, um nur Werte größer als 50 zu multiplizieren.
Erstellen Sie eine Tabelle mit dem Namen "Table2" mit einer Spalte namens "Nums" ab Zelle E1. Kopieren Sie die folgende Formel in Zelle G2:
=REDUCE(1,Table2[Nums],LAMBDA(a,b,IF(b>50,a+b,a)))
Beispiel 3: Nur gerade Werte zählen
Erstellen Sie eine Tabelle mit dem Namen "Table4" mit einer Spalte namens "Nums" ab Zelle D1. Kopieren Sie die folgende Formel in Zelle F2:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))