Mithilfe der FILTER-Funktion können Sie einen Bereich von Daten anhand der von Ihnen definierten Kriterien filtern.
Im folgenden Beispiel wird die Formel = FILTER(A5:D20;C5:C20=H2; "") verwendet, um alle Datensätze für "Apfel" zurückzugeben, wie in Zelle H2 ausgewählt. Wenn keine Äpfel vorhanden sind, wird eine leere Zeichenfolge ("") zurückgegeben.
Die FILTER-Funktion filtert eine Matrix anhand eines booleschen Arrays ("Wahr"/"Falsch").
=FILTER(Matrix;einschließen;[wenn_leer])
Argument |
Beschreibung |
Matrix Erforderlich |
Die Matrix oder der Bereich, die/der gefiltert werden soll |
einschließen Erforderlich |
Ein boolesches Array, dessen Höhe oder Breite mit der Matrix identisch ist |
[wenn_leer] Optional |
Der Wert, der zurückgegeben werden soll, wenn alle Werte im eingeschlossenen Array leer sind (Filter gibt nichts zurück) |
Hinweise:
-
Ein Array kann man sich als eine Zeile von Werten, eine Spalte von Werten oder eine Kombination aus Zeilen und Spalten von Werten vorstellen. Im vorstehenden Beispiel ist das Quellarray für die FILTER-Formel der Bereich "A5:D20".
-
Die FILTER-Funktion gibt ein Array zurück, das überläuft, wenn dies das Endergebnis einer Formel ist. Das bedeutet: Wenn Sie die EINGABETASTE drücken, erstellt Excel dynamisch den Arraybereich von entsprechender Größe. Wenn Ihre unterstützenden Daten in einer Excel-Tabelle enthalten sind, ändert das Array automatisch seine Größe, während Sie Daten im Arraybereich hinzufügen oder daraus entfernen, sofern Sie strukturierte Verweise verwenden. Weitere Details finden Sie in diesem Artikel zu Verhalten von übergelaufenem Array.
-
Wenn Ihr Dataset möglicherweise einen leeren Wert zurückgibt, verwenden Sie das 3. Argument ([wenn_leer]). Andernfalls wird ein #KALK!-Fehler zurückgegeben, weil Excel derzeit keine leeren Arrays unterstützt.
-
Wenn ein Wert des einschließen-Arguments ein Fehler ist (#NV, #WERT! usw.) oder nicht in einen booleschen Wert konvertiert werden kann, gibt die FILTER-Funktion einen Fehler zurück.
-
Excel unterstützt nur bedingt dynamische Arrays zwischen Arbeitsmappen, und dieses Szenario wird nur unterstützt, wenn beide Arbeitsmappen geöffnet sind. Wenn Sie die Quellarbeitsmappe schließen, geben alle verknüpften dynamischen Matrixformeln beim Aktualisieren einen #BEZUG!-Fehler zurück.
Beispiele
FILTER zur Rückgabe mehrerer Kriterien
In diesem Fall wird der Multiplikationsoperator (*) verwendet, um alle Werte im Arraybereich (A5:D20) zurückzugeben, die "Apfel" lauten UND in der Region "Ost" enthalten sind: =FILTER(A5:D20;(C5:C20=H1)*(A5:A20=H2);"").
FILTER zur Rückgabe mehrerer Kriterien und zum Sortieren
Verwendung von FILTER mit der SORTIEREN-Funktion: Gibt alle Werte im Arraybereich (A5:D20) zurück, die "Apfel" lauten UND in der Region "Ost" enthalten sind. Anschließend wird "Einheiten" in absteigender Reihenfolge sortiert: =SORTIEREN(FILTER(A5:D20;(C5:C20=H1)*(A5:A20=H2);"");4,-1)
In diesem Fall wird die FILTER-Funktion zusammen mit dem Additionsoperator (+) verwendet, um alle Werte im Arraybereich (A5:D20) zurückzugeben, die "Apfel" lauten ODER in der Region "Ost" enthalten sind. Anschließend wird "Einheiten" in absteigender Reihenfolge sortiert: =SORTIEREN(FILTER(A5:D20;(C5:C20=H1)+(A5:A20=H2);"");4;-1).
Beachten Sie, dass keine der Funktionen absolute Verweise erfordert, weil sie nur in einer einzigen Zelle stehen und die Ergebnisse in benachbarte Zellen überlaufen.
Benötigen Sie weitere Hilfe?
Sie können jederzeit einen Experten in der Excel Tech Community fragen oder Unterstützung in den Communities erhalten.