Geht es um das Filtern von Daten, nutzen viele noch den Befehl AutoFilter. Er filtert die Originaltabelle nach den gesuchten Daten und blendet nicht passende Zeilen aus. Der Nachteil: Werden neue Filterkriterien gesetzt, geht das vorherige Filterergebnis verloren.
Hier schafft die Funktion FILTER Abhilfe. Sie extrahiert die gesuchten Daten aus der Originaltabelle und gibt sie an anderer Stelle im Arbeitsblatt oder in der Arbeitsmappe aus. Somit lassen sich die Ergebnisse mehrerer Filtervorgänge auf einem Blatt anordnen.
Die FILTER-Funktion gehört zu den dynamischen Arrayfunktionen und ist seit mehreren Jahren in den aktuellen Excel-Versionen verfügbar. In diesem Beitrag zeige ich anhand von sechs Szenarien, wie sie aufgebaut wird und was sie leistet.
Die in der folgenden Abbildung gezeigte Tabelle hat den Namen Daten. Sie diente auch im Beitrag zum Sortieren vom 26. Februar 2025 als Datenbasis.
Aus der Tabelle sollen an separater Stelle alle Datensätze gefiltert werden, die:
Los geht es mit einem Klassiker: die Daten sollen nach einem Kriterium gefiltert werden.
Hier im Beispiel soll nach den Bundesländern gefiltert werden, die zur Kategorie A gehören.
Dazu gebe ich rechts neben der Originaltabelle in Zelle H5 folgende Formel ein:
=FILTER(Daten; Daten[Kategorie]=“A“)
Matrix: Der zu filternde Bereich, hier im Beispiel die Tabelle Daten.
Einschließen: Der Bereich, in dem das Suchkriterium vorkommt, der Vergleichsoperator sowie das Suchkriterium – hier im Beispiel wird in der Spalte Kategorie der Tabelle Daten nach dem „A“ gesucht.
Wenn_leer: Hier kann eine Anweisung angegeben werden für den Fall, dass es keine Filterergebnisse gibt. Dieses dritte Argument erspart die Funktion WENNFEHLER.
Im ersten Beispiel entspricht die Abfolge der gefilterten Daten der Originaltabelle: sie sind nach Bundesländern sortiert.
Anschaulicher ist es, wenn innerhalb der Daten, die zur Kategorie A gehören, die Anzeige nach Leistung sortiert wird, und zwar absteigend.
Dazu wird die FILTER-Formel aus Beispiel 1 mit der Funktion SORTIEREN kombiniert. Die komplette Formel lautet =SORTIEREN(FILTER(Daten;Daten[Kategorie]=“A“);2;-1)
Mehr zur Funktion SORTIEREN gibt es in diesem Beitrag vom 26. Februar 2025.
Die gefilterten Daten, die zur Kategorie A gehören, werden zusätzlich nach Leistung absteigend sortiert
Die Angabe der Kategorie A in der Formel führt zum gewünschten Ergebnis.
Was aber, wenn nach der Kategorie B oder C gefiltert werden soll? Dann müsste jedes Mal die Formel geändert werden. Sicher keine gute Idee!
Bisher war das Suchkriterium ein Text. Es kann natürlich auch eine Zahl sein.
Die Formel lautet demzufolge =SORTIEREN(FILTER(Daten; Daten[Standorte]>AB2); 4; -1)
Die Daten filtern, die in der Spalte Standort einen Wert über 500 haben und das Ergebnis absteigend nach Anzahl der Standorte sortieren
In den bisherigen Beispielen war beim Filtern jeweils ein Kriterium zu beachten. Was aber, wenn es mehrere sind?
Im folgenden Beispiel sollen die Bundesländer herausgefiltert werden, die eine Leistung von mehr als 5.000 MW (Zelle I3) und mehr als 500 Standorte (Zelle K3) haben.
Die Formel lautet =FILTER(Daten;(Daten[Leistung (MW)]>I3)*(Daten[Anzahl WEA]>K3))
Im nächsten Beispiel reicht es, wenn eines der Suchkriterien zutrifft.
Es sollen die Bundesländer herausgefiltert werden, die ENTWEDER eine Leistung von mehr als 5.000 MW (Zelle P3) ODER und mehr als 500 Standorte (Zelle R3) haben.
Die Formel lautet =FILTER(Daten;(Daten[Leistung (MW)]>P3)+(Daten[Anzahl WEA]>R3))
Da es nur ein einschränkendes Kriterium gibt, sind es mehr Filterergebnisse.
Oft bestehen die Tabellen, die gefiltert werden sollen, aus einer Vielzahl von Spalten. Doch in den meisten Fällen werden nur die Informationen aus einigen wenigen Spalten im Filterergebnis gebraucht.
Wer sein Wissen zu den Arrayfunktionen gezielt erweitern will und daher hier im Blog alle Beiträge zu dem Thema finden möchte, gibt einfach oben rechts in das Suchfeld Arrayfunktionen ein.
Über den Autor