Kurzfassung — GROUPBY und PIVOTBY teilen sich eine Reihe optionaler Argumente, die Dinge tun, die eine PivotTable nicht in einem Zug schafft:
PERCENTOFliefert Prozent vom Gesamt imFunktion-Platz (=GROUPBY(C2:C1000; D2:D1000; PERCENTOF)), ein HSTACK von Funktionen gibt mehrere Kennzahlen auf einmal zurück, einLAMBDAin genau diesem Platz baut einen gewichteten Mittelwert, undFilterarrayaggregiert nur die Zeilen, die Sie wählen — alles live. Beherrschen Sie dieFunktion-Grammatik, und Sie greifen nicht mehr zu Hilfsspalten.
=GROUPBY(C2:C1000; D2:D1000; PERCENTOF) ' Anteil jeder Region an der Gesamtsumme
=GROUPBY(C2:C1000; D2:D1000; HSTACK(SUM; AVERAGE; COUNT)) ' drei Kennzahlen nebeneinander
=GROUPBY(C2:C1000; D2:D1000; LAMBDA(v; SUM(v)/COUNT(v))) ' eine eigene Aggregation
=GROUPBY(C2:C1000; D2:D1000; SUM; ; ; ; (E2:E1000="West")) ' nur Zeilen, in denen Region = West
Der einfache GROUPBY/PIVOTBY-Aufruf — gruppieren, aggregieren, überlaufen —
ersetzt bereits die alltägliche PivotTable. Bei den optionalen Argumenten ziehen
sie an ihr vorbei. Prozent vom Gesamt, mehrere Aggregationen in einem Raster,
ein gewichteter Mittelwert, ein Vorfilter auf den Zeilen: Jedes ist hier ein
eingebautes Argument und in einer PivotTable eine
Rechtsklick-und-konfigurieren-Pflichtübung (oder unmöglich). Der Schlüssel, der
all das freischaltet, ist zu verstehen, was das Argument Funktion wirklich
annimmt.
Was Sie lernen
- Prozent vom Gesamt in einem Wort mit
PERCENTOF— und seine häufigste Falle - Mehrere Kennzahlen auf einmal durch Stapeln von Funktionen
- Eine eigene Aggregation, indem Sie ein
LAMBDAin den Funktionsplatz setzen - Zeilen vor dem Aggregieren filtern mit
Filterarray - Die Fehler lesen:
#CALC!,#FIELD!,#SPILL!zeigen jeweils auf ein Argument
Der Funktionsplatz nimmt mehr als SUM an
Die eine Idee hinter jedem Kniff in diesem Artikel: Das Argument Funktion ist
nicht auf die eingebauten Namen beschränkt. Es nimmt jede eta-reduzierte
Funktion an — einen nackten Namen wie SUM, einen Stapel von Namen, einen
zweckgebauten Helfer wie PERCENTOF oder ein vollständiges LAMBDA, das Sie
schreiben. Sobald Sie diesen Platz als „jede Funktion, die eine Spalte in eine
Zusammenfassung verwandelt" sehen, hören die fortgeschrittenen Funktionen auf,
getrennte Funktionen zu sein, und werden zu einem flexiblen Argument.
=GROUPBY(Zeilen; Werte; SUM) ' ein eingebauter Name
=GROUPBY(Zeilen; Werte; PERCENTOF) ' ein zweckgebauter Helfer
=GROUPBY(Zeilen; Werte; HSTACK(SUM; AVERAGE)) ' mehrere Namen auf einmal
=GROUPBY(Zeilen; Werte; LAMBDA(v; MAX(v)-MIN(v))) ' Ihre eigene Funktion
Prozent vom Gesamt mit PERCENTOF
Der meistgefragte Bericht — „welchen Anteil am Gesamt hat jede Gruppe?" — ist ein
einziges Wort. PERCENTOF summiert jede Gruppe und teilt durch die Summe von
allem:
=GROUPBY(C2:C1000; D2:D1000; PERCENTOF) ' Region | % der Gesamtsumme (jede Zeile, z. B. 0,32)
Die Falle: Das Ergebnis ist ein Bruch, kein formatierter Prozentwert. 0,32
sind zweiunddreißig Prozent, aber die Zelle zeigt 0,32, bis Sie das Zahlenformat
Prozent (Strg+Umschalt+%) auf den Überlauf anwenden. Das erwischt jeden
einmal — die Zahl stimmt, die Anzeige nicht, und man hält die Formel für kaputt.
Formatieren Sie den Überlaufbereich als Prozent, und er liest sich als 32 %.
Anteil und Summe zusammen? Stapeln Sie sie: HSTACK(SUM; PERCENTOF) gibt den
Betrag und seinen Prozentsatz in benachbarten Spalten.
Mehrere Kennzahlen auf einmal durch Stapeln von Funktionen
Sie führen GROUPBY nicht dreimal für Summe, Mittelwert und Anzahl aus — Sie
stapeln die Funktionen mit HSTACK und erhalten drei
Ergebnisspalten aus einer Formel:
=GROUPBY(C2:C1000; D2:D1000; HSTACK(SUM; AVERAGE; COUNT))
' Region | Umsatz gesamt | durchschn. Umsatz | Anzahl Bestellungen
Jede Funktion im Stapel wird zu einer Spalte, in dieser Reihenfolge. Das ist der
Bericht, den eine PivotTable Sie bauen lässt, indem Sie dasselbe Feld dreimal in
Werte ziehen und bei jedem „Zusammenfassen nach" ändern; hier ist es ein
Ausdruck, und er liest sich wie die Kopfzeile, die Sie wollen:
SUM; AVERAGE; COUNT. Beachten Sie den Unterschied zum Verbreitern von Werte:
mehr Wertespalten aggregieren andere Daten auf dieselbe Weise; mehr
Funktionen aggregieren dieselben Daten auf andere Weise. Kombinieren Sie
beides für ein volles Kennzahlenraster.
Eine eigene Aggregation: LAMBDA im Funktionsplatz
Wenn keine eingebaute Funktion passt — ein gewichteter Mittelwert, eine
Spannweite, ein gestutzter Wert —, schreiben Sie ein
LAMBDA. Es erhält die Werte jeder Gruppe als Array
v, und was immer es zurückgibt, wird zum Aggregat:
=GROUPBY(C2:C1000; D2:D1000; LAMBDA(v; MAX(v) - MIN(v))) ' die Spannweite je Gruppe
=GROUPBY(C2:C1000; D2:D1000; LAMBDA(v; TEXTJOIN(", "; 1; v))) ' die Mitglieder auflisten, nicht summieren
=GROUPBY(C2:C1000; D2:D1000; LAMBDA(v; SUMPRODUCT(v; w)/SUM(w))) ' ein gewichteter Mittelwert (w = Gewichte)
Das ist die Decke, die eine PivotTable schlicht nicht erreicht: Ihr Menü „Werte
zusammenfassen nach" ist eine feste Liste, während der LAMBDA-Platz jede
Logik ausführt, die Sie ausdrücken können. Die Regel zum Merken — Ihr LAMBDA
bekommt die Werte der Gruppe als ein Argument und muss einen einzigen Wert pro
Gruppe zurückgeben; gibt es ein Array zurück, erhalten Sie #CALC!.
Gewichtete Mittelwerte, Mediane einer gefilterten Teilmenge, „Spitzenwert als
Text" — alle leben in diesem Platz.
Die Zeilen vor dem Aggregieren filtern
Filterarray (das siebte Argument von GROUPBY) nimmt ein Wahrheitswert-Array in
derselben Höhe wie Ihre Daten und aggregiert nur die WAHR-Zeilen — keine
Hilfsspalte, kein Vorfilterschritt:
=GROUPBY(C2:C1000; D2:D1000; SUM; ; ; ; (E2:E1000 = "West")) ' nur Zeilen der Region West
=GROUPBY(C2:C1000; D2:D1000; SUM; ; ; ; (YEAR(A2:A1000) = 2026)) ' nur Zeilen aus 2026
=GROUPBY(C2:C1000; D2:D1000; SUM; ; ; ; (D2:D1000 >= 1000)) ' nur Bestellungen >= 1000
Die Bedingung wird wie ein FILTER-Test geschrieben —
ein Vergleich, der WAHR/FALSCH die Spalte hinunter erzeugt. Die eine Regel,
die den Fehler verhindert: Das Filterarray muss genau so hoch sein wie
Zeilenfelder und Werte. Richten Sie es auf E2:E1000, während Ihre Daten
E2:E999 sind, erhalten Sie #VALUE!; halten Sie jeden Bereich gleich hoch, und
es funktioniert einfach. So bauen Sie Übersichten für „nur dieses Jahr", „ohne
Rückerstattungen" oder „nur West und East", ohne die Quelldaten anzufassen.
Die Fehler lesen
Die drei Fehler, die diese Funktionen werfen, zeigen jeweils auf einen bestimmten Fehler — lernen Sie die Karte, und die Fehlersuche geht sofort:
#CALC! ' der Funktionsplatz ist falsch: SUM() statt SUM oder ein LAMBDA, das ein Array zurückgibt
#FIELD! ' ein Feld-/Spaltenbezug stimmt nicht — oft Feldüberschriften falsch gesetzt, Überschriften rutschen mit hinein
#SPILL! ' das Ergebnis ist blockiert — die Zellen unter und rechts der Formel freiräumen
#VALUE! ' meist ist Filterarray eine andere Höhe als die Daten
#CALC! ist fast immer das Argument Funktion — ein aufgerufenes SUM() oder
ein LAMBDA, das mehr als einen Wert pro Gruppe zurückgibt. #FIELD! zeigt auf
die Datenform, häufig das Argument Feldüberschriften: Wenn Ihre Bereiche die
Überschriftszellen einschließen, setzen Sie Feldüberschriften auf 1, damit die
Beschriftungen nicht als Daten gruppiert werden. #SPILL! ist räumlich, nie
logisch — die Formel ist in Ordnung, die Landezone nicht. Und #VALUE! bei einer
gefilterten Aggregation ist die Höhen-Diskrepanz von oben. Jeder Fehler ist ein
Wegweiser zu einem Argument, kein Rätsel.
Die Abwägung
Sobald eine Übersicht Prozent vom Gesamt, mehr als eine Kennzahl, eine eigene
Berechnung oder eine Teilmenge der Zeilen braucht, schlagen diese optionalen
Argumente eine PivotTable klar — jedes ist hier ein Argument und dort ein
Menü-Tauchgang oder eine Sackgasse. Behalten Sie drei Regeln im Griff: Der
Funktion-Platz nimmt einen nackten Namen, einen gestapelten Satz von Namen
oder ein LAMBDA, das einen Wert pro Gruppe zurückgibt; PERCENTOF gibt einen
Bruch zurück, den Sie als Prozent formatieren müssen; und Filterarray muss
so hoch sein wie die Daten. Lesen Sie die Fehler als Karte — #CALC! heißt
die Funktion, #FIELD! heißt die Überschriften, #SPILL! heißt der Platz,
#VALUE! heißt die Filterhöhe — und die letzte Ausrede, eine PivotTable zu
behalten (dass sie das Ausgefallene kann), fällt größtenteils weg.
Wie ExcelMaster hilft
Die fortgeschrittenen Argumente sind mächtig und unnachgiebig — ein
Array-zurückgebendes LAMBDA, und das Ganze ist #CALC!. Sagen Sie
ExcelMaster „Umsatz jeder Region, ihr Anteil am Gesamt und die
Bestellanzahl", und es schreibt
=GROUPBY(C2:C1000; D2:D1000; HSTACK(SUM; PERCENTOF; COUNT)) und formatiert die
Prozentspalte für Sie. Bitten Sie um „einen gewichteten Durchschnittspreis je
Kategorie, gewichtet nach Menge", und es baut das LAMBDA. Und wenn eine Formel
#CALC! oder #VALUE! zurückgibt, liest es den Fehler so, wie dieser Leitfaden
es tut — es zeigt auf genau das falsche Argument, statt Sie Semikolons zählen zu
lassen.
Häufige Fragen
Wie zeige ich Prozent vom Gesamt in GROUPBY oder PIVOTBY?
Nutzen Sie PERCENTOF im Funktion-Platz:
=GROUPBY(C2:C1000; D2:D1000; PERCENTOF). Es teilt die Summe jeder Gruppe durch
die Gesamtsumme. Das Ergebnis ist ein Bruch wie 0,32, wenden Sie also
Prozentformatierung (Strg+Umschalt+%) auf den Überlauf an, um 32 % zu sehen.
Um Betrag und Anteil nebeneinander zu zeigen, nutzen Sie HSTACK(SUM; PERCENTOF).
Kann GROUPBY mehr als eine Aggregation auf einmal zurückgeben?
Ja — stapeln Sie die Funktionen:
=GROUPBY(C2:C1000; D2:D1000; HSTACK(SUM; AVERAGE; COUNT)) gibt drei Spalten
zurück. Jede Funktion wird zu einer Ergebnisspalte, in dieser Reihenfolge. Das
unterscheidet sich vom Verbreitern des Bereichs Werte, das andere Spalten auf
dieselbe Weise aggregiert; das Stapeln von Funktionen aggregiert dieselbe Spalte
auf mehrere Weisen.
Wie nutze ich eine eigene Formel als Aggregation?
Setzen Sie ein LAMBDA in den Funktion-Platz. Es erhält die Werte jeder Gruppe
als Array und muss einen einzigen Wert zurückgeben:
=GROUPBY(C2:C1000; D2:D1000; LAMBDA(v; MAX(v)-MIN(v))). Das deckt gewichtete
Mittelwerte, Spannweiten und alles ab, was die eingebaute Liste „Zusammenfassen
nach" nicht kann. Gibt das LAMBDA ein Array statt eines Werts zurück, erhalten
Sie #CALC!.
Wie filtere ich, welche Zeilen GROUPBY aggregiert?
Nutzen Sie das Argument Filterarray (das siebte):
=GROUPBY(C2:C1000; D2:D1000; SUM; ; ; ; (A2:A1000="West")) aggregiert nur die
passenden Zeilen. Die Bedingung wird wie ein FILTER-
Test geschrieben, und das Wahrheitswert-Array muss so hoch sein wie Ihre Daten —
eine Diskrepanz gibt #VALUE! zurück.
Warum gibt mein GROUPBY #CALC! oder #FIELD! zurück?
#CALC! heißt fast immer, dass das Argument Funktion falsch ist: SUM() statt
SUM oder ein LAMBDA, das ein Array statt eines Werts pro Gruppe zurückgibt.
#FIELD! heißt meist, dass das Argument Feldüberschriften nicht stimmt — setzen
Sie es auf 1, wenn Ihre Bereiche Überschriftszellen einschließen, damit die
Beschriftungen nicht als Daten behandelt werden. #SPILL! hat nichts mit Logik zu
tun; es heißt, dass Zellen darunter oder rechts das Ergebnis blockieren.
Getestet in
Getestet in: Excel 365 (Windows 11) — zuletzt geprüft am 18.07.2026.
Verwandte Anleitungen: Excel GROUPBY · Excel PIVOTBY · Excel LAMBDA · LAMBDA-Helfer · Excel FILTER
