Löschen von Zeilen basierend auf einem Zellenwert (oder einer Bedingung) in Excel (Einfache Anleitung)

Wenn Sie mit großen Datensätzen arbeiten, müssen Sie möglicherweise Zeilen basierend auf den darin enthaltenen Zellenwerten (oder basierend auf einer Bedingung) schnell löschen.

Betrachten Sie zum Beispiel die folgenden Beispiele:

  1. Sie haben Vertriebsmitarbeiterdaten und möchten alle Datensätze für eine bestimmte Region oder ein bestimmtes Produkt löschen.
  2. Sie möchten alle Datensätze löschen, deren Verkaufswert unter 100 liegt.
  3. Sie möchten alle Zeilen löschen, in denen eine leere Zelle vorhanden ist.

Es gibt mehrere Möglichkeiten, diese Datenkatze in Excel zu skinn.

Die Methode, die Sie zum Löschen der Zeilen auswählen, hängt davon ab, wie Ihre Daten strukturiert sind und auf welchem ​​Zellenwert oder welcher Bedingung Sie diese Zeilen löschen möchten.

In diesem Tutorial zeige ich Ihnen mehrere Möglichkeiten zum Löschen von Zeilen in Excel basierend auf einem Zellenwert oder einer Bedingung.

Zeilen basierend auf Wert/Bedingung filtern und dann löschen

Eine der schnellsten Möglichkeiten zum Löschen von Zeilen, die einen bestimmten Wert enthalten oder eine bestimmte Bedingung erfüllen, besteht darin, diese zu filtern. Sobald Sie die gefilterten Daten haben, können Sie alle diese Zeilen löschen (während die restlichen Zeilen intakt bleiben).

Der Excel-Filter ist sehr vielseitig und Sie können nach vielen Kriterien filtern (z. B. Text, Zahlen, Datumsangaben und Farben).

Sehen wir uns zwei Beispiele an, in denen Sie die Zeilen filtern und löschen können.

Zeilen löschen, die einen bestimmten Text enthalten

Angenommen, Sie haben einen Datensatz wie unten gezeigt und möchten alle Zeilen löschen, in denen sich die Region im Mittleren Westen befindet (in Spalte B).

Während Sie in diesem kleinen Dataset diese Zeilen manuell löschen können, sind Ihre Datasets oft sehr groß, sodass das manuelle Löschen von Zeilen keine Option ist.

In diesem Fall können Sie alle Datensätze filtern, in denen sich die Region im Mittleren Westen befindet, und dann alle diese Zeilen löschen (während die anderen Zeilen intakt bleiben).

Nachfolgend finden Sie die Schritte zum Löschen von Zeilen basierend auf dem Wert (alle Mid-West-Datensätze):

  1. Wählen Sie eine beliebige Zelle im Datensatz aus, aus der Sie die Zeilen löschen möchten
  2. Klicken Sie auf die Registerkarte Daten
  3. Klicken Sie in der Gruppe „Sortieren & Filtern“ auf das Filtersymbol. Dadurch werden Filter auf alle Kopfzeilenzellen im Datensatz angewendet
  4. Klicken Sie auf das Filtersymbol in der Kopfzeile der Region (dies ist ein kleines nach unten zeigendes Dreiecksymbol oben rechts in der Zelle).
  5. Deaktivieren Sie alle anderen Optionen außer der Option Mittlerer Westen (eine schnelle Möglichkeit besteht darin, auf die Option Alle auswählen und dann auf die Option Mittlerer Westen zu klicken). Dadurch wird das Dataset gefiltert und es werden nur Datensätze für die Region Mittlerer Westen angezeigt.
  6. Wählen Sie alle gefilterten Datensätze aus
  7. Klicken Sie mit der rechten Maustaste auf eine der ausgewählten Zellen und klicken Sie auf "Zeile löschen".
  8. Klicken Sie im sich öffnenden Dialogfeld auf OK. Zu diesem Zeitpunkt werden keine Datensätze im Dataset angezeigt.
  9. Klicken Sie auf die Registerkarte Daten und dann auf das Symbol Filter. Dadurch wird der Filter entfernt und Sie sehen alle Datensätze außer den gelöschten.

Die obigen Schritte filtern zuerst die Daten basierend auf einem Zellenwert (oder können eine andere Bedingung sein, z. B. nach/vor einem Datum oder größer/kleiner als eine Zahl). Sobald Sie die Aufzeichnungen haben, löschen Sie diese einfach.

