Löschen doppelter Textwerte (Microsoft Excel)
Jeder muss zu der einen oder anderen Zeit doppelte Einträge aus einer Liste von Texteinträgen löschen. Angenommen, Sie haben die Textwerte in Spalte A eines Arbeitsblatts und sie werden für ungefähr 500 Zeilen ausgeführt. Wenn Sie Duplikate in der Liste löschen möchten, suchen Sie möglicherweise nach dem einfachsten Weg, dies zu tun. Es gibt tatsächlich mehrere Möglichkeiten, wie Sie diese Aufgabe in Excel ausführen können.
Verwenden des Tools zum Löschen von Duplikaten
Die vielleicht einfachste Methode besteht darin, die Daten auszuwählen, aus denen Sie Duplikate löschen möchten, und dann die Registerkarte Daten des Menübands anzuzeigen. Klicken Sie in der Gruppe Datentools auf das Werkzeug Duplikate entfernen. Excel zeigt das Dialogfeld Duplikate entfernen an.
Das Tolle am Dialogfeld „Duplikate entfernen“ ist, dass es die Namen jeder Spalte in Ihren Daten auflistet. (Das Tool geht davon aus, dass sich in der ersten Zeile Ihrer Daten Überschriftenbeschriftungen befinden.) Anschließend können Sie sicherstellen, dass neben jeder Spalte, die auf Duplikate überprüft werden soll, ein Häkchen angezeigt wird. Wenn Sie auf die Schaltfläche OK klicken, werden Ihre Daten analysiert und die doppelten Zeilen entfernt. (Auch hier werden Duplikate anhand der im Dialogfeld „Duplikate entfernen“ ausgewählten Spalten ermittelt.)
Verwenden der Datenfilterung
Eine andere manuelle Methode ist die Verwendung der Datenfilterung, um die eindeutigen Werte zu bestimmen. Stellen Sie sicher, dass die Spalte oben eine Beschriftung hat, und wählen Sie dann eine Zelle in der Spalte aus. Zeigen Sie die Registerkarte Daten des Menübands an und klicken Sie in der Gruppe Sortieren & Filtern auf Erweitert. Verwenden Sie die Steuerelemente im resultierenden Dialogfeld, um anzugeben, dass Sie die eindeutigen Werte an einen anderen von Ihnen angegebenen Speicherort kopieren möchten.
Verwenden einer Formel
Sie können auch eine Formel verwenden, um die Duplikate in der Liste manuell zu bestimmen. Sortieren Sie die Werte in der Spalte und geben Sie die folgende Formel in Zelle B2 ein:
=IF(A2=A1,"Duplicate","")
Kopieren Sie die Formel in alle Zellen in Spalte B, die einen entsprechenden Wert in Spalte A haben. Wählen Sie alle Werte in Spalte B aus und drücken Sie Strg + C. Verwenden Sie Paste Special, um nur die Werte in dieselben ausgewählten Zellen einzufügen. Sie haben jetzt die Formeln in ihre Ergebnisse konvertiert.
Sortieren Sie die beiden Spalten nach dem Inhalt von Spalte B, und alle Ihre doppelten Zeilen befinden sich in einem Bereich. Löschen Sie diese Zeilen, und Sie haben Ihre fertige Liste eindeutiger Werte.
Verwenden eines Makros
Die manuellen Ansätze sind schnell und einfach. Wenn Sie jedoch routinemäßig doppelte Werte aus einer Spalte löschen müssen, ist ein Makro möglicherweise eher Ihr Stil.
Das folgende Makro basiert auf der Datenfilterung, ähnlich wie die frühere manuelle Methode:
Sub CreateUniqueList() Dim rData As Range Dim rTemp As Range Set rData = Range(Range("a1"), Range("A1048576").End(xlUp)) rData.EntireColumn.Insert Set rTemp = rData.Offset(0, -1) rData.AdvancedFilter _ Action:=xlFilterCopy, _ CopyToRange:=rTemp, _ Unique:=True rTemp.EntireColumn.Copy _ rData.EntireColumn Application.CutCopyMode = False rTemp.EntireColumn.Delete Set rData = Nothing Set rTemp = Nothing End Sub
Das Makro erstellt eine temporäre Spalte, kopiert die eindeutigen Werte mithilfe der erweiterten Filterung in diese Spalte und löscht dann die ursprüngliche Datenspalte.
Das Ergebnis sind nur eindeutige Werte in Spalte A. Wenn Sie nicht möchten, dass Ihr Makro die Datenfilterfunktion von Excel verwendet, reicht das folgende viel kürzere Makro aus:
Sub RemoveDups() Dim rData As Range Set rData = Range(Range("a1"), Range("A1048576").End(xlUp)) rData.RemoveDuplicates Columns:=Array(1), Header:=xlYes End Sub
Der Schlüssel in diesem Makro verwendet die RemoveDuplicates-Methode, die auf einem Array basiert, das die Spaltennummern enthält, die Sie auf Duplikate prüfen möchten. Das hier gezeigte Makro verarbeitet nur den Inhalt von Spalte A, aber Sie können es leicht ändern, um Daten in mehr als einer einzelnen Spalte zu bearbeiten. Alles, was Sie tun müssen, ist, rData so zu ändern, dass es den größeren Datenbereich darstellt, und dann den Spaltenparameter so zu ändern, dass er auf die Spalten zeigt, die überprüft werden sollen:
rData.RemoveDuplicates Columns:=Array(1,4), Header:=xlYes
Ein weiterer makrobasierter Ansatz besteht darin, einen eigenen Code zu entwickeln, um die Werte im Datensatz auf folgende Weise zu überprüfen:
Sub DelDups() Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer, K As Integer Application.ScreenUpdating = False Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column 'Start wiping out duplicates For J = ThisRow To (ThatRow - 1) If Cells(J, ThisCol) > "" Then For K = (J + 1) To ThatRow If Cells(J, ThisCol) = Cells(K, ThisCol) Then Cells(K, ThisCol) = "" End If Next K End If Next J 'Remove cells that are empty For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = "" Then Cells(J, ThisCol).Delete xlShiftUp End If Next J Application.ScreenUpdating = True End Sub
Das Makro bearbeitet eine Auswahl, die Sie vor dem Aufruf treffen. Wenn Sie also doppelte Zellen aus dem Bereich A2: A974 entfernen müssen, wählen Sie einfach diesen Bereich aus und führen Sie das Makro aus. Wenn das Makro vollständig ist, werden die doppelten Zellen sowie alle leeren Zellen entfernt.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (12711) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: