Schleifen mit MAP und REDUCE
Eine LAMBDA auf ein Array anwenden, um Werte umzuwandeln oder zu aggregieren
Schleifen mit MAP und REDUCE ist eine kostenlose Excel Formulas Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Excel Formulas Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Excel Formulas Academy-Kurs umfasst insgesamt 4 Lektionen.
Schleifen ohne Code
Manchmal möchten Sie dieselbe Berechnung auf jeden Wert eines Bereichs anwenden oder einen gesamten Bereich auf eine einzelne Zahl reduzieren. In der Programmierung ist das eine Schleife. In modernen Tabellenkalkulationen übernehmen MAP und REDUCE dies mithilfe von LAMBDA für Sie.
- MAP wandelt jedes Element eines Arrays in ein neues Element um
- REDUCE kombiniert alle Elemente zu einem akkumulierten Ergebnis
Beide Funktionen übernehmen eine LAMBDA, die beschreibt, was mit jedem Wert geschehen soll. Sie sind in Microsoft 365 und Google Sheets verfügbar.
So funktioniert MAP
MAP durchläuft ein Array und wendet auf jedes Element eine LAMBDA an. Dadurch entsteht ein neues Array derselben Größe. Der Parameter der LAMBDA erhält jeweils ein Element.
Das Muster lautet: Übergeben Sie MAP das Array und anschließend eine LAMBDA, deren Parameter für jeden Wert steht. MAP gibt die umgewandelten Ergebnisse automatisch über mehrere Zellen aus.
=MAP(array, LAMBDA(value, calculation))Ein erstes MAP-Beispiel
Angenommen, A2:A6 enthält fünf Preise und Sie möchten jeden davon um 10 Prozent erhöhen. MAP wendet die Erhöhung auf alle Werte gleichzeitig an.
Der LAMBDA-Parameter p steht nacheinander für jeden Preis. MAP gibt fünf Ergebnisse zurück – eines pro Eingabezelle –, die sich nach unten über die Spalte verteilen.
Kein Ziehen des Ausfüllkästchens und kein Kopieren. Eine Formel verarbeitet den gesamten Bereich.
=MAP(A2:A6, LAMBDA(p, p*1.1))MAP mit zwei Arrays
MAP kann zwei Arrays parallel durchlaufen. Die LAMBDA übernimmt dann zwei Parameter, jeweils einen aus jedem Array, die positionsweise zugeordnet werden.
Hier multiplizieren wir die Mengen in A2:A6 mit den Preisen in B2:B6, um die Zeilensummen zu erhalten. Der Parameter q gehört jeweils zu einer Menge und pr zu einem Preis.
Beide Arrays müssen dieselbe Größe haben, andernfalls erhalten Sie einen Fehler.
=MAP(A2:A6, B2:B6, LAMBDA(q, pr, q*pr))So funktioniert REDUCE
REDUCE reduziert ein Array auf einen einzelnen Wert. Dabei führt die Funktion einen Akkumulator, der mit jedem Element aktualisiert wird.
Die Funktion übernimmt drei Dinge: einen Startwert für den Akkumulator, das Array und eine LAMBDA mit zwei Parametern: acc (die laufende Summe) und value (das aktuelle Element). Die LAMBDA gibt in jedem Schritt den neuen Akkumulator zurück.
=REDUCE(start, array, LAMBDA(acc, value, new_accumulator))Ein erstes REDUCE-Beispiel
Summieren wir einen Bereich mit REDUCE (ja, auch SUM kann das, aber so werden die Abläufe besonders deutlich).
Wir setzen den Akkumulator zunächst auf 0. Für jeden Wert in A2:A6 addiert die LAMBDA diesen zu acc. Nach dem letzten Element enthält acc die Gesamtsumme.
Wenn die Werte 10, 20 und 30 wären, würde der Akkumulator die Schritte 0, 10, 30 und 60 durchlaufen und mit 60 enden.
=REDUCE(0, A2:A6, LAMBDA(acc, v, acc + v))REDUCE für ein laufendes Produkt
Ändern Sie die Operation, und REDUCE erledigt etwas Neues. Um alle Werte miteinander zu multiplizieren, setzen Sie den Akkumulator auf 1 und multiplizieren ihn in jedem Schritt.
Damit wird ein Produkt berechnet, was beispielsweise für Zinseszinseffekte nützlich ist. Der Startwert ist wichtig: Verwenden Sie für Summen 0 und für Produkte 1, da dies die neutralen Startwerte sind.
=REDUCE(1, A2:A6, LAMBDA(acc, v, acc * v))MAP und REDUCE kombinieren
Sie können mit MAP umwandeln und mit REDUCE in einer Formel zusammenfassen. Eine häufige Aufgabe ist, die Quadrate eines Bereichs zu summieren.
Hier quadriert MAP jeden Wert, und REDUCE addiert sie, beginnend bei 0. Das Ergebnis von MAP wird zum Array, das REDUCE verarbeitet.
=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))MAP und REDUCE in Google Sheets
Beide Funktionen gibt es in Google Sheets mit identischer Syntax. MAP wendet eine LAMBDA auf jedes Element an; REDUCE akkumuliert mit einem Startwert, einem Array und einer LAMBDA mit zwei Parametern.
Sheets bietet außerdem verwandte Hilfsfunktionen wie SCAN. Diese ähnelt REDUCE, gibt jedoch jeden Zwischenstand des Akkumulators statt nur des Endergebnisses zurück. Auch Excel verfügt über SCAN.
=SCAN(0, A2:A6, LAMBDA(acc, v, acc + v))Tipps und Stolperfallen
Einige Dinge sollten Sie beachten:
- In MAP muss die LAMBDA für jedes Element genau einen Wert zurückgeben
- In REDUCE muss die LAMBDA immer den neuen Akkumulator zurückgeben – vergessen Sie das nicht
- Wählen Sie den passenden Startwert: 0 für Summen, 1 für Produkte und eine leere Zeichenfolge für das Verknüpfen von Text
- Gemeinsam übergebene Arrays müssen dieselben Dimensionen haben
Wenn Sie unsicher sind, testen Sie Ihre LAMBDA zunächst inline mit einem einzelnen Wert.
Wann Sie welche Funktion verwenden
Verwenden Sie MAP, wenn Sie ein Ergebnis für jeden Eingangswert benötigen, etwa um jeden Wert zu erhöhen oder zu formatieren.
Verwenden Sie REDUCE, wenn Sie viele Werte zu einem Wert zusammenfassen möchten, etwa zu einer benutzerdefinierten Summe, einer Verkettung oder einem Maximum, das anhand Ihrer eigenen Logik ermittelt wird.
Zusammen ermöglichen die beiden Funktionen Schleifen, die ältere Tabellenkalkulationen nicht in einer einzigen Formel ausführen konnten.
Schnelltest
Testen Sie Ihr Verständnis von REDUCE.
Zusammenfassung: Schleifen mit MAP und REDUCE
Sie haben gelernt, mit LAMBDA-basierten Funktionen Arrays zu durchlaufen.
- MAP wandelt jedes Element in ein neues Element um und gibt ein Array zurück
- REDUCE reduziert ein Array mithilfe eines Akkumulators auf einen Wert
- Wählen Sie einen sinnvollen Startwert: 0 für Summen und 1 für Produkte
- MAP kann mehrere Arrays paarweise verarbeiten; kombinieren Sie MAP und REDUCE für leistungsfähige Zusammenfassungen in einer Zeile
- SCAN zeigt jeden Zwischenschritt
Als Nächstes speichern Sie Ihre LAMBDAs als benannte Funktionen, um übersichtliche und wiederverwendbare Formeln in der gesamten Arbeitsmappe zu erstellen.
=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))Häufig gestellte Fragen
Ist die Lektion „Schleifen mit MAP und REDUCE“ kostenlos?
Ja — der vollständige Text von „Schleifen mit MAP und REDUCE“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Excel Formulas Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Excel Formulas Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Schleifen mit MAP und REDUCE“?
Eine LAMBDA auf ein Array anwenden, um Werte umzuwandeln oder zu aggregieren Du übst Excel Formulas Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Excel Formulas Academy zu starten?
Keine Vorkenntnisse erforderlich. Excel Formulas Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Schleifen mit MAP und REDUCE“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Excel Formulas Academy-Lektion Code schreiben und ausführen?
Ja. Jede Excel Formulas Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Schritte mit LET benennen
- Benutzerdefinierte Funktionen mit LAMBDA definieren
- Schleifen mit MAP und REDUCE
- Übersichtlichere Formeln mit benannten LAMBDA-Funktionen