REDUCE-Funktion

Gilt für
Excel für Microsoft 365 Excel für Microsoft 365 für Mac

Reduziert ein Array auf einen akkumulierten Wert, indem ein LAMBDA auf jeden Wert angewendet wird und der Gesamtwert im Akkumulator zurückgegeben wird.   

Syntax

=REDUCE([initial_value], Array, Lambda(Akkumulator, Wert, Text))

Die REDUCE-Funktionssyntax enthält die folgenden Argumente und Parameter:

  • [initial_value] Legt den Startwert für den Akkumulator fest.

  • Matrix Ein Array, das reduziert werden soll.

  • LAMBDA Ein LAMBDA, der aufgerufen wird, um das Array zu reduzieren. Der LAMBDA-Ausdruck akzeptiert drei Parameter:

    • Akkumulator Der Wert wurde summiert und als Endergebnis zurückgegeben.
    • Wert Der aktuelle Wert aus dem Array.
    • Körper Die Berechnung, die auf jedes Element im Array angewendet wird.

Hinweise

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.

HINWEIS: Wenn kein Wert für die initial_value angegeben wird, wird der erste Wert im Array als Startwert verwendet.

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 die Zelle D4:

=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))

Erstes REDUCE-Funktionsbeispiel (example1)

Beispiel 2: Erstellen Sie eine benutzerdefinierte "PRODUCTIF"-Funktion, um nur Werte größer als 50 zu multiplizieren.

Erstellen Sie eine Tabelle mit dem Namen "Table3" mit einer Spalte namens "nums" ab Zelle E1. Kopieren Sie die folgende Formel in Zelle G2:

=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))

Beispiel für REDUCE LAMBDA

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

Drittes REDUCE-Funktionsbeispiel