So entfernen Sie Duplikate in einer Zelle in Excel

  • Teile Das
Michael Brown

Es gibt drei Möglichkeiten, Duplikate innerhalb einer Zelle in Excel zu finden und zu löschen. Wählen Sie einfach diejenige, die für Sie am besten geeignet ist.

Wenn es darum geht, doppelte Werte oder Zeilen zu entfernen, bietet Microsoft Excel eine Reihe verschiedener Optionen. Aber wenn es darum geht, identischen Text innerhalb einer bestimmten Zelle zu entfernen, bietet Excel... nichts. Keine Tools, keine Funktionen, keine Formeln, kein gar nichts. Hält uns das davon ab, unser Ziel zu erreichen? Auf keinen Fall. Wenn Excel die Funktion, die wir brauchen, nicht hat, schreiben wir eben unsere eigene :)

    Entfernen von Wortwiederholungen in Excel-Zellen

    Problem Sie haben dieselben Wörter oder Textzeichenfolgen in einer Zelle und möchten die zweite und alle folgenden Wiederholungen entfernen.

    Lösung : eine benutzerdefinierte Funktion oder ein VBA-Makro.

    Benutzerdefinierte Funktion zum Entfernen von Duplikaten innerhalb einer Zelle

    Um doppelten Text in einer Zelle zu eliminieren, können Sie die folgende benutzerdefinierte Funktion (UDF) verwenden, die RemoveDupeWords :

    Function RemoveDupeWords(text As String , Optional delimiter As String = " " ) As String Dim dictionary As Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary" ) dictionary.CompareMode = vbTextCompare For Each x In Split(text, delimiter) part = Trim(x) If part "" And Not dictionary.Exists(part) Then dictionary.Add part, Nothing End If Next If dictionary.Count> 0 ThenRemoveDupeWords = Join(dictionary.keys, delimiter) Else RemoveDupeWords = "" End If Set dictionary = Nothing End Function

    So fügen Sie den Code der Funktion in Ihre Arbeitsmappe ein

    So fügen Sie den obigen Code zu Ihrem Excel hinzu:

    1. Drücken Sie Alt + F11, um den Visual Basic Editor zu öffnen.
    2. Klicken Sie im linken Fensterbereich mit der rechten Maustaste auf DiesesArbeitsbuch und wählen Sie einfügen. > Modul .
    3. Fügen Sie den obigen Code in die Datei Code Fenster.

    Weitere Informationen finden Sie unter Wie man VBA-Code in Excel einfügt.

    Syntax der Funktion RemoveDupeWords

    Unsere neu erstellte Funktion zum Entfernen von doppeltem Text in einer Zelle hat die folgende Syntax:

    RemoveDupeWords(text, [Begrenzungszeichen])

    Wo:

    • Text (erforderlich) - eine Zeichenfolge oder Zelle, aus der Sie wiederholten Text löschen möchten.
    • Begrenzungszeichen (optional) - das Trennzeichen, durch das der wiederholte Text getrennt wird; wird es weggelassen, wird ein Leerzeichen als Trennzeichen verwendet.

    Die Funktion ist keine Unterscheidung zwischen Groß- und Kleinschreibung Das bedeutet, dass Klein- und Großbuchstaben als gleiche Zeichen behandelt werden.

    So verwenden Sie die Funktion RemoveDupeWords

    Sobald der Funktionscode zu Ihrer Arbeitsmappe hinzugefügt wurde, können Sie ihn in Ihren Formeln genauso verwenden wie die integrierten Funktionen von Excel.

    Fangen Sie einfach an, den Namen der Funktion nach dem Gleichheitszeichen einzugeben, und sie erscheint in der Formelintelligenz. Doppelklicken Sie auf die Funktion, und sie wird in eine Zelle eingefügt. Definieren Sie die Argumente, geben Sie die schließende Klammer ein, drücken Sie die Eingabetaste, und Ihre Formel ist fertig.

    Um zum Beispiel doppelte Wörter, die durch ein Komma und ein Leerzeichen getrennt sind, aus A2 zu löschen, geben Sie die folgende Formel in B2 ein und ziehen Sie sie dann durch so viele Zellen wie nötig:

    =RemoveDupeWords(A2, ", ")

    Als Ergebnis erhalten Sie eine Liste von eindeutigen Wörtern oder Teilzeichenfolgen, die durch ein Komma und Leerzeichen :

    Wenn Sie lieber eine kommagetrennte Liste erhalten möchten, dann verwenden Sie nur ein Komma für das Begrenzungszeichen:

    =RemoveDupeWords(A2, ",")

    Wenn Ihre Quelldaten durch ein Raum sollte das zweite Argument " " sein oder weggelassen werden:

    =RemoveDupeWords(A2)

    Wie jede andere Excel-Funktion wird auch unsere UDF automatisch neu berechnet, wenn sich die Quelldaten ändern, so dass Ihre Ergebnisse immer auf dem neuesten Stand sind.

    VBA-Makro zum Löschen von doppeltem Text aus mehreren Zellen auf einmal

    Wenn Sie wiederholten Text aus mehreren Zellen auf einmal entfernen möchten, können Sie die Funktion RemoveDupeWords Funktion innerhalb eines Makros. In diesem Fall ist das Trennzeichen fest kodiert, und Sie müssen den Code des Makros jedes Mal aktualisieren, wenn sich das Trennzeichen ändert. Alternativ können Sie einige Codevariationen für die gebräuchlichsten Trennzeichen schreiben, z. B. Leerzeichen, Komma oder Komma und Leerzeichen, und Ihren Makros aussagekräftige Namen geben, z. B. RemoveDupesDelimSpace .

    Der Code des Makros lautet wie folgt:

    Public Sub RemoveDupeWords2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Next End Sub

    Im obigen Code ist das Begrenzungszeichen ein Komma und Leerzeichen Um ein anderes Trennzeichen zu verwenden, ersetzen Sie "," durch ein anderes Zeichen in dieser Codezeile:

    cell.Value = RemoveDupeWords(cell.Value, ", ")

    Hinweis: Damit das Makro funktioniert, müssen der Code des Makros und der Code der Funktion RemoveDupeWords im selben Modul enthalten sein.

    So verwenden Sie das Makro

    Fügen Sie den Code des Makros in Ihre eigene Arbeitsmappe ein oder öffnen Sie unsere Beispielarbeitsmappe mit dem Code, und führen Sie dann die folgenden Schritte aus, um das Makro auszuführen.

    1. Wählen Sie einen Bereich von Zellen aus, aus dem Sie wiederholten Text entfernen möchten.
    2. Drücken Sie Alt + F8, um die Makro Dialogfeld.
    3. Wählen Sie in der Liste der Makros RemoveDupeWords2 .
    4. Klicken Sie auf ausführen. .

    Weitere Einzelheiten finden Sie unter Wie man ein Makro in Excel ausführt.

    Hinweis: Da die Aktion eines Makros kann nicht rückgängig gemacht werden Wir empfehlen dringend, die Arbeitsmappe unmittelbar vor der Verwendung des Makros zu speichern. Wenn etwas schief geht, können Sie die Arbeitsmappe einfach schließen und wieder öffnen, und Sie sind wieder genau dort, wo Sie waren. Oder Sie können einfach eine Kopie des Arbeitsblatts/der Arbeitsblätter erstellen, die von dem Makro betroffen sein könnten.

    So entfernen Sie doppelte Zeichen in einer Zelle

    Problem Sie haben mehrere Vorkommen desselben Zeichens in einer Zelle, während jede Zelle nur ein einziges Vorkommen eines bestimmten Zeichens enthalten sollte.

    Lösung : eine benutzerdefinierte Funktion oder ein VBA-Makro.

    Benutzerdefinierte Funktion zum Löschen wiederholter Zeichen

    Um doppelte Zeichen innerhalb einer Zelle zu entfernen, wobei nur das erste Vorkommen beibehalten wird, können Sie die folgende benutzerdefinierte Funktion verwenden, die RemoveDupeChars :

    Function RemoveDupeChars(text As String ) As String Dim dictionary As Object Dim char As String Dim result As String Set dictionary = CreateObject ( "Scripting.Dictionary" ) For i = 1 To Len(text) char = Mid(text, i, 1) If Not dictionary.Exists(char) Then dictionary.Add char, Nothing result = result & char End If Next RemoveDupeChars = result Set dictionary = Nothing End Function

    Um den Code der Funktion in Ihre Arbeitsmappe einzufügen, sind die Schritte genau dieselben wie im vorherigen Beispiel.

    Syntax der Funktion RemoveDupeChars

    Die Syntax dieser benutzerdefinierten Funktion ist so einfach wie möglich - es ist nur ein Argument erforderlich:

    RemoveDupeChars(text)

    Wo Text ist eine Zeichenfolge oder Zelle, aus der Sie doppelte Zeichen entfernen möchten.

    Die Funktion ist Groß- und Kleinschreibung und behandelt Klein- und Großbuchstaben als unterschiedliche Zeichen.

    So verwenden Sie die Funktion RemoveDupeChars

    Alles, was wir über die Verwendung von RemoveDupeWords gesagt haben, gilt auch für RemoveDupeChars Ohne zu sehr in die Theorie einzusteigen, wollen wir gleich zu einem Beispiel kommen.

    Um doppelte Zeichen aus der Spalte A ab A2 zu löschen, geben Sie diese Formel in B2 ein und kopieren sie nach unten:

    =RemoveDupeChars(A2)

    Wie Sie in der Abbildung unten sehen können, verarbeitet die Funktion erfolgreich verschiedene Zeichentypen wie Buchstaben, Ziffern und Sonderzeichen:

    Tipp: Wenn Ihre Charaktere durch einen gewissen Abstand voneinander getrennt sind Begrenzungszeichen wie z. B. ein Leerzeichen, ein Komma oder ein Bindestrich, dann verwenden Sie die RemoveDupeWords Funktion wie im vorherigen Beispiel gezeigt.

    VBA-Makro zum Entfernen der gleichen Zeichen aus einer Zelle

    Wie RemoveDupeWords die RemoveDupeChars Funktion kann auch innerhalb eines Makros aufgerufen werden:

    Public Sub RemoveDupeChars2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeChars(cell.Value) Next End Sub

    Da diese UDF keine Begrenzungszeichen verwendet, müssen Sie keine Anpassungen im Code vornehmen.

    Hinweis: Damit das Makro funktioniert, müssen sein Code und der Code der RemoveDupeChars UDF im VBA-Editor im selben Modul platziert werden.

    So verwenden Sie das Makro

    Angenommen, Sie haben den Code des Makros bereits in Ihre Arbeitsmappe eingefügt oder unsere Beispielarbeitsmappe mit dem Code geöffnet, dann starten Sie das Makro auf diese Weise.

    1. Wählen Sie einen Bereich von Zellen aus, aus dem Sie wiederholte Zeichen entfernen möchten.
    2. Drücken Sie Alt + F8, um die Makro Dialogfeld.
    3. Wählen Sie in der Liste der Makros RemoveDupeChars2 .
    4. Klicken Sie auf ausführen. .

    Entfernen doppelter Teilzeichenfolgen mit Ultimate Suite

    Zu Beginn dieses Tutorials wurde erwähnt, dass Microsoft Excel nicht über eine integrierte Funktion zum Entfernen von Duplikaten innerhalb einer Zelle verfügt - unsere Ultimate Suite hingegen schon!

    Sie finden es in der Duplikat-Entferner Dropdown-Menü auf der Seite Ablebits Daten auf der Registerkarte Dedupe Gruppe. Wenn die Doppelte Teilstrings entfernen in Excel nicht angezeigt wird, stellen Sie sicher, dass Sie die neueste Version von Ultimate Suite installiert haben (eine kostenlose Testversion können Sie hier herunterladen).

    Um wiederholte Wörter oder Text aus mehreren Zellen in 5 Sekunden (eine Sekunde pro Schritt :) zu entfernen, müssen Sie Folgendes tun:

    1. Wählen Sie Ihre Quelldaten und starten Sie die Doppelte Teilstrings entfernen Werkzeug.
    2. Geben Sie die Begrenzungszeichen .
    3. Definieren, ob behandelt werden soll fortlaufende Begrenzungszeichen als eins (Standard).
    4. Wählen Sie, ob Sie Groß- und Kleinschreibung oder Groß- und Kleinschreibung wird nicht berücksichtigt Suche.
    5. Klicken Sie auf entfernen .

    Kein Herumhantieren mit VBA oder Formeln, sondern schnelle und genaue Ergebnisse.

    Wenn Sie mehr über dieses fantastische Add-In erfahren möchten, besuchen Sie bitte die Homepage, oder noch besser, laden Sie unten eine Testversion herunter und probieren Sie es aus!

    So entfernen Sie doppelten Text in einer Zelle. Ich danke Ihnen für die Lektüre und hoffe, Sie nächste Woche in unserem Blog begrüßen zu dürfen!

    Verfügbare Downloads

    Beispiele zum Entfernen von Duplikaten in Zellen (.xlsm-Datei)

    Ultimate Suite 14 Tage voll funktionsfähige Version (.exe-Datei)

    Michael Brown ist ein begeisterter Technologie-Enthusiast mit einer Leidenschaft für die Vereinfachung komplexer Prozesse mithilfe von Softwaretools. Mit mehr als einem Jahrzehnt Erfahrung in der Technologiebranche hat er seine Fähigkeiten in Microsoft Excel und Outlook sowie Google Sheets und Docs verfeinert. Michaels Blog widmet sich dem Teilen seines Wissens und seiner Expertise mit anderen und bietet leicht verständliche Tipps und Tutorials zur Verbesserung von Produktivität und Effizienz. Egal, ob Sie ein erfahrener Profi oder ein Anfänger sind, Michaels Blog bietet wertvolle Einblicke und praktische Ratschläge, wie Sie diese wichtigen Softwaretools optimal nutzen können.