Excel-TippMit der Funktion FILTER() Daten selektieren und ausgeben
Was die Funktion FILTER() bewirkt – ein Beispiel
Mithilfe der Excel-Funktion FILTER() können Sie einen Bereich von Daten anhand der von Ihnen definierten Kriterien filtern und die zutreffenden Einträge an eine bestimmte Stelle im Tabellenblatt ausgeben. FILTER() ist hierbei eine dynamische Funktion. Das heißt, ändert sich die Liste oder ein Suchkriterium, dann werden die gefilterten Einträge automatisch entsprechend aktualisiert.
Schauen wir uns die Funktionsweise von FILTER() an einem Beispiel an. In der folgenden Abbildung finden Sie im linken Bereich (A1:C11) eine Liste mit Datensätzen, die nun dynamisch nach bestimmten Kriterien gefiltert werden soll. Das Suchkriterium befindet sich im Bereich (F1:F2) und die zutreffenden Datensätze sollen im Ergebnisbereich – beginnend bei Zelle F4 – ausgegeben werden.
Um nur die Listeneinträge der Mitarbeitenden im Ergebnisbereich darzustellen, die in der IT arbeiten, erfassen Sie die folgende Formel in die Zelle F5:
=FILTER(A2:C11;C2:C11=F2;"")
Sie bekommen daraufhin automatisch nur die Mitarbeitenden aus der Abteilung „IT“ im Ergebnisbereich dargestellt.
Verändern Sie das Suchkriterium in Zelle F2 in „Revision“, wird das Ergebnis im Bereich F5:H7 sofort angepasst; Ergebnis wäre dann: Ludwig – Hofmann – Revision.
Die Parameter der Funktion FILTER()
Schauen wir uns im nächsten Schritt die Syntax von FILTER() etwas genauer an, um die Funktionsweise von FILTER() besser zu verstehen. Die Syntax lautet wie folgt: =FILTER(Matrix;Einschließen;Wenn_leer)
- Matrix = Entspricht dem Datenbereich (Liste), der alle Einträge enthält, jedoch ohne die Kopfzeile. Im Beispiel also der Zellbereich A2:C11.
- Einschließen = Definiert, welche Spalte der Matrix geprüft und mit welchem Suchkriterium die Einträge verglichen (gefiltert) werden sollen. C2:C11 entspricht im Beispiel der Spalte in der Matrix (Liste), in der das Suchkriterium vorkommen kann. Durch C2:C11=F2 definieren Sie, dass jeder Eintrag im Bereich C2:C11 mit dem Suchkriterium in der Zelle F2 verglichen wird. Nur für die Einträge im Bereich C2:C11, die dem Suchkriterium entsprechen, wird dann der entsprechende Listeneintrag im Ergebnisbereich ausgegeben.
- Wenn_leer, optionale Angabe = Mit diesem Argument definieren Sie die Ausgabe, wenn das Suchkriterium in der Liste nicht gefunden wird. In Beispiel ist definiert, dass kein Text ausgegeben wird: "". Definieren Sie hier keine Angabe, dann wird die Fehlermeldung #KALK! als Ergebnis zurückgegeben, falls kein entsprechender Eintrag in der Liste vorhanden ist.
So können Sie FILTER() einsetzen bei mehreren Suchkriterien
Im ersten Beispiel haben wir nur ein Suchkriterium für das dynamische Filtern verwendet. Sie können jedoch auch mehrere Kriterien definieren. In diesem Fall müssen Sie den Multiplikationsoperator (*) im Argument Einschließen verwenden.
Beispiel: Sie wollen alle Werte in der Liste (A2:C11) zurückgeben, die in der Abteilung "Technik" beschäftigt sind UND mit dem Nachnamen "Meier" heißen. Das zweite Suchkriterium für den Nachnamen fügen Sie in unserem Beispiel in der Zelle G2 ein. Die angepasste Formel lautet dann:
=FILTER(A2:C11;(C2:C11=F2)*(B2:B11=G2);"")
Wichtig: Die Formeln für die einzelnen Suchkriterien werden hierbei in Klammern () eingeschlossen.
Filtern mit einem dynamischen Listenbereich
Wenn Sie den Listenbereich A1:C11 als Excel-Tabelle definieren, dann wird die Filterfunktion immer automatisch auf die gesamte Tabelle angewendet. Sie können also am Ende der Tabelle weitere Datensätze oder Einträge einfügen, die dann beim Filtern sofort berücksichtigt werden. Die Formel für die Filterfunktion erweitert sich automatisch. Aus A2:C11 wird dann zum Beispiel A2:C14.
Hinweis: Die Funktion FILTER() filtert Datensätze, wie Sie es vielleicht mit den Filtereinstellungen in Tabellen kennen. In der vorigen Abbildung können Sie den Bereich A2:C14 filtern durch Ihre Auswahl in der Titelzeile A1:C1 und dort die Dropdown-Funktion zum Filtern.
Der besondere Vorteil der Funktion FILTER() ist, dass Sie damit die Ausgabe an eine andere Stelle bewirken (im Beispiel ab Zelle F4).
Mit Filtern nur ausgewählte Spalten anzeigen
Wenn Sie Daten aus einer Tabelle oder Liste mit der Filterfunktion auswählen, werden bei der Ausgabe immer alle Spalten aus dem Bezug Matrix dargestellt, die das gewünschte Kriterium (Einschließen) erfüllen. Im bisherigen Beispiel werden also im Ergebnisbereich F bis G immer die drei Spalten der ursprünglichen Tabelle A bis C angezeigt.
Wenn Sie nur ausgewählte Spalten anzeigen lassen wollen, müssen Sie die Funktion FILTER() zweifach anwenden. Zunächst filtern Sie das Kriterium, dann die gewünschten Spalten. Die entsprechende Funktion für das Beispiel oben lautet für den Fall, dass Sie nur die Spalte mit den Nachnamen anzeigen lassen wollen:
=FILTER(FILTER(Tabelle2;(Tabelle2[Abteilung]=F2));{0.1.0})
Zunächst filtern Sie mit der inneren Filterfunktion die Tabelle nach dem Kriterium Abteilung = Technik.
Dann geben Sie in der äußeren Filterfunktion mit dem Filter-Parameter {0.1.0} an, dass nur die zweite der drei Spalten ausgegeben werden soll. Beachten Sie, dass bei der Eingabe der Punkt (.) als Trennzeichen verwendet wird, wenn dieser nicht als Dezimaltrennzeichen dient.