Einige nützliche Abkürzungen, die Sie kennen sollten, um den Prozess zu beschleunigen:

  1. Strg + Umschalt + L um den Filter anzuwenden oder zu entfernen
  2. Steuerung + - (halten Sie die Strg-Taste gedrückt und drücken Sie die Minus-Taste), um die ausgewählten Zellen/Zeilen zu löschen

Im obigen Beispiel hatte ich nur vier verschiedene Regionen und konnte sie manuell aus der Filterliste auswählen (in den Schritten 5 oben).

Falls Sie viele Kategorien/Regionen haben, können Sie den Namen in das Feld direkt über dem Feld eingeben (das diese Regionsnamen enthält), und Excel zeigt Ihnen nur die Datensätze an, die mit dem eingegebenen Text übereinstimmen (wie unten gezeigt). Sobald Sie den Text haben, nach dem Sie filtern möchten, drücken Sie die Eingabetaste.

Beachten Sie, dass beim Löschen einer Zeile alles verloren geht, was Sie möglicherweise in anderen Zellen dieser Zeilen haben. Eine Möglichkeit, dies zu umgehen, besteht darin, eine Kopie der Daten in einem anderen Arbeitsblatt zu erstellen und die Zeilen in den kopierten Daten zu löschen. Wenn Sie fertig sind, kopieren Sie es anstelle der Originaldaten zurück.

Oder

Sie können die weiter unten in diesem Tutorial gezeigten Methoden verwenden (mit der Sort-Methode oder der Find All-Methode).

Zeilen basierend auf einer numerischen Bedingung löschen

So wie ich die Filtermethode verwendet habe, um alle Zeilen zu löschen, die den Text Mid-West enthalten, können Sie auch eine Zahlenbedingung (oder eine Datumsbedingung) verwenden.

Angenommen, ich habe das folgende Dataset und möchte alle Zeilen löschen, deren Verkaufswert weniger als 200 beträgt.

Im Folgenden sind die Schritte dazu aufgeführt:

  1. Wählen Sie eine beliebige Zelle in den Daten aus
  2. Klicken Sie auf die Registerkarte Daten
  3. Klicken Sie in der Gruppe „Sortieren & Filtern“ auf das Filtersymbol. Dadurch werden Filter auf alle Kopfzeilenzellen im Datensatz angewendet
  4. Klicken Sie auf das Filtersymbol in der Kopfzeile "Verkauf" (dies ist ein kleines nach unten zeigendes Dreiecksymbol oben rechts in der Zelle).
  5. Bewegen Sie den Cursor über die Option Zahlenfilter. Dadurch werden Ihnen alle nummernbezogenen Filteroptionen in Excel angezeigt.
  6. Klicken Sie auf die Option „Weniger als“.
  7. Geben Sie im sich öffnenden Dialogfenster „Benutzerdefinierter Autofilter“ den Wert „200“ in das Feld ein
  8. OK klicken. Dadurch werden nur die Datensätze gefiltert und angezeigt, deren Verkaufswert weniger als 200 . beträgt
  9. Wählen Sie alle gefilterten Datensätze aus
  10. Klicken Sie mit der rechten Maustaste auf eine der Zellen und klicken Sie auf Zeile löschen
  11. Klicken Sie im sich öffnenden Dialogfeld auf OK. Zu diesem Zeitpunkt werden im Dataset keine Datensätze angezeigt.
  12. Klicken Sie auf die Registerkarte Daten und dann auf das Symbol Filter. Dadurch wird der Filter entfernt und Sie sehen alle Datensätze außer den gelöschten.

Es gibt viele Zahlenfilter, die Sie in Excel verwenden können – z.

Hinweis: Sie können auch mehrere Filter verwenden. Sie können beispielsweise alle Zeilen löschen, deren Verkaufswert größer als 200, aber kleiner als 500 ist. In diesem Fall müssen Sie zwei Filterbedingungen verwenden. Das Dialogfeld Benutzerdefinierter Autofilter ermöglicht zwei Filterkriterien (UND sowie ODER).

Genau wie bei den Zahlenfiltern können Sie die Datensätze auch nach dem Datum filtern. Wenn Sie beispielsweise alle Datensätze des ersten Quartals entfernen möchten, können Sie dies mit den oben beschriebenen Schritten tun. Wenn Sie mit Datumsfiltern arbeiten, zeigt Excel Ihnen automatisch relevante Filter an (wie unten gezeigt).

Während das Filtern eine großartige Möglichkeit ist, Zeilen basierend auf einem Wert oder einer Bedingung schnell zu löschen, hat es einen Nachteil – es löscht die gesamte Zeile. Im folgenden Fall werden beispielsweise alle Daten gelöscht, die sich rechts neben dem gefilterten Datensatz befinden.

Was ist, wenn ich nur Datensätze aus dem Datensatz löschen möchte, die restlichen Daten jedoch intakt halten möchte.

Das geht nicht mit Filtern, aber mit Sortieren.

Sortieren Sie den Datensatz und löschen Sie dann die Zeilen

Obwohl das Sortieren eine andere Möglichkeit ist, Zeilen basierend auf dem Wert zu löschen, ist es in den meisten Fällen besser, die oben beschriebene Filtermethode zu verwenden.

Diese Sortiertechnik wird nur empfohlen, wenn Sie die Zellen mit den Werten und nicht die gesamten Zeilen löschen möchten.

Angenommen, Sie haben ein Dataset wie unten gezeigt und möchten alle Datensätze löschen, in denen sich die Region im Mittleren Westen befindet.

Im Folgenden sind die Schritte aufgeführt, um dies mithilfe der Sortierung zu tun:

  1. Wählen Sie eine beliebige Zelle in den Daten aus
  2. Klicken Sie auf die Registerkarte Daten
  3. Klicken Sie in der Gruppe Sortieren & Filtern auf das Symbol Sortieren.
  4. Wählen Sie im sich öffnenden Dialogfeld „Sortieren“ in der Spalte „Sortieren nach“ die Option „Region“.
  5. Stellen Sie in der Option Sortieren nach sicher, dass Zellenwerte ausgewählt ist
  6. Wählen Sie in der Bestelloption A bis Z (oder Z bis A, spielt keine Rolle).
  7. OK klicken. Dadurch erhalten Sie den sortierten Datensatz wie unten gezeigt (sortiert nach Spalte B).
  8. Wählen Sie alle Datensätze mit der Region Mittlerer Westen (alle Zellen in den Zeilen, nicht nur die Regionsspalte)
  9. Klicken Sie nach der Auswahl mit der rechten Maustaste und dann auf Löschen. Dadurch wird das Dialogfeld Löschen geöffnet.
  10. Stellen Sie sicher, dass die Option "Zellen nach oben verschieben" ausgewählt ist.
  11. OK klicken.

Die obigen Schritte würden alle Datensätze löschen, in denen die Region Mittlerer Westen war, aber es wird nicht die gesamte Zeile gelöscht. Wenn Sie also rechts oder links von Ihrem Datensatz Daten haben, bleiben diese unversehrt.

Im obigen Beispiel habe ich die Daten nach dem Zellenwert sortiert, aber Sie können die gleichen Schritte auch verwenden, um nach Zahlen, Datumsangaben, Zellenfarbe oder Schriftfarbe usw. zu sortieren.

Hier ist eine detaillierte Anleitung zum Sortieren von Daten in Excel
Falls Sie die ursprüngliche Datensatzreihenfolge beibehalten möchten, die Datensätze jedoch anhand von Kriterien entfernen möchten, müssen Sie die Daten wieder in die ursprüngliche Reihenfolge sortieren. Fügen Sie dazu eine Spalte mit Seriennummern hinzu, bevor Sie die Daten sortieren. Sobald Sie mit dem Löschen der Zeilen/Datensätze fertig sind, sortieren Sie einfach nach dieser zusätzlichen Spalte, die Sie hinzugefügt haben.

Suchen und wählen Sie die Zellen basierend auf dem Zellenwert aus und löschen Sie dann die Zeilen

Excel verfügt über eine Funktion zum Suchen und Ersetzen, die großartig sein kann, wenn Sie Zellen mit einem bestimmten Wert suchen und auswählen möchten.

Nachdem Sie diese Zellen ausgewählt haben, können Sie die Zeilen einfach löschen.

Angenommen, Sie haben das unten gezeigte Dataset und möchten alle Zeilen löschen, in denen die Region Mid-West ist.

Im Folgenden sind die Schritte dazu aufgeführt:

  1. Wählen Sie den gesamten Datensatz aus
  2. Klicken Sie auf die Registerkarte Start
  3. Klicken Sie in der Gruppe Bearbeiten auf die Option „Suchen & Auswählen“ und dann auf Suchen (Sie können auch die Tastenkombination Strg + F verwenden).
  4. Geben Sie im Dialogfeld Suchen und Ersetzen den Text „Mid-West“ in das Feld „Suchen nach:“ ein.
  5. Klicken Sie auf Alle suchen. Dadurch werden Ihnen sofort alle Instanzen des Textes Mid-West angezeigt, die Excel finden konnte.
  6. Verwenden Sie die Tastenkombination Strg + A, um alle Zellen auszuwählen, die Excel gefunden hat. Sie können auch alle ausgewählten Zellen im Dataset sehen.
  7. Klicken Sie mit der rechten Maustaste auf eine der ausgewählten Zellen und klicken Sie auf Löschen. Dadurch wird das Dialogfeld Löschen geöffnet.
  8. Wählen Sie die Option „Ganze Reihe“
  9. OK klicken.

Die obigen Schritte würden alle Zellen löschen, in denen der Regionswert Mittlerer Westen ist.

Hinweis: Da Suchen und Ersetzen Platzhalterzeichen verarbeiten können, können Sie diese beim Suchen von Daten in Excel verwenden. Wenn Sie beispielsweise alle Zeilen löschen möchten, in denen die Region entweder Mid-West oder South-West ist, können Sie ‘*Westen‘ als zu suchenden Text im Dialogfeld Suchen und Ersetzen. Dadurch erhalten Sie alle Zellen, in denen der Text mit dem Wort West endet.

Löschen Sie alle Zeilen mit einer leeren Zelle

Falls Sie alle Zeilen mit leeren Zellen löschen möchten, können Sie dies ganz einfach mit einer integrierten Funktion in Excel tun.

Es ist das Gehe zu Spezialzellen Option - mit der Sie schnell alle leeren Zellen auswählen können. Und sobald Sie alle leeren Zellen ausgewählt haben, ist das Löschen dieser sehr einfach.

Angenommen, Sie haben den unten gezeigten Datensatz und ich möchte alle Zeilen löschen, in denen ich den Verkaufswert nicht habe.

Im Folgenden sind die Schritte dazu aufgeführt:

  1. Wählen Sie den gesamten Datensatz aus (in diesem Fall A1:D16).
  2. Drücken Sie die F5 Schlüssel. Dadurch wird das Dialogfeld „Gehe zu“ geöffnet (Sie können dieses Dialogfeld auch über Start -> Bearbeiten -> Suchen und Auswählen -> Gehe zu aufrufen).
  3. Klicken Sie im Dialogfeld „Gehe zu“ auf die Schaltfläche „Spezial“. Dadurch wird das Dialogfeld „Gehe zu Special“ geöffnet
  4. Wählen Sie im Dialogfeld „Gehe zu Spezial“ die Option „Leerzeichen“.
  5. OK klicken.

Die obigen Schritte würden alle Zellen auswählen, die im Dataset leer sind.

Sobald Sie die leeren Zellen ausgewählt haben, klicken Sie mit der rechten Maustaste auf eine der Zellen und klicken Sie auf Löschen.

Wählen Sie im Dialogfeld „Löschen“ die Option „Gesamte Zeile“ und klicken Sie auf „OK“. Dadurch werden alle Zeilen gelöscht, die leere Zellen enthalten.

Wenn Sie mehr über diese Technik erfahren möchten, habe ich ein detailliertes Tutorial zum Löschen von Zeilen mit leeren Zellen geschrieben. Es enthält die Methode "Go To Special" sowie eine VBA-Methode zum Löschen von Zeilen mit leeren Zellen.

Filtern und Löschen von Zeilen basierend auf dem Zellenwert (mit VBA)

Die letzte Methode, die ich Ihnen zeigen werde, enthält ein wenig VBA.

Sie können diese Methode verwenden, wenn Sie häufig Zeilen basierend auf einem bestimmten Wert in einer Spalte löschen müssen. Sie können den VBA-Code einmal hinzufügen und ihn Ihrer persönlichen Makro-Arbeitsmappe hinzufügen. Auf diese Weise steht es für die Verwendung in allen Ihren Excel-Arbeitsmappen zur Verfügung.

Dieser Code funktioniert genauso wie die oben beschriebene Filter-Methode (außer dass dies alle Schritte im Backend ausführt und Ihnen einige Klicks erspart).

Angenommen, Sie haben das unten gezeigte Dataset und möchten alle Zeilen löschen, in denen die Region Mid-West ist.

Unten ist der VBA-Code, der dies tut.

Sub DeleteRowsWithSpecificText() 'Quelle:https://trumpexcel.com/delete-rows-based-on-cell-value/ ActiveCell.AutoFilter Field:=2, Criteria1:="Mid-West" ActiveSheet.AutoFilter.Range.Offset (1, 0).Rows.SpecialCells(xlCellTypeVisible).Delete End Sub

Der obige Code verwendet die VBA-Autofilter-Methode, um zuerst die Zeilen basierend auf den angegebenen Kriterien (d. h. "Mid-West") zu filtern, dann alle gefilterten Zeilen auszuwählen und zu löschen.

Beachten Sie, dass ich im obigen Code Offset verwendet habe, um sicherzustellen, dass meine Kopfzeile nicht gelöscht wird.

Der obige Code funktioniert nicht, wenn sich Ihre Daten in einer Excel-Tabelle befinden. Der Grund dafür ist, dass Excel eine Excel-Tabelle als Listenobjekt betrachtet. Wenn Sie also Zeilen löschen möchten, die sich in einer Tabelle befinden, müssen Sie den Code ein wenig ändern (wird später in diesem Tutorial behandelt).

Vor dem Löschen der Zeilen wird eine Eingabeaufforderung wie unten gezeigt angezeigt. Ich finde dies nützlich, da ich die gefilterte Zeile vor dem Löschen überprüfen kann.

Denken Sie daran, dass Sie diese Änderung nicht rückgängig machen können, wenn Sie Zeilen mit VBA löschen. Verwenden Sie dies also nur, wenn Sie sicher sind, dass dies so funktioniert, wie Sie es möchten. Außerdem ist es eine gute Idee, eine Sicherungskopie der Daten aufzubewahren, für den Fall, dass etwas schief geht.

Falls sich Ihre Daten in einer Excel-Tabelle befinden, verwenden Sie den folgenden Code, um Zeilen mit einem bestimmten Wert darin zu löschen:

Sub DeleteRowsinTables() 'Quelle:https://trumpexcel.com/delete-rows-based-on-cell-value/ Dim Tbl As ListObject Set Tbl = ActiveSheet.ListObjects(1) ActiveCell.AutoFilter Field:=2, Criteria1: ="Mid-West" Tbl.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete End Sub

Da VBA Excel Table als Listenobjekt (und nicht als Bereich) betrachtet, musste ich den Code entsprechend ändern.

Wo soll der VBA-Code eingefügt werden?

Dieser Code muss im VB-Editor-Backend in einem Modul platziert werden.

Nachfolgend finden Sie die Schritte, die Ihnen zeigen, wie Sie dies tun:

  1. Öffnen Sie die Arbeitsmappe, in der Sie diesen Code hinzufügen möchten.
  2. Verwenden Sie die Tastenkombination ALT + F11, um das VBA-Editor-Fenster zu öffnen.
  3. In diesem VBA-Editor-Fenster befindet sich auf der linken Seite ein Bereich „Projekt-Explorer“ (der alle Arbeitsmappen und Arbeitsblattobjekte auflistet). Klicken Sie mit der rechten Maustaste auf ein beliebiges Objekt in der Arbeitsmappe (in dem dieser Code funktionieren soll), bewegen Sie den Cursor über „Einfügen“ und klicken Sie dann auf „Modul“. Dadurch wird das Modulobjekt zur Arbeitsmappe hinzugefügt und das Modulcodefenster auf der rechten Seite geöffnet
  4. Kopieren Sie im Modulfenster (das rechts angezeigt wird) den obigen Code und fügen Sie ihn ein.

Sobald Sie den Code im VB-Editor haben, können Sie den Code mit einer der folgenden Methoden ausführen (stellen Sie sicher, dass Sie eine beliebige Zelle im Dataset ausgewählt haben, für die Sie diesen Code ausführen möchten):

  1. Wählen Sie eine beliebige Zeile im Code aus und drücken Sie die Taste F5.
  2. Klicken Sie auf die Schaltfläche Ausführen in der Symbolleiste des VB-Editors
  3. Weisen Sie das Makro einer Schaltfläche oder Form zu und führen Sie es aus, indem Sie es im Arbeitsblatt selbst anklicken
  4. Fügen Sie es der Symbolleiste für den Schnellzugriff hinzu und führen Sie den Code mit einem einzigen Klick aus.

In diesem Artikel erfahren Sie, wie Sie den Makrocode in Excel ausführen.

Hinweis: Da die Arbeitsmappe einen VBA-Makrocode enthält, müssen Sie ihn im makroaktivierten Format (xlsm) speichern.

wave wave wave wave wave