Kurzfassung —
FILTERbeantwortet eine andere Frage alsSVERWEIS. Ein Nachschlagen liefert einen Treffer;FILTERliefert jede Zeile, die Ihre Bedingung erfüllt, und lässt das Ergebnis als Überlauf (Spill) in einen Bereich laufen, der sich selbst aktualisiert. Syntax:=FILTER(Array; einschließen; [wenn_leer]). Drei Dinge bringen jeden ins Stolpern: Ohne Treffer kommt#CALC!, außer Sie geben das dritte Argument an (=FILTER(data; cond; "Kein Treffer")); für kombinierte Bedingungen multiplizieren Sie Arrays für UND und addieren sie für ODER ((A=x)*(B=y)) — niemalsUND()/ODER(); und ein blockierter Überlaufbereich erzeugt#SPILL!. Verfügbar in Excel 365 und 2021+.
=FILTER(Sales, Region = "West")
=FILTER(Sales, (Region = "West") * (Amount > 1000), "Kein Treffer")
Zwanzig Jahre lang hieß „alle Zeilen, in denen Region = West" eine Hilfsspalte,
AutoFilter und Kopieren-Einfügen — oder eine fragile Matrixformel. FILTER macht
daraus einen Ausdruck, der neu rechnet, sobald sich die Quelldaten ändern. Weil
er ein Array statt eines einzelnen Werts zurückgibt, verhält er sich aber
anders als ein Nachschlagen — und die Fehlermeldungen sind ebenfalls neu.
Hinweis: In einer deutschen Excel-Oberfläche heißt die Funktion ebenfalls FILTER. Verwandt: UNIQUE = EINDEUTIG, SORT = SORTIEREN, SORTBY = SORTIERENNACH. Die Formeln unten nutzen die englischen Namen — sie zeigen dasselbe Verhalten.
Was Sie lernen
- Warum
FILTEReine Abfrage ist (viele zurückgeben) und ein Nachschlagen ein Finden (einen zurückgeben) - Der UND/ODER-Trick: Arrays multiplizieren und addieren — nicht
UND()/ODER() - Warum ein leeres Ergebnis
#CALC!erzeugt und das eine Argument, das es behebt - Was
#SPILL!wirklich auslöst und wie Sie es beheben - Die „Königsformel"
=SORT(UNIQUE(FILTER(...)))für saubere, lebende Listen
Das mentale Modell: FILTER ist eine Abfrage, kein Nachschlagen
Wer SQL kennt: FILTER ist die WHERE-Klausel — gib mir jede Zeile, für die das
zutrifft. SVERWEIS und XVERWEIS sind das
Gegenteil — sie laufen von oben nach unten und stoppen beim ersten Treffer.
Genau dieser Unterschied erklärt jede Überraschung von FILTER. Ein Nachschlagen
gibt einen Wert in eine Zelle. FILTER gibt einen Block von Zeilen zurück und
lässt sie von der Eingabezelle aus nach unten (und rechts) überlaufen. Kein
Ziehen, kein Matrix-Abschluss: Sie schreiben es einmal, Excel passt die Größe an
die Daten an.
' Ein Treffer, eine Zelle:
=XLOOKUP("West", Region, Sales) ' die erste West-Zeile
' Jeder Treffer, als Überlauf:
=FILTER(Sales, Region = "West") ' alle West-Zeilen, so viele es gibt
Stellen Sie sich das zweite Argument, einschließen, als Spalte aus WAHR/FALSCH
in Datenhöhe vor. Region = "West" vergleicht nicht eine Zelle — es vergleicht
die ganze Region-Spalte auf einmal und erzeugt ein Array aus WAHR/FALSCH.
FILTER behält die Zeilen, in denen der Wert WAHR ist.
Die Regel, die alles freischaltet: für UND multiplizieren, für ODER addieren
Das ist das Nützlichste an FILTER, und die meisten Anleitungen verstecken es.
Ihr Instinkt schreibt UND(Region="West"; Amount>1000). Das funktioniert
nicht — UND() schrumpft das ganze Array auf ein einziges WAHR/FALSCH, also
liefert FILTER alles oder nichts. Das Argument einschließen muss ein Array
bleiben. Also rechnen Sie die Bool'sche Logik selbst:
' UND — Bedingungen multiplizieren (WAHR*WAHR = 1, alles *FALSCH = 0)
=FILTER(Sales, (Region = "West") * (Amount > 1000), "Kein Treffer")
' ODER — Bedingungen addieren (FALSCH+FALSCH = 0, alles > 0 wird behalten)
=FILTER(Sales, (Region = "West") + (Region = "East"), "Kein Treffer")
Multiplikation ist logisches UND, weil WAHR*WAHR = 1 und alles *FALSCH = 0.
Addition ist logisches ODER, weil eine Zeile überlebt, sobald ein Term 1 ist.
Klammern Sie jede Bedingung — der Vergleich muss vor dem Rechnen passieren. Sitzt
das einmal, sind beliebig komplexe Kriterien nur Arithmetik mit Arrays aus 1 und
0.
Warum FILTER #CALC! erzeugt — und das Argument, das es verhindert
Das ist die Nummer-eins-Meldung „FILTER funktioniert nicht". Wenn keine Zeile
passt, ist das Ergebnis ein leeres Array, und Excel kann „nichts" nicht in einer
Zelle anzeigen — also kommt der Fehler #CALC!. Kein Fehler in Ihrer Logik;
so sieht ein leeres Array aus. Die Lösung ist das optionale dritte Argument,
wenn_leer:
=FILTER(Sales, Region = "North") ' -> #CALC! wenn keine North-Zeilen
=FILTER(Sales, Region = "North", "Kein Treffer") ' -> "Kein Treffer" (sauber)
=FILTER(Sales, Region = "North", "") ' -> leer, falls bevorzugt
Machen Sie wenn_leer zur Gewohnheit bei jedem FILTER, der ein Dashboard
oder eine andere Formel speist. Ein überraschendes #CALC! pflanzt sich fort —
alles, was auf den Überlauf zeigt, erbt den Fehler. Mit wenn_leer wird aus
„keine Treffer" ein Wert, den Sie kontrollieren, statt eines roten Fehlers, der
den Rest des Blatts zerlegt.
#SPILL! geht um die Nachbarn, nicht um die Formel
FILTER braucht leere Zellen zum Überlaufen. Sitzt irgendetwas — ein verirrter
Wert, eine verbundene Zelle, ein altes Label — in dem Bereich, den das Ergebnis
belegen will, kann Excel das Array nicht ablegen und gibt #SPILL! zurück.
Die Formel ist in Ordnung; das Ziel ist blockiert. Klicken Sie die Zelle an,
und Excel markiert den angestrebten Überlaufbereich. Räumen Sie ihn frei, und das
Ergebnis erscheint. Zwei Praxisregeln: Setzen Sie ein FILTER nie direkt über
bestehende Daten, und füllen Sie keine ganze Spalte (A:A) mit etwas, das in eine
Überlaufzone fällt.
Ein Überlaufergebnis mit dem #-Operator referenzieren
Weil die Ausgabegröße mit den Daten wechselt, referenzieren Sie sie nicht mit
einem festen Bereich. Sie zeigen mit dem #-Operator auf den Überlauf: Steht
Ihr FILTER in E2, dann bedeutet E2# „der ganze überlaufende Bereich, so groß
er gerade ist". So speisen Sie ein Diagramm, ein COUNTA oder ein Dropdown, das
mitwachsen und -schrumpfen soll:
=COUNTA(E2#) ' wie viele Zeilen FILTER zurückgab, live
=SUM(F2#) ' Summe einer überlaufenden Beträge-Spalte
Die Königsformel: SORT, UNIQUE und FILTER zusammen
FILTER ist deshalb so wichtig, weil er sich verschachteln lässt. Packen Sie ihn
in UNIQUE und
SORT, und Sie erhalten eine einzige,
selbstpflegende Formel, die die meisten in drei manuellen Schritten bauen:
=SORT(UNIQUE(FILTER(Customer, Region = "West")))
Von innen gelesen: FILTER holt die West-Kunden, UNIQUE entfernt Duplikate,
SORT sortiert alphabetisch — und das Ganze läuft neu, sobald ein Verkauf
dazukommt. Das ist die kanonische Quelle für ein dynamisches Dropdown oder eine
Dashboard-Liste. Keine Hilfsspalten, kein Aktualisieren-Knopf, kein VBA.
Die Abwägung: Wann FILTER den alten Weg ersetzt
Wenn Sie eine Hilfsspalte anlegen und den AutoFilter einschalten, nur um passende
Zeilen herauszukopieren, ist das das Signal für FILTER. Tippen Sie eine
{=...}-Matrixformel zum Herausziehen einer Teilmenge, ist dieses Muster auf 365
ein Jahrzehnt veraltet. Die ehrliche Ausnahme: Auf riesigen Blättern rechnet
FILTER mit der ganzen Arbeitsmappe neu — für einen einmaligen Auszug aus einer
Million Zeilen sind AutoFilter oder Power Query schlanker. Für alles, was live
bleiben soll, gewinnt FILTER.
Wie ExcelMaster hilft
Viel FILTER-Arbeit ist eigentlich „bau mir die lebende Ansicht": alle
überfälligen offenen Rechnungen, nach Betrag sortiert, auf einem eigenen Blatt.
ExcelMaster schreibt diese Formel — samt UND/ODER-Logik und der
wenn_leer-Absicherung — aus einer Beschreibung in normaler Sprache, platziert
sie, wo Sie wollen, und prüft, dass der Überlaufbereich frei ist. Die Logik
behalten Sie; die Array-Mechanik, die FILTER von Hand heikel macht, übernimmt es.
Häufige Fragen
Warum gibt meine FILTER-Formel #CALC! zurück?
Weil keine Zeile passte und ein leeres Array nicht in einer Zelle dargestellt
werden kann. Fügen Sie das dritte Argument wenn_leer hinzu:
=FILTER(data; Bedingung; "Kein Treffer"). Das ersetzt den Fehler durch einen
Wert Ihrer Wahl.
Wie filtere ich nach mehreren Kriterien in Excel?
Halten Sie das Argument einschließen als Array und rechnen Sie Bool'sch:
multiplizieren für UND — (A=x)*(B=y) — und addieren für ODER — (A=x)+(B=y).
Nutzen Sie nicht UND()/ODER(); sie schrumpfen das Array auf einen Wert.
Was verursacht den #SPILL!-Fehler bei FILTER?
Etwas blockiert die Zellen, in die das Ergebnis überlaufen will — ein Wert, eine verbundene Zelle oder Formatierung im Überlaufbereich. Klicken Sie die Formelzelle an, um den markierten Bereich zu sehen, räumen Sie ihn frei, und das Ergebnis erscheint.
Funktioniert FILTER in Excel 2016 oder 2019?
Nein. FILTER und die anderen dynamischen Array-Funktionen brauchen Excel 365
oder Excel 2021+. Auf 2016/2019 nutzen Sie stattdessen AutoFilter, eine
Matrixformel oder Power Query.
Getestet in
Getestet in: Excel 365 (Windows 11) — zuletzt geprüft am 16.06.2026.
Verwandte Anleitungen: Excel UNIQUE · Excel SORT · XLOOKUP in Excel
