Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Doppelte Werte + unterschiedliche Schreibweisen

Doppelte Werte + unterschiedliche Schreibweisen
Marcel
Hallo,
gibt es eine Möglichkeit, neben den bekannten Funktionen wie
- Bedingte Formatierung (ZÄHLENWENN($A$1;$A$18;A1)Größer1)
- WENN(VERGLEICH(A4;A:A;0)=ZEILE();"";"Doppelt")
sich doppelte Einträge eder Zellen einer Spalte Anzeigen zu lassen (10.000 Datensätze), wenn unterschiedliche Schreibweisen existieren.
Beispiel:
Max Müller
Max_Müller
Max Mueller
Besteht die Möglichkeit dreier oder vierer Buchstabenkombinationen zusätzlich als Bedingung zu definieren? Diese allerdings als unbestimmte variable (Zufallsystem)...da ja nicht alle Datensätze z.B. mit *Max* beginnen.
Wenn nicht mit einer Funktion lösbar, dann evtl. mit einem VBA-Code?
Gruß
Marcel
Anzeige
AW: Doppelte Werte + unterschiedliche Schreibweisen
22.07.2009 13:47:42
Helmut
Hallo Marcel,
google mal nach soundex oder Levenstein. Das mag Dir weiterhelfen.
Gruß
Helmut
AW: Doppelte Werte + unterschiedliche Schreibweise
22.07.2009 14:31:05
Marcel
Hallo Helmut,
für den ersten Step ein super Hinweis. Die Themen die ich im Netz finde sind jedoch sehr komplex :-(
In meinem Fall reicht es, wenn die Werte der Spalte A untersucht werden und in Spalte B ein Hinweis
z.B. "Doppelte" vermerkt wird.
Ich muss ja zugeben, dass mir da grad die Idee fehlt... oder hast du evtl. einen fertigen VBA-code?
Gruß
Anzeige
AW: Doppelte Werte + unterschiedliche Schreibweise
22.07.2009 14:54:28
Helmut
Ich habe viel mit derartigen Algorithmen herumprobiert, bin aber nie zu einem zufriedenstellenden Resultat gelangt. Wenn man eine große Menge von Namen untersucht, erhält man zu viele false positives.
Meinen eigenen Code habe ich nicht mehr, aber hier ist etwas kopiertes
Function SOUNDEX(Surname As String) As String
' Developed by Richard J. Yanco
' This function follows the Soundex rules given at
' http://home.utah-inter.net/kinsearch/Soundex.html
Dim Result As String, c As String * 1
Dim Location As Integer
Surname = UCase(Surname)
' First character must be a letter
If Asc(Left(Surname, 1)) 90 Then
SOUNDEX = ""
Exit Function
Else
' St. is converted to Saint
If Left(Surname, 3) = "ST." Then
Surname = "SAINT" & Mid(Surname, 4)
End If
' Convert to Soundex: letters to their appropriate digit,
' A,E,I,O,U,Y ("slash letters") to slashes
' H,W, and everything else to zero-length string
Result = Left(Surname, 1)
For Location = 2 To Len(Surname)
Result = Result & Category(Mid(Surname, Location, 1))
Next Location
' Remove double letters
Location = 2
Do While Location If Mid(Result, Location, 1) = Mid(Result, Location + 1, 1) Then
Result = Left(Result, Location) & Mid(Result, Location + 2)
Else
Location = Location + 1
End If
Loop
' If category of 1st letter equals 2nd character, remove 2nd character
If Category(Left(Result, 1)) = Mid(Result, 2, 1) Then
Result = Left(Result, 1) & Mid(Result, 3)
End If
' Remove slashes
For Location = 2 To Len(Result)
If Mid(Result, Location, 1) = "/" Then
Result = Left(Result, Location - 1) & Mid(Result, Location + 1)
End If
Next
' Trim or pad with zeroes as necessary
Select Case Len(Result)
Case 4
SOUNDEX = Result
Case Is SOUNDEX = Result & String(4 - Len(Result), "0")
Case Is > 4
SOUNDEX = Left(Result, 4)
End Select
End If
End Function
Private Function Category(c) As String
'   Returns a Soundex code for a letter
Select Case True
Case c Like "[AEIOUY]"
Category = "/"
Case c Like "[BPFV]"
Category = "1"
Case c Like "[CSKGJQXZ]"
Category = "2"
Case c Like "[DT]"
Category = "3"
Case c = "L"
Category = "4"
Case c Like "[MN]"
Category = "5"
Case c = "R"
Category = "6"
Case Else 'This includes H and W, spaces, punctuation, etc.
Category = ""
End Select
End Function

Anzeige
AW: Doppelte Werte + unterschiedliche Schreibweise
22.07.2009 15:06:00
Marcel
Hallo Helmut,
genau den habe ich bereits versucht anzuwenden. Mit einem schlechten Ergebnis.
Teilweise wurden eindeutige Begriffe nicht gefunden. Hmm... wie würdest du denn den Code in einer Arbeitsmappe einbauen, wenn die zu suchenden Namen in Spalte A stehen, der Soundex code in B und in spalte C sollen mögliche Doppelte angezeigt werden ("Doppelt")
Es beschäftigen sich viele Leute mit dem Thema aber irgendwie gibt es keine Musterlösung für diese Listendarstellung :-(
Wäre super, wenn du mir dabei helfen könntest.
Gruß
marcel
Anzeige
AW: Doppelte Werte + unterschiedliche Schreibweise
22.07.2009 15:21:00
Helmut
Gegebenenfalls sind länderspezifische Änderungen an den soundex Parametern vorzunehmen. Aber da hast Du ein weites Feld vor Dir. Sollte das von besonderer Bedeutung sein, empfehle ich den Einsatz von Standardsoftware zur Address-/ Namensvalidierung, i.e. Uniserve
https://www.herber.de/bbs/user/63355.xlsm
Anzeige
AW: Doppelte Werte + unterschiedliche Schreibweise
22.07.2009 16:09:36
Marcel
Ja, da hast du wohl recht, dass ohne eine Standardsoftware nie das Ziel einer 100%igen Stammdaten DB erreicht werden kann. Dennoch finde ich es super, dass du mir helfen konntest.
Vielen Dank. Ich denke, dass ich deine Lösung erstmal verwursten kann. Alle weiteren komplexeren Lösungen können wir dann wohl nicht in Eigenleistung machen.
Viele Grüße
Marcel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Doppelte Werte und unterschiedliche Schreibweisen in Excel erkennen


Schritt-für-Schritt-Anleitung

Um doppelte Werte in Excel zu erkennen, die unterschiedliche Schreibweisen haben, kannst Du die Soundex-Funktion nutzen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe oder öffne eine bestehende.

  2. Füge die Soundex-Funktion in ein Modul ein:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Klicke auf Einfügen > Modul und füge den folgenden Code ein:
    Function SOUNDEX(Surname As String) As String
       ' ... (kompletter Code aus dem Forumthread) ...
    End Function
  3. Verwende die Soundex-Funktion in deiner Excel-Tabelle:

    • Angenommen, Deine Namen stehen in Spalte A, dann schreibe in Zelle B1: =SOUNDEX(A1) und ziehe die Formel nach unten.
  4. Markiere doppelte Werte:

    • Schreibe in Zelle C1: =WENN(ZÄHLENWENN(B:B;B1)>1;"Doppelt";"") und ziehe die Formel ebenfalls nach unten.

Jetzt solltest Du in Spalte C sehen, welche Namen doppelt sind, auch wenn sie unterschiedliche Schreibweisen haben.


Häufige Fehler und Lösungen

  • Fehler: Eindeutige Werte werden nicht erkannt.

    • Lösung: Überprüfe, ob die Soundex-Funktion korrekt implementiert ist. Möglicherweise musst Du die Parameter für länderspezifische Anpassungen anpassen.
  • Fehler: Die Formel gibt einen Fehler zurück.

    • Lösung: Stelle sicher, dass Du die richtigen Zellbezüge verwendest und keine leeren Zellen in den Berechnungen sind.

Alternative Methoden

Falls Du nicht mit VBA arbeiten möchtest, gibt es auch alternative Methoden:

  • Bedingte Formatierung:

    • Du kannst die bedingte Formatierung in Excel nutzen, um doppelte Werte visuell hervorzuheben. Gehe zu Start > Bedingte Formatierung > Regeln zum Hervorheben von Zellen > Doppelte Werte.
  • Google Sheets:

    • In Google Sheets kannst Du die Funktion =UNIQUE() verwenden, um Duplikate zu entfernen oder zu markieren. Nutze dazu auch die bedingte Formatierung für doppelte Werte.

Praktische Beispiele

  • Beispiel 1: Du hast die Namen "Max Müller", "Max_Müller" und "Max Mueller" in Spalte A. Nach Anwendung der Soundex-Funktion erhältst Du in Spalte B den gleichen Soundex-Code, was die Duplikate anzeigt.

  • Beispiel 2: Wenn Du eine Liste von Adressen hast, kannst Du zusätzlich die Soundex-Funktion verwenden, um ähnliche Adressen zu identifizieren, die möglicherweise unterschiedliche Schreibweisen haben.


Tipps für Profis

  • Nutze die Soundex-Funktion in Kombination mit anderen Excel-Funktionen wie VERGLEICH() oder INDEX(), um noch präzisere Ergebnisse zu erzielen.
  • Verwende VBA, um komplexere Anforderungen zu erfüllen, wie die Verarbeitung von großen Datenmengen oder spezifische Anpassungen für verschiedene Schreibweisen.

FAQ: Häufige Fragen

1. Wie kann ich doppelte Stammdaten finden?
Du kannst die Soundex-Funktion verwenden, um verschiedene Schreibweisen von Namen zu erkennen und diese zu markieren.

2. Was ist Soundex in Excel?
Soundex ist ein Algorithmus, der ähnlich klingende Namen in einer standardisierten Form darstellt, um Variationen in der Schreibweise zu berücksichtigen.

3. Gibt es eine Möglichkeit, Duplikate in Google Sheets zu markieren?
Ja, Du kannst die Funktion =UNIQUE() verwenden oder die bedingte Formatierung nutzen, um doppelte Werte in Google Sheets hervorzuheben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige