Dynamische Bereiche arbeiten zusammen. Das sind zum Beispiel „FILTER“, „SORTIEREN“, „EINDEUTIG“ und „SEQUENZ“.
FAQ – Welche Fragen werden in diesem Artikel beantwortet?
Q: Was ist ein dynamisches Array und wie unterscheidet es sich von einer herkömmlichen Formel?
A: Eine dynamische Array-Formel liefert mehrere Ergebnisse, die automatisch auf benachbarte Zellen übertragen werden. In diesem Artikel wird erläutert, was das bedeutet und wie sich dadurch die Art und Weise ändert, wie Sie Tabellenkalkulationen erstellen.
Q: Wie funktioniert FILTER und wann sollte ich es anstelle einer Pivot-Tabelle verwenden?**
A: Mit der Funktion „FILTER" können Sie Zeilen extrahieren, die einer oder mehreren Bedingungen entsprechen. Die Funktion wird live aktualisiert, sobald sich Ihre Daten ändern. In diesem Artikel wird die Syntax erläutert, das Filtern nach mehreren Bedingungen erklärt und es werden häufige Anwendungsfälle vorgestellt.
Q: Was bewirken SORTIEREN und SORTIERENNACH und wie unterscheiden sie sich voneinander?**
A: „SORTIEREN“ sortiert einen Bereich nach einer seiner eigenen Spalten, „SORTIERENNACH“ hingegen nach einem völlig separaten Bereich. Beide Funktionen werden anhand praktischer Beispiele erläutert.
Was sind dynamische Bereiche (Arrays)
Vor der Einführung dynamischer Arrays in Excel 365 im Jahr 2019 konnte eine Formel immer nur einen einzigen Wert zurückgeben. Wenn Sie zehn Ergebnisse benötigten, brauchten Sie zehn Formeln. Dynamische Array-Formeln heben diese Einschränkung auf. Eine einzige Formel kann einen ganzen Bereich von Ergebnissen zurückgeben, die von Excel automatisch in die umgebenden Zellen eingefügt werden – ein Vorgang, der als Spilling bezeichnet wird.
Sie geben die Formel in eine Zelle ein. Die Ergebnisse erweitern sich nach unten, nach rechts oder in beide Richtungen auf so viele Zellen, wie erforderlich sind. Ändern sich die Quelldaten, wird der Ausbreitungsbereich automatisch aktualisiert.
Der Spill-Referenzoperator:
Sie können auf einen gesamten Spaltenbereich verweisen, indem Sie hinter der Zellenadresse oben links das Zeichen „#" setzen. Befindet sich Ihre „FILTER“-Formel in „A2“, so bezieht sich „A2#“ auf alle Zellen, in die sie überläuft. So können Sie dynamische Array-Formeln übersichtlich miteinander verknüpfen.
Überlauf-Fehler (Spill Error)
Wenn der Überlaufbereich nicht leer ist, gibt die Formel den Fehler #SPILL! zurück. Löschen Sie die blockierenden Zellen, damit die Formel sofort ausgewertet wird.
Beispiel aus der Praxis
Ihr Chef bittet Sie um eine Liste aller Umsätze aus der Region North, die nach Betrag sortiert ist und in der Spalte „Vertriebsmitarbeiter“ keine Duplikate enthält. In älteren Excel-Versionen dauert dies 20 Minuten: Filter anwenden, kopieren und einfügen, sortieren, Duplikate entfernen und im nächsten Monat die Schritte wiederholen. In Excel 365 genügt hingegen eine einzige Formel, die sich bei jeder Datenänderung automatisch aktualisiert.
Diese Formel kombiniert vier dynamische Array-Funktionen: FILTER, SORTEN, EINDEUTIG und SEQUENZ. In diesem Artikel erfahren Sie, wie jede einzelne dieser Funktionen arbeitet und wie Sie sie kombinieren können. Dabei wird durchgehend dieselbe Verkaufstabelle verwendet, sodass Sie immer genau nachvollziehen können, was die Formel tut.
Die Daten mit denen wir arbeiten
Alle Beispiele in diesem Artikel basieren auf dieser Verkaufstabelle. Sie ist als Excel-Tabelle mit dem Namen „Sales“ definiert.
| Datum | Verkäufer | Region | Betrag |
|---|---|---|---|
| 2026-01-03 | Anna Müller | North | 1.250 |
| 2026-01-05 | Peter Bauer | South | 890 |
| 2026-01-07 | Anna Müller | East | 2.100 |
| 2026-01-09 | Klaus Weber | North | 3.400 |
| 2026-01-12 | Sara Klein | South | 1.750 |
| 2026-01-14 | Anna Müller | North | 980 |
| 2026-01-18 | Peter Bauer | North | 2.650 |
💡 Tipp: Wandeln Sie Ihre Daten immer in eine Excel-Tabelle um, bevor Sie dynamische Array-Funktionen verwenden. Markieren Sie dazu Ihre Daten und drücken Sie die Tastenkombination „Strg+T”. So beziehen Ihre Formeln automatisch neue Zeilen mit ein, wenn Sie Daten hinzufügen.
Was die einzelnen Funktionen bewirken – in einfachen Worten
Bevor Sie auch nur eine einzige Formel aufschreiben, finden Sie hier eine einfache Übersicht.
| Funktion | Funktionsweise |
|---|---|
FILTER |
Zeigt nur die gewünschten Zeilen an |
SORTIEREN |
Sortiert die Ergebnisse |
EINDEUTIG |
Entfernt Duplikate |
SEQUENZ |
Erstellt automatisch eine Liste mit Zahlen oder Datumsangaben |
Je ein Satz. Das ist wirklich alles, was sie sind. Sehen wir sie uns nun in Aktion an.
FILTER — Zeigt nur die gewünschten Zeilen an
FILTER nimmt Ihre Tabelle und gibt nur die Zeilen zurück, die einer Bedingung entsprechen. Das Ergebnis wird automatisch auf so viele Zellen wie nötig verteilt – Sie müssen die Formel niemals nach unten ziehen.
Syntax:
=FILTER(Matrix; einschließen; [wenn_leer])
Beispiel: Nur Umsätze aus der Region North anzeigen.
=FILTER(Sales; Sales[Region]="North")
Ergebnis: Es werden automatisch nur die vier Zeilen für „North“ angezeigt. Wenn Sie der Tabelle einen neuen „North“-Verkauf hinzufügen, erscheint dieser sofort im Ergebnis.
Bedeutung der Argumente:
Sales— die gesamte Tabelle, die durchsucht werden sollSales[Region]="North"— die Bedingung: nur Zeilen, bei denen „Region“ gleich „North“ ist[wenn_leer]— optional: Was soll angezeigt werden, wenn keine Zeilen übereinstimmen (mehr dazu weiter unten)
Was geschieht, wenn keine Zeilen übereinstimmen?
Wenn Ihre Bedingung mit keiner der Möglichkeiten übereinstimmt, gibt FILTER standardmäßig einen Fehler zurück. Verwenden Sie stets das dritte Argument, um dies sauber zu handhaben:
=FILTER(Sales; Sales[Region]="North"; "Keine Ergebisse gefunden")
Anstelle einer unschönen Fehlermeldung wird in der Zelle nun „Keine Ergebnisse gefunden“ angezeigt.
SORTIEREN — sortiert die Ergebnisse
SORTIEREN Akzeptiert einen beliebigen Bereich und gibt diesen sortiert zurück. Die Funktion funktioniert sowohl eigenständig als auch in Verbindung mit FILTER einwandfrei.
Syntax:
=SORTIEREN(Matrix; [Sortierindex]; [Sortierreihenfolge])
Beispiel — sortiert Sie die gesamte Verkaufstabelle nach Betrag, beginnend mit dem höchsten Wert:
=SORTIEREN(Sales; 4; -1)
Was die Argumente bedeuten:
Sales— die Tabelle, die sortiert werden soll4— Nach Spalte 4 (Betrag) sortieren-1— absteigende Reihenfolge (größte Werte zuerst). Verwenden Sie1für aufsteigende Reihenfolge (kleinste Werte zuerst).
💡 Tipp: Zählen Sie die Spaltennummer von links in Ihrer Matrix, nicht ab Spalte A des Arbeitsblatts. In unserer Verkaufstabelle lautet die Spaltennummer für „Datum“ 1, für „Verkäufer“ 2, für „Region“ 3 und für „Betrag“ 4.
EINDEUTIG — Entfernt Duplikate
EINDEUTIG gibt eine Liste zurück, in der jeder Wert nur einmal vorkommt. Dies eignet sich ideal zum Erstellen von Dropdown-Listen, zusammenfassenden Berichten und überall dort, wo Sie wissen müssen, welche eindeutigen Werte in einer Spalte vorhanden sind.
Syntax:
=EINDEUTIG(Matrix; [anhand_Spalte]; [einmaliges_Vorkommen])
Beispiel — Jeden Verkäufer nur einmal auflisten:
=EINDEUTIG(Sales[Salesperson])
Ergebnis: Anna Müller, Peter Bauer, Klaus Weber, Sara Klein — jeder Name kommt genau einmal vor, in der Reihenfolge, in der er zum ersten Mal in der Tabelle erscheint.
Beispiel: listet alle eindeutigen Kombinationen aus Vertriebsmitarbeiter und Region auf:
=EINDEUTIG(Sales[[Salesperson]:[Region]])
Wenn Sie mehrere Spalten übergeben, behandelt EINDEUTIG jede Zeile als eine Kombination und entfernt doppelte Zeilen.
SEQUENZ — Erstellt automatisch eine Liste mit Zahlen oder Datumsangaben
SEQUENZ erzeugt automatisch eine Zahlenreihe. Das klingt einfach, ist aber in Kombination mit Datumsangaben oder anderen Funktionen äußerst leistungsstark.
Syntax:
=SEQUENZ(Zeilen, [Spalten], [Anfang], [Schritt])
Beispiel — erzeugt die Zahlen von 1 bis 10:
=SEQUENZ(10)
Ein weiteres nützliches Beispiel – erstellt alle ersten Tage jedes Monats im Jahr 2026:
=SEQUENZ(12; 1; DATUM(2026;1;1); 30)
Dies generiert 12 Datumsangaben, beginnend mit dem 1. Januar 2026, wobei jeweils 30 Tage dazwischen liegen. Formatieren Sie die Ergebniszellen als Datumsangaben, und Sie erhalten eine dynamische monatliche Kalenderüberschrift.
💡 Tipp: SEQUENZ ist die Funktion, auf die Sie zurückgreifen, wenn Sie etwas erstellen möchten, das zählt, wiederholt oder schrittweise vorgeht – ohne Werte manuell eingeben zu müssen.
Zwei Funktionen kombinieren
Jetzt beginnt das eigentliche Spiel. Funktionen für dynamische Arrays sind so konzipiert, dass sie ineinander verschachtelt werden können. Die innere Funktion wird zuerst ausgeführt und übergibt ihr Ergebnis an die äußere Funktion.
FILTER + SORTEREN — gefilterte Ergebnisse in der Reihenfolge
Nur Umsätze aus der Region North anzeigen, sortiert nach Betrag (vom höchsten zum niedrigsten):
=SORTIEREN(FILTER(Sales; Sales[Region]="North"); 4; -1)
Wie man dies von innen nach außen liest:
FILTER(Sales; Sales[Region]="North")— behält nur die „North" Zeilen beiSORTIEREN(...; 4; -1)— sortiert diese Zeilen nach Betrag in absteigender Reihenfolge
FILTER + EINDEUTIG — Eindeutige Werte aus gefilterten Daten
Zeigt alle Vertriebsmitarbeiter an, die mindestens einen Verkauf in der Region North getätigt haben – ohne Doppelnennungen:
=EINDEUTIG(FILTER(Sales[Salesperson]; Sales[Region]="North"))
Wie man dies von innen nach außen liest:
FILTER(Sales[Salesperson], Sales[Region]="North")— gibt die Spalte „Vertriebsmitarbeiter“ nur für die Zeilen mit dem Wert „North“ zurückEINDEUTIG(...)— entfernt doppelte Namen aus diesem Ergebnis
SORTIEREN + EINDEUTIG — sortierte Liste mit eindeutigen Elementen
Listet alle Verkäufer alphabetisch auf, wobei jeder Name nur einmal vorkommen darf:
=SORTIEREN(EINDEUTIG(Sales[Salesperson]))
Einfach und übersichtlich. EINDEUTIG entfernt zunächst Duplikate, anschließend sortiert SORTIEREN das Ergebnis von A bis Z.
Die Kombination aller vier – die Komplettlösung
Die Abbildung zu Beginn dieses Artikels veranschaulicht die Auswertung dieser Formel durch Excel Schritt für Schritt von innen nach außen. Dabei erhält jede Funktion das Ergebnis der ihr übergeordneten Funktion und gibt ihr eigenes Ergebnis an die nächste Funktion weiter. Die äußerste Funktion wird immer als Letzte ausgeführt..
Nun möchte ich zurück zur Frage aus der Einleitung kommen, nämlich eine Liste aller Verkäufe in der Region North, sortiert nach Betrag, ohne doppelte Vertriebsmitarbeiter.
=SORTIEREN(FILTER(Sales, Sales[Region]="North"); 4; -1)
Damit erhalten Sie bereits die Umsätze im Norden, sortiert nach Betrag. Wenn Sie zusätzlich nur die einzelnen Vertriebsmitarbeiter mit ihrem höchsten Umsatz anzeigen möchten, kombinieren Sie alle Schritte:
=SORTIEREN(EINDEUTIG(FILTER(Sales[[Salesperson]:[Amount]]; Sales[Region]="North")); 2; -1)
Wie man dies von innen nach aussen liest:
FILTER(Sales[[Salesperson]:[Amount]]; Sales[Region]="North")— behält für die Zeilen „North“ nur die Spalten „Verkäufer“ und „Betrag“ beiEINDEUTIG(...)— entfernt doppelte Zeilen für VertriebsmitarbeiterSORTIEREN(..., 2, -1)— sortiert nach Spalte 2 (Betrag) in absteigender Reihenfolge
Die Formel sieht zwar lang aus, besteht aber lediglich aus drei einfachen Ideen, die aneinandergereiht sind. Wenn man sie von innen nach außen liest, wirkt sie nicht mehr einschüchternd.
Ein praktischer Tipp pro Funktion
FILTER — mehrere Bedingungen
Verwenden Sie "*" für UND-Bedingungen und "+" für ODER-Bedingungen:
=FILTER(Sales; (Sales[Region]="North") * (Sales[Amount]>1000))
Dies gibt die Umsätze in North zurück, bei denen der Betrag ebenfalls größer als 1.000 ist.
=FILTER(Sales; (Sales[Region]="North") + (Sales[Region]="East"))
Dies gibt die Umsätze entweder aus North oder aus East zurück.
SORTIEREN — nach mehreren Spalten sortieren
Nach Region von A bis Z sortieren, anschließend innerhalb jeder Region nach Betrag (vom höchsten zum niedrigsten):
=SORTIEREN(Sales; {3;4}; {1;-1})
Mit den geschweiften Klammern {} können Sie mehrere Sortierspalten und Sortierreihenfolgen gleichzeitig übergeben.
EINDEUTIG — ganze Zeilen vergleichen
Standardmäßig vergleicht EINDEUTIG die gesamte Zeile. Wenn Sie eine einzelne Spalte übergeben, wird nur diese Spalte verglichen. Übergeben Sie mehrere Spalten, um eindeutige Kombinationen zu finden:
=EINDEUTIG(Sales[[Region]:[Salesperson]])
Hier werden alle eindeutigen Kombinationen aus Region und Vertriebsmitarbeiter angezeigt. Das ist nützlich, um zu sehen, welcher Vertriebsmitarbeiter in welcher Region tätig ist.
SEQUENZ — Verwenden Sie diese Funktion zusammen mit HEUTE (), um dynamische Datumsbereiche zu erstellen.
Die letzten 7 Tage automatisch generieren:
=SEQUENZ(7, 1, HEUTE()-6, 1)
Bei jedem Öffnen der Datei wird HEUTE () aktualisiert, um das aktuelle 7-Tage-Fenster anzuzeigen. Formatieren Sie die Zellen als Datumsangaben.
Hinweis: Die Funktion HEUTE () ist eine volatile Funktion. Das bedeutet, dass sie bei jeder Aktion im Arbeitsblatt / Arbeitsmappe – beispielsweise bei der Eingabe von Daten – neu berechnet wird. Die Verwendung einer großen Anzahl solcher Funktionen kann das Arbeitsblatt / Arbeitsmappe stark belasten, da dann viele Berechnungen gleichzeitig durchgeführt werden müssen.