Menu

Excel FILTER-Funktion: mehrere Kriterien, UND und ODER

=FILTER(A2:C7;B2:B7="North") liefert jede Zeile aus A2:C7, deren Region North ist, und das Ergebnis aktualisiert sich, wenn sich die Daten ändern. Mehrere Kriterien mit * und +, if_empty, #KALK! und das Ergebnis sortieren.

Jede Tabelle auf dieser Seite ist live: Ändere eine Zahl oder eine Formel, und sie rechnet neu.

=FILTER(A2:C7;B2:B7="North") liefert jede Zeile aus A2:C7, deren Region in Spalte B North ist. Du tippst die Formel in eine Zelle, und die passenden Zeilen laufen in die Zellen darunter und rechts daneben über. Ändere eine Region in Spalte B in North, oder ein North in South, und die Liste aktualisiert sich. FILTER heißt in deutschem Excel genauso; die Tabelle zeigt die Formel mit Kommas, =FILTER(A2:C7,B2:B7="North"). Du kannst die Formeln in der Tabelle auch deutsch eingeben, mit Semikolons.

Zeilen mit der Region North
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200FinnNorth60
5DanEast150
6EveSouth95
7FinnNorth60
Klicke auf eine Zelle, um ihre Formel zu sehen. Ändere eine Zahl oder eine Formel, und die Tabelle rechnet neu.Im deutschen Excel: =FILTER(A2:C7;B2:B7="North")

Nur E2 enthält eine Formel. Die anderen gefüllten Zellen in E:G sind ihr übergelaufenes Ergebnis: Klick auf F3, und du siehst, dass sie zur Formel in E2 gehört. Steht in diesem Bereich schon etwas, zeigt FILTER statt der Zeilen #ÜBERLAUF! (englisch #SPILL!; siehe #ÜBERLAUF!-Fehler). Die Tabelle zeigt die englischen Fehlernamen.

Syntax von FILTER

=FILTER(array, include, [if_empty])
  • array ist das, was zurückkommen soll: eine Spalte, mehrere Spalten oder die ganze Tabelle.
  • include ist eine Bedingung mit einem WAHR oder FALSCH pro Zeile von array, etwa B2:B7="North". Sie muss genau so viele Zeilen haben wie array. (Um stattdessen Spalten zu filtern, gibst du ihr einen Wert pro Spalte.)
  • if_empty ist das, was angezeigt wird, wenn keine Zeile passt. Ohne dieses Argument ist ein leeres Ergebnis der Fehler #KALK! (englisch #CALC!).

FILTER braucht Excel 2021, Excel 2024 oder Microsoft 365. In Excel 2019 und älter zeigt es #NAME?, und dort filterst du mit der Schaltfläche Filtern auf der Registerkarte Daten. Google Sheets hat FILTER ebenfalls, und dort kann jede Bedingung auch als eigenes Argument angegeben werden.

Textvergleiche unterscheiden keine Groß- und Kleinschreibung: B2:B7="north" passt auf North. FILTER behält die Zeilen in ihrer ursprünglichen Reihenfolge; das Ergebnis zu sortieren ist ein eigener Schritt, der weiter unten gezeigt wird.

Nach einem Zellwert filtern

Steht "North" fest in der Formel, musst du die Formel jedes Mal bearbeiten. Setz den Wert in eine Zelle und vergleiche stattdessen mit der Zelle. Wähle in F1 eine andere Region, und das Ergebnis zieht mit:

Region aus einer Dropdown-Liste
E3
ABCDEFG
1NameRegionSalesRegionNorth
2AnnNorth120
3BenSouth80AnnNorth120
4CaraNorth200CaraNorth200
5DanEast150FinnNorth60
6EveSouth95
7FinnNorth60
Klicke auf eine Zelle, um ihre Formel zu sehen. Ändere eine Zahl oder eine Formel, und die Tabelle rechnet neu.Im deutschen Excel: =FILTER(A2:C7;B2:B7=F1;"No sales")

West hat keine Zeilen, also zeigt die Auswahl den Text aus if_empty, No sales.

Zahlen funktionieren genauso. C2:C7>=F1 mit 100 in F1 behält jede Zeile mit einem Umsatz von mindestens 100, und C2:C7>F1 macht daraus "echt größer als".

FILTER mit mehreren Kriterien (UND)

Um eine Zeile nur zu behalten, wenn zwei Bedingungen beide zutreffen, multiplizierst du sie. Das liefert die North-Zeilen mit einem Umsatz über 100:

North und Umsatz über 100
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Klicke auf eine Zelle, um ihre Formel zu sehen. Ändere eine Zahl oder eine Formel, und die Tabelle rechnet neu.Im deutschen Excel: =FILTER(A2:C7;(B2:B7="North")*(C2:C7>100))

Ann (120) und Cara (200) kommen durch. Finn ist North, aber seine 60 liegen nicht über 100, also bleibt er draußen.

Warum multiplizieren: Jede Bedingung ist eine Spalte aus WAHR und FALSCH, und beim Rechnen zählt WAHR als 1 und FALSCH als 0. Eine Zeile bekommt nur dann 1, wenn jeder Faktor 1 ist, also wirkt * wie UND. Jede Bedingung braucht ihre eigenen Klammern, und du kannst beliebig viele aneinanderhängen: (B2:B7="North")*(C2:C7>100)*(C2:C7<500).

UND() funktioniert hier nicht. UND(B2:B7="North";C2:C7>100) macht aus dem ganzen Bereich ein einziges WAHR oder FALSCH statt eines pro Zeile, also bekommt FILTER die falsche Form.

FILTER mit ODER

Addiere die Bedingungen, um eine Zeile zu behalten, wenn mindestens eine davon zutrifft. Das liefert die Zeilen North und East:

North oder East
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200DanEast150
5DanEast150FinnNorth60
6EveSouth95
7FinnNorth60
Klicke auf eine Zelle, um ihre Formel zu sehen. Ändere eine Zahl oder eine Formel, und die Tabelle rechnet neu.Im deutschen Excel: =FILTER(A2:C7;(B2:B7="North")+(B2:B7="East"))

Eine Zeile, die beide Bedingungen erfüllt, ergibt 2, und FILTER behält jede Zeile, deren Ergebnis nicht 0 ist, also wirkt die Summe wie ODER. Du kannst beides mischen: ((B2:B7="North")+(B2:B7="East"))*(C2:C7>100) bedeutet (North oder East) und über 100. Hier liefert das Ann, Cara und Dan.

FILTER liefert #KALK!, wenn nichts passt

Kommt keine Zeile durch, hat FILTER nichts zurückzugeben. Ohne drittes Argument ist das der Fehler #KALK!; mit einem bekommst du deinen eigenen Text:

Keine Zeile ist West
E2
ABCDEF
1NameRegionSalesNo if_emptyWith if_empty
2AnnNorth120#CALC!No match
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
#CALC! Die Berechnung hat kein Ergebnis, zum Beispiel ein FILTER, der nichts findet.Im deutschen Excel: =FILTER(A2:A7;B2:B7="West")

E2 zeigt #CALC! (in deutschem Excel #KALK!) und F2 zeigt No match. Ändere B3 von South in West, und beide Formeln liefern Ben. Um gar nichts anzuzeigen, nimmst du eine leere Zeichenfolge: =FILTER(A2:A7;B2:B7="West";"").

Diese Tabelle zeigt auch, wie du eine einzelne Spalte filterst: array ist A2:A7, also kommen nur Namen zurück. Um einige Spalten einer Tabelle zu bekommen, aber nicht alle, packst du das Ergebnis in SPALTENWAHL (englisch CHOOSECOLS): =SPALTENWAHL(FILTER(A2:C7;B2:B7="North");1;3) liefert Namen und Umsätze ohne die Region. SPALTENWAHL braucht Microsoft 365 oder Excel 2024.

Das Ergebnis von FILTER sortieren

FILTER liefert die Zeilen in der Reihenfolge, in der sie in der Tabelle stehen. Pack es in SORTIEREN (englisch SORT), um das Ergebnis zu ordnen: hier die North-Zeilen nach Umsatz, der größte zuerst. Die 3 ist die Spalte des Ergebnisses, nach der sortiert wird, und -1 bedeutet absteigend.

North-Zeilen, höchster Umsatz zuerst
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120CaraNorth200
3BenSouth80AnnNorth120
4CaraNorth200FinnNorth60
5DanEast150
6EveSouth95
7FinnNorth60
Klicke auf eine Zelle, um ihre Formel zu sehen. Ändere eine Zahl oder eine Formel, und die Tabelle rechnet neu.Im deutschen Excel: =SORTIEREN(FILTER(A2:C7;B2:B7="North");3;-1)

Cara (200) kommt zuerst, dann Ann (120) und Finn (60). Um nur die obersten Zeilen zu liefern, packst du es noch einmal in ÜBERNEHMEN (englisch TAKE): =ÜBERNEHMEN(SORTIEREN(FILTER(A2:C7;B2:B7="North");3;-1);2) behält die ersten beiden (ÜBERNEHMEN braucht Microsoft 365 oder Excel 2024). SORTIEREN und SORTIERENNACH behandelt die übrigen Sortieroptionen.

Zeilen filtern, die Text enthalten

FILTER hat keine Platzhalter, also sucht B2:B7="*th*" nach dem Text *th* selbst. Um Zeilen zu behalten, deren Name einen Text enthält, prüfst du jede Zelle mit SUCHEN, das eine Position liefert, wenn der Text gefunden wird, und sonst einen Fehler, und packst das in ISTZAHL:

Namen, die "an" enthalten
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80DanEast150
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Klicke auf eine Zelle, um ihre Formel zu sehen. Ändere eine Zahl oder eine Formel, und die Tabelle rechnet neu.Im deutschen Excel: =FILTER(A2:C7;ISTZAHL(SUCHEN("an";A2:A7)))

Das liefert Ann und Dan: SUCHEN ignoriert die Schreibweise, also passt "an" auch auf das An von Ann. In deutschem Excel lautet die Formel =FILTER(A2:C7;ISTZAHL(SUCHEN("an";A2:A7))). Nimm FINDEN statt SUCHEN für einen Treffer mit Groß- und Kleinschreibung.

Übung: FILTER mit zwei Bedingungen

Du bist dran
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Klicke auf eine Zelle, um ihre Formel zu sehen. Ändere eine Zahl oder eine Formel, und die Tabelle rechnet neu.

Du bist dran: Gib in E2 die Zeilen (alle drei Spalten) der Vertreter aus der Region South mit einem Umsatz über 85 zurück.

Übung: FILTER nach einer Zelle, mit Ersatzwert

Du bist dran
F3
ABCDEF
1NameRegionSalesRegionNorth
2AnnNorth120
3BenSouth80Names
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Klicke auf eine Zelle, um ihre Formel zu sehen. Ändere eine Zahl oder eine Formel, und die Tabelle rechnet neu.

Du bist dran: Liste in F3 die Namen (nur Spalte A) der Vertreter aus der Region, die in F1 steht. Gibt es keine, zeig None.

Häufige Fehler mit FILTER

  • Bereiche unterschiedlicher Höhe. =FILTER(A2:C7;B2:B6="North") prüft 5 Zeilen für eine Tabelle mit 6 Zeilen, und Excel liefert #WERT! (englisch #VALUE!). Lass include in denselben Zeilen beginnen und enden wie array.
  • Nullen, wo die Quelle leer ist. FILTER liefert 0 für eine leere Zelle in array. Ersetze die leeren Zellen vor dem Filtern durch leeren Text: =FILTER(WENN(A2:C7="";"";A2:C7);B2:B7="North").
  • Ganze Spalten. =FILTER(A:C;B:B="North") funktioniert, aber steht die Formel selbst in den Spalten A bis C, verweist sie auf sich selbst. Setz das Ergebnis neben die Tabelle, oder nimm einen festen Bereich wie A2:C1000.
  • Anführungszeichen um Zahlen. C2:C7>"100" vergleicht Zahlen mit Text und behält nichts. Schreib C2:C7>100.
  • Die Schaltfläche Filtern erwarten. FILTER kopiert passende Zeilen an eine neue Stelle und lässt die Tabelle in Ruhe. Um Zeilen in der Tabelle selbst auszublenden, nimmst du Daten > Filtern.

Häufig gestellte Fragen

Wie verwende ich die FILTER-Funktion in Excel?

Gib ihr die Zeilen, die zurückkommen sollen, und eine Bedingung für jede Zeile: =FILTER(A2:C7;B2:B7="North") liefert jede Zeile aus A2:C7, in der Spalte B North ist. Tippe die Formel in eine Zelle; die passenden Zeilen laufen in die Zellen darunter und rechts daneben über.

Wie filtere ich in Excel mit mehreren Kriterien?

Multipliziere die Bedingungen für UND und addiere sie für ODER: =FILTER(A2:C7;(B2:B7="North")*(C2:C7>100)) behält Zeilen, die beide erfüllen, =FILTER(A2:C7;(B2:B7="North")+(B2:B7="East")) behält Zeilen, die eine davon erfüllen. Jede Bedingung braucht ihre eigenen Klammern.

Warum liefert FILTER #KALK!?

Weil keine Zeile gepasst hat und du kein drittes Argument angegeben hast. Gib eines an, um etwas anderes zu zeigen: =FILTER(A2:C7;B2:B7="West";"No match") zeigt No match statt des Fehlers.

Welche Excel-Versionen haben die FILTER-Funktion?

Excel 2021, Excel 2024 und Microsoft 365, dazu Excel für das Web. Excel 2019 und älter haben sie nicht und zeigen #NAME?; dort brauchst du die Schaltfläche Filtern auf der Registerkarte Daten oder eine Matrixformel mit INDEX und KKLEINSTE.

Wie liefere ich mit FILTER nur einige Spalten?

Filtere nur die Spalten, die du brauchst, oder pack das Ergebnis in SPALTENWAHL (Microsoft 365 oder Excel 2024): =SPALTENWAHL(FILTER(A2:C7;B2:B7="North");1;3) liefert die erste und die dritte Spalte der passenden Zeilen.

Illustration der Programmiersprachen bei Coddy

Lerne mit Coddy zu programmieren

LOS GEHT'S