Wie kann man Zeilen in Excel basierend auf einem Zellenwert automatisch filtern?
In Excel bietet die Standard-Filterfunktion eine schnelle Möglichkeit, Daten basierend auf von Ihnen manuell ausgewählten Kriterien zu filtern. In einigen Arbeitsabläufen möchten Sie jedoch möglicherweise, dass sich Ihre Daten automatisch aktualisieren, sobald Sie einen Wert oder eine Bedingung in einer bestimmten Zelle eingeben. Wenn Sie zum Beispiel möchten, dass der Datensatz sofort basierend auf einem Schlüsselwort oder Parameter, den Sie in einer anderen Zelle eingeben, gefiltert wird, geht dies über die nativen Excel-Filterfunktionen hinaus. Diese Art von dynamischem oder „automatischem Filter“ kann Ihren Datenprüfprozess optimieren, die Zeit für manuelles Filtern reduzieren und die Genauigkeit erhöhen, indem Filterkriterien direkt an Zellenwerte gekoppelt werden. Wenn Sie ein solches automatische Filtermechanismus basierend auf Zelleneingaben implementieren möchten, stehen mehrere praktische Lösungen zur Verfügung.
Automatisches Filtern von Zeilen basierend auf einem Zellenwert mit einer Excel-Formellösung
Automatisches Filtern von Zeilen basierend auf dem eingegebenen Zellenwert mit VBA-Code
Automatisches Filtern von Zeilen basierend auf einem Zellenwert mit einer Excel-Formellösung
Wenn Sie eine nicht-makrobasierte Methode bevorzugen oder aufgrund von Sicherheitseinstellungen oder Zusammenarbeitsbedenken keine VBA verwenden können, können Sie mit einer Kombination aus Formeln und integrierten Filterfunktionen in Excel einen "Autofilter"-Effekt erstellen. Diese Lösung funktioniert gut für Microsoft 365, Microsoft 2019 und spätere Versionen, die dynamische Array-Funktionen wie FILTER
unterstützen. Sie ist besonders geeignet, um sie mit Kollegen zu teilen, die möglicherweise keine Makros aktiviert haben, oder für einfache Vorlagen, bei denen installierungsfreie Automatisierung erforderlich ist.
1. Wählen Sie eine leere Zelle aus, in der Ihre gefilterten Ergebnisse beginnen sollen (z.B. platzieren Sie den Cursor in Zelle G2).
=FILTER(A2:C20, (A2:A20=E1) * (B2:B20=E2), "No match")
2. Nachdem Sie die Formel in G2 eingegeben haben, drücken Sie die Eingabetaste. Der gefilterte Datensatz wird in einem Bereich beginnend bei Zelle G2 angezeigt. Wenn Sie die Werte in E1 oder E2 ändern, wird die gefilterte Liste sofort aktualisiert.
Dieses Formelbeispiel geht davon aus, dass Ihre Hauptdaten sich in A2:C20 befinden und die Filterkriterien in E1 (entspricht Spalte A) und E2 (entspricht Spalte B) eingegeben werden. Wenn Sie nur nach einer Spalte filtern möchten, können Sie die logische Bedingung entsprechend vereinfachen. Die Meldung "Keine Übereinstimmung" erscheint, wenn keine Zeile den eingegebenen Kriterien entspricht.
Tipp: Die FILTER-Funktion ist in Microsoft 365 und einigen Versionen von Microsoft 19+ verfügbar. Für ältere Excel-Versionen ist dynamisches Filtern über Formeln weniger einfach, und Sie sollten Hilfsspalten in Kombination mit herkömmlichen AutoFiltern oder erweiterten Filterfunktionen in Betracht ziehen. Überprüfen Sie Ihre Version, um sicherzustellen, dass sie kompatibel ist.
Bei Verwendung dieser Lösung belegen die Ergebnisse einen neuen Bereich auf Ihrem Arbeitsblatt, was dazu beiträgt, Ihre Rohdaten zu erhalten. Der ursprüngliche Datensatz bleibt jedoch unberührt – Filter gelten nur für die angezeigten Ergebnisse, nicht für den Status der Quelldatenanzeige.
Potenzielle Fehler: Wenn Sie einen #NAME? oder #SPILL! Fehler sehen, stellen Sie sicher, dass Sie eine kompatible Excel-Version verwenden und dass es keine zusammengeführten Zellen im Ergebnisbereich gibt. Vermeiden Sie außerdem, andere Daten im Formular-Bereich zu platzieren, um Blockaden zu verhindern.
Automatisches Filtern von Zeilen basierend auf dem eingegebenen Zellenwert mit VBA-Code
Angenommen, Sie arbeiten mit einem Datensatz und möchten die Einträge automatisch basierend auf Kriterien filtern, die Sie in bestimmte Zellen eingeben. Zum Beispiel, wenn Sie Ihre gewünschten Bedingungen in Zelle E1 und E2 ausfüllen, wird das Datenblatt automatisch so gefiltert, dass es diesen Werten entspricht, wie hier dargestellt:
Um das Filtern auf diese Weise zu automatisieren, können Sie eine einfache VBA-Lösung einrichten. Diese Methode wird jedes Mal ausgelöst, wenn Sie den Wert in Ihren festgelegten Filterzellen aktualisieren. Sie ist besonders nützlich für Dashboards, interaktive Berichte oder Vorlagen, in denen Benutzer dynamisches Filtern von zentralen Parameterzellen erwarten.
1. Gehen Sie zum Arbeitsblatt, in dem Sie das automatische Filtern von Zeilen basierend auf in Zellen eingegebenen Eingaben automatisieren möchten.
2. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte am unteren Rand des Excel-Fensters und wählen Sie Code anzeigen aus dem Kontextmenü. Fügen Sie in dem erscheinenden Fenster „Microsoft Visual Basic for Applications“ den folgenden VBA-Code in den großen leeren Bereich (üblicherweise als Codefenster oder Arbeitsblattmodul bezeichnet) ein, wie hier gezeigt:
VBA-Code: Automatisches Filtern von Daten entsprechend dem eingegebenen Zellenwert
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160606
If Target.Address = Range("E2").Address Then
Range("A1:C20").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("E1:E2")
End If
End Sub
Hinweis: In diesem VBA-Code bezieht sich A1:C20 auf Ihren zu filternden Datenbereich. E2 ist die Zelle, in die Sie den Filterwert (Ihre Zielkriterien) eingeben, und E1:E2 sind die Zellen, die als Filterbedingungen verwendet werden. Sie können diese Bereiche bei Bedarf ändern – stellen Sie sicher, dass sie genau widerspiegeln, wo sich Ihre Daten und Filterkriterien für Ihre spezifische Arbeitsblattstruktur befinden. Außerdem ist es am besten, zusammengeführte Zellen zu vermeiden und sicherzustellen, dass Ihr Datenbereich Kopfzeilen enthält, falls diese für eine genaue Filterung benötigt werden.
3. Geben Sie nun Ihre Filterbedingungen in Zelle E1 und/oder E2 ein oder ändern Sie diese. Sobald Sie die Eingabetaste drücken, wird der VBA-Code automatisch ausgeführt und filtert den festgelegten Datenbereich, sodass nur Zeilen angezeigt werden, die Ihren Eingabekriterien entsprechen.
Falls der Filter nach dem Eingeben eines Werts nicht sofort zu funktionieren scheint, stellen Sie sicher, dass die Makrofunktionalität in Ihrer Arbeitsmappe aktiviert ist, und überprüfen Sie, ob die Bereiche im VBA-Code korrekt zu Ihrer aktuellen Arbeitsblattstruktur passen. In Mehrbenutzerszenarien erinnern Sie andere daran, dass Makros für die ordnungsgemäße Funktion dieses Features aktiviert sein müssen.
Diese VBA-Methode ist besonders vorteilhaft für dynamische parametergesteuerte Dashboards, interaktive Vorlagen für die Dateneingabe oder jedes Szenario, in dem die manuelle erneute Anwendung von Filterkriterien ineffizient wäre. Beachten Sie jedoch, dass Benutzer Probleme bekommen könnten, wenn sie Makros deaktivieren, und VBA-basierte Lösungen sind spezifisch für die Datei, in der der Code hinzugefügt wurde.
Wenn Ihr Szenario häufige Änderungen der Kriterien durch mehrere Benutzer erfordert, die unterschiedliche Excel-Sicherheitseinstellungen haben könnten, oder wenn Sie Ihre Datei weitgehend teilen möchten, sollten Sie alternative formelbasierte Lösungen oder Excel-Add-ins in Betracht ziehen.
Demo: Automatisches Filtern von Zeilen basierend auf dem eingegebenen Zellenwert mit VBA-Code
Filtern von Daten nach mehreren Kriterien oder anderen spezifischen Bedingungen, wie z.B. nach Textlänge, nach Groß-/Kleinschreibung usw. Wenn Sie fortgeschrittenere Filteroperationen durchführen müssen – wie das Kombinieren mehrerer Filterkriterien, Filtern nach der Länge des Textes, Unterscheidung nach Groß-/Kleinschreibung oder Filtern basierend auf bestimmten Zeiträumen – können Excels integrierte Filter unzureichend sein. In solchen Fällen bietet Kutools für Excel's Super Filter-Funktion eine praktische Möglichkeit, komplexe Filteranforderungen einfach und effizient zu verwalten. Diese Funktion hilft Ihnen:
Kutools für Excel: Ausgestattet mit über 300 praktischen Excel-Add-ins, voll funktionsfähige kostenlose Testversion für 30 Tage. Jetzt herunterladen und kostenlos testen! |
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!