Die FILTER-Funktion in Excel ist ein mächtiges Werkzeug, um Datensätze basierend auf bestimmten Kriterien zu extrahieren. Sie ermöglicht es, Listen dynamisch zu filtern und Ergebnisse in einem neuen Bereich auszugeben, ohne die Originaldaten zu verändern. Doch was, wenn Sie nicht nur nach einem einzelnen Kriterium filtern möchten, sondern Daten auswählen wollen, die **gleichzeitig** mehrere Bedingungen erfüllen, die sich auf **zwei oder mehr verschiedene Felder** beziehen? Genau darum geht es in dieser umfassenden Anleitung.
Was ist die FILTER-Funktion?
Bevor wir uns den komplexeren Szenarien zuwenden, wollen wir kurz die Grundlagen der FILTER-Funktion wiederholen. Die Syntax ist denkbar einfach:
=FILTER(Array, Include, [If_empty])
- Array: Der Bereich oder die Matrix, die Sie filtern möchten.
- Include: Ein Boolescher Ausdruck (WAHR/FALSCH) oder ein Array von Booleschen Werten, das angibt, welche Zeilen oder Spalten beibehalten werden sollen. Eine Zeile/Spalte wird nur dann beibehalten, wenn der entsprechende Wert im Include-Array WAHR ist.
- [If_empty]: (Optional) Der Wert, der zurückgegeben wird, wenn die Filterung keine Ergebnisse liefert. Wenn dieser Wert nicht angegeben wird und kein Ergebnis gefunden wird, gibt Excel den Fehler #CALC! zurück.
Ein einfaches Beispiel: Stellen Sie sich vor, Sie haben eine Tabelle mit Kundendaten, einschließlich Name, Stadt und Bestellwert. Um alle Kunden aus „Berlin” zu filtern, würden Sie eine Formel wie diese verwenden:
=FILTER(A1:C100, B1:B100="Berlin", "Keine Ergebnisse")
Hier ist A1:C100
der gesamte Datenbereich, B1:B100="Berlin"
die Bedingung (Stadt muss „Berlin” sein) und „Keine Ergebnisse” der Wert, der angezeigt wird, wenn keine Übereinstimmungen gefunden werden.
Die Herausforderung: Filtern nach Kriterien aus zwei Feldern
Die eigentliche Herausforderung besteht darin, Daten zu filtern, die **zwei oder mehr Bedingungen gleichzeitig** erfüllen, die sich auf unterschiedliche Spalten beziehen. Nehmen wir an, Sie möchten in unserer Kundentabelle alle Kunden aus „Berlin” filtern, deren Bestellwert über 100 Euro liegt. Wie bewerkstelligen wir das?
Die Antwort liegt in der Verwendung von logischen Operatoren innerhalb der FILTER-Funktion. Insbesondere benötigen wir den UND-Operator (*
) und den ODER-Operator (+
).
Der UND-Operator (*)
Der UND-Operator (*
) stellt sicher, dass **alle** Bedingungen erfüllt sein müssen, damit eine Zeile in das Ergebnis aufgenommen wird. In unserem Beispiel mit den Kunden aus Berlin und Bestellwerten über 100 Euro würde die Formel wie folgt aussehen:
=FILTER(A1:C100, (B1:B100="Berlin") * (C1:C100>100), "Keine Ergebnisse")
Betrachten wir die Formel genauer:
(B1:B100="Berlin")
: Diese Bedingung prüft, ob die Stadt in Spalte B gleich „Berlin” ist. Sie gibt ein Array mit WAHR/FALSCH-Werten zurück.(C1:C100>100)
: Diese Bedingung prüft, ob der Bestellwert in Spalte C größer als 100 ist. Auch hier wird ein Array mit WAHR/FALSCH-Werten zurückgegeben.(B1:B100="Berlin") * (C1:C100>100)
: Der*
-Operator multipliziert diese beiden Arrays. In Excel wird WAHR als 1 und FALSCH als 0 behandelt. Die Multiplikation ergibt also:- 1 * 1 = 1 (WAHR * WAHR = WAHR) – Beide Bedingungen sind erfüllt.
- 1 * 0 = 0 (WAHR * FALSCH = FALSCH) – Eine Bedingung ist erfüllt, die andere nicht.
- 0 * 1 = 0 (FALSCH * WAHR = FALSCH) – Eine Bedingung ist erfüllt, die andere nicht.
- 0 * 0 = 0 (FALSCH * FALSCH = FALSCH) – Keine der Bedingungen ist erfüllt.
Nur wenn beide Bedingungen WAHR sind, ist das Ergebnis der Multiplikation WAHR (1). Die FILTER-Funktion behält also nur die Zeilen bei, für die das Ergebnis der Multiplikation WAHR ist.
Der ODER-Operator (+)
Der ODER-Operator (+
) stellt sicher, dass **mindestens eine** der Bedingungen erfüllt sein muss, damit eine Zeile in das Ergebnis aufgenommen wird. Nehmen wir an, Sie möchten alle Kunden filtern, die entweder aus „Berlin” stammen **oder** einen Bestellwert über 1000 Euro haben. Die Formel wäre:
=FILTER(A1:C100, (B1:B100="Berlin") + (C1:C100>1000), "Keine Ergebnisse")
Hier funktioniert der +
-Operator ähnlich wie der *
-Operator, aber mit Addition statt Multiplikation. Ergebnisse:
- 1 + 1 = 2 (WAHR + WAHR = WAHR) – Beide Bedingungen sind erfüllt.
- 1 + 0 = 1 (WAHR + FALSCH = WAHR) – Eine Bedingung ist erfüllt, die andere nicht.
- 0 + 1 = 1 (FALSCH + WAHR = WAHR) – Eine Bedingung ist erfüllt, die andere nicht.
- 0 + 0 = 0 (FALSCH + FALSCH = FALSCH) – Keine der Bedingungen ist erfüllt.
Beachten Sie, dass in Excel jeder Wert ungleich Null als WAHR interpretiert wird. Daher werden Zeilen, bei denen beide Bedingungen WAHR sind (Ergebnis 2), ebenfalls beibehalten.
Komplexere Szenarien: Kombination aus UND und ODER
Die FILTER-Funktion wird noch leistungsfähiger, wenn Sie UND- und ODER-Operatoren kombinieren. Dies ermöglicht es Ihnen, hochspezifische Filter zu erstellen.
Beispiel: Sie möchten alle Kunden filtern, die entweder aus „Berlin” stammen und einen Bestellwert über 100 Euro haben **oder** aus „München” stammen und einen Bestellwert über 500 Euro haben. Die Formel wäre:
=FILTER(A1:C100, ((B1:B100="Berlin") * (C1:C100>100)) + ((B1:B100="München") * (C1:C100>500)), "Keine Ergebnisse")
Es ist wichtig, Klammern zu verwenden, um die Reihenfolge der Operationen zu steuern. Zuerst werden die Bedingungen innerhalb der einzelnen Klammerpaare ausgewertet (mit dem UND-Operator), und dann werden die Ergebnisse mit dem ODER-Operator verknüpft.
Dynamische Kriterien: Bezugnahme auf Zellen
Um die FILTER-Funktion noch flexibler zu gestalten, können Sie die Kriterien dynamisch gestalten, indem Sie anstelle von festen Werten auf Zellen verweisen. Anstatt beispielsweise B1:B100="Berlin"
zu schreiben, können Sie B1:B100=E1
schreiben, wobei E1 die Zelle ist, in der „Berlin” steht. Dies ermöglicht es dem Benutzer, den Filterwert zu ändern, ohne die Formel selbst bearbeiten zu müssen.
Beispiel:
- Zelle E1: „Berlin”
- Zelle E2: 100
Die Formel wäre dann:
=FILTER(A1:C100, (B1:B100=E1) * (C1:C100>E2), "Keine Ergebnisse")
Fazit
Die FILTER-Funktion in Excel ist ein unglaublich vielseitiges Werkzeug zur Datenanalyse. Durch die Kombination mit logischen Operatoren (UND und ODER) und dynamischen Zellbezügen können Sie komplexe Filter erstellen, die Daten basierend auf mehreren Kriterien aus verschiedenen Feldern extrahieren. Experimentieren Sie mit verschiedenen Kombinationen, um das volle Potenzial dieser leistungsstarken Funktion auszuschöpfen. Sie werden schnell feststellen, dass sie ein unverzichtbares Werkzeug in Ihrem Excel-Arsenal ist.