Excel Namen vergleichen

Mr Peanutbutter

Lieutenant
Registriert
März 2004
Beiträge
982
Hallo zusammen

Kann man im Excel verschiedene Namen mit einander vergleichen? Ich stehe vor der Herausforderung Namen in zwei Spalten miteinander vergleichen zu müssen.

Hintergrund: unsere Spend Software fasst Lieferanten mit gleichen Namen zusammen als normalised supplier, im detail stehen dann die ganzen Namen (Normalised Supplier ABC, im detail report, ABC Inc, ABC UWU GMBH, ABC Powers etc.) nur ist mir aufgefallen das es wohl Unstimmigkeiten gibt und ich auch Lieferanten finde die wohl falsch zugeordnet wurden. Deshalb würde ich gerne Die Normalised Suppliers mit den Lieferanten vom detail report vergleichen und müsste irgendwie die Abweichung der Namen berechnen können. Geht das? Am liebsten in Prozent. (Anmerkung mein Excel ist English)

Normalised SupplierSupplierDifference
ABCABC Inc.
ABCABC UWU GmbH
ABCABC Powers

Besten Dank für euer Hilfe und inputs
 
Könnte man mit einer Kombination aus FIND, LEN und einer Prozentrechnung zusammenbasteln.
 
  • Gefällt mir
Reaktionen: Mr Peanutbutter
So was ähnliches hatte ich auch schon mal nachgeschlagen, Stichwort Levenshtein Distance.
Ist aber nur in VBA umsetzbar
Hier scheint das gut erklärt zu werden
 
  • Gefällt mir
Reaktionen: Mr Peanutbutter und DeusoftheWired
Mr Peanutbutter schrieb:
Geht das? Am liebsten in Prozent. (Anmerkung mein Excel ist English)

Normalised SupplierSupplierDifference
ABCABC Inc.
ABCABC UWU GmbH
ABCABC Powers
Ich denke eine größere Beispielmenge mit deinem erwarteten Ergebnis würde nicht schaden - selbst wenn nur hypotetisch (Hier mal meine Annahmen so weit):
Normalised SupplierSupplierDifference
ABCABC
0 %​
ABCabc
? %​
ABCBC
33 %​
ABCABC UWU GmbH
75 %​
ABCAustinBC Powers
80 %​
ABCThe ABC Company
80 %​

Weil du musst uns ja sagen, was du willst, und nicht wir dir, was du brauchst.
 
  • Gefällt mir
Reaktionen: Mr Peanutbutter
Hi Danke viel mals, also:
1669638905529.png

Mir geht es vor allem darum zu sehen welche entweder 0% haben oder je nach Formel / Ausgabe 0.0. (also alles was nicht zusammen gehört, wie bei B8, B11 oder B19 im Excel File) oder weniger als 50% (0.5) übereinstimmen.

In meinem Datensatz gibt es übrigens keine Kleinschreibung. (Falls diese Info hilft)
 

Anhänge

  • Example File.xlsx
    9,2 KB · Aufrufe: 104
  • Gefällt mir
Reaktionen: tollertyp
Deine Tabelle ist etwas fehlerhaft gefüllt.
Man kommt auch leicht durcheinander, was 0% und 100% heißt, ja, da steht Difference, aber dennoch.

ABC | ZZZ | 100% und nicht 0%

Die Frage ist halt, ob du mit den Prozentwerten konkret was anfangen kannst. Wenn die wirklich wichtig sind, kommt man denke ich um VBA nicht umher - welcher Algorithmus dabei offen.

Wenn es dir um einfachere Angaben geht, dann könnten Formeln noch reichen:
NormSupSupComparison
ABCABCequal
ABCabcequal
ABCABC Inc.match
ABCBCno match
 
Du hast natürlich vorkommen recht. Es sollte anders rum sein. (facepalm)

Mit VBA habe ich leider absolut gar keine Erfahrung. Wie würde ich auf sowas komme wie du da zeigst mit equal, match und so weiter?
 
Die Formel ist nicht elegant, aber wäre vielleicht für einen ersten Wurf ganz okay?
Code:
=WENN(KLEIN(A2) = KLEIN(B2); "equal"; WENN(ISTFEHLER(FINDEN(KLEIN(A2); KLEIN(B2))); "no match"; "match"))
 
  • Gefällt mir
Reaktionen: Mr Peanutbutter
Ich finde die Aufgabe interessant, aber sie erinnert mich gefühlt ans Lottospielen… Meine Gewinnchance ist 50% - hat geklappt oder hat nicht geklappt (Kohle flöten).
Entweder dein Suchwert kommt vor - oder er kommt nicht vor. 50:50. Ob er neben 1 weiterem Zeichen steht oder 10 oder 20 - wo ist der Unterschied?
Auch mag ABC in ABC123 50% Anteil haben, Sonnenblume in 123Sonnenblume (11/14 ≈ 79%) hätte mehr - aber was würde dir diese Angabe helfen?

CN8
 
  • Gefällt mir
Reaktionen: Janush und tollertyp
nenb hätte einen Anteil von 36% in Sonnenblume. Bei einem langen Firmennamen wie „Albatross-Stahlwerke Rhabarberhausen GmbH“ und dem Kurzwort Albatross hätte man nur noch einen Prozentanteil von ungefähr 21%. Beides sind exakte Matches, aber nur letzteres erscheint sinnvoll.

So ganz trivial ist diese Aufgabenstellung also nicht, egal ob man nur exakte Matches haben will oder mit Prozentwerten arbeitet.
 
  • Gefällt mir
Reaktionen: tollertyp
Bei exaktem Match ist es doch einfach - die kann man ausblenden.
Dann kann man sich die anschauen, wo ein Text im anderen zwar vorkommt die Texte abweichen.
Und dann halt die ohne dass ein Text im anderen komplett vorkommt.

Man könnte natürlich noch viel mehr Einstufungen definieren, aber naja, ist die Frage, ob es das wert ist.
 
  • Gefällt mir
Reaktionen: Maviapril2
Danke viel mals für die vorschläge und inputs. Ich weiss das wircklich zu schätzen :-)
Ergänzung ()

tollertyp schrieb:
Die Formel ist nicht elegant, aber wäre vielleicht für einen ersten Wurf ganz okay?
Code:
=WENN(KLEIN(A2) = KLEIN(B2); "equal"; WENN(ISTFEHLER(FINDEN(KLEIN(A2); KLEIN(B2))); "no match"; "match"))
Danke vielmals für den Vorschlag. Ich habe dies probiert, leider verzweifle ich daran. (vor allem weil mein Excel hier auf der Arbeit in English ist) Wenn sollte If sein, und klein Small und Istfehler = ISERROR?

Also: IF(SMALL(A2) = SMALL(B2): "equal": IF(ISERROR(FIND(SMALL(A2): SMALL(B2))): "no match": "match")) ?

Excel meint dazu: You've entered too few arguments for this function
 
Zuletzt bearbeitet:
steve1da schrieb:
Hola,
Small() ist Kkleinste(). Du suchst lower(). Siehe auch:
https://de.excel-translator.de/funktionen/
Gruß,
steve1da
Danke für den input und die Seite, sehr hilfreich :-)

Sollte es so sein:
=IF(LOWER(A2) = LOWER(B2): "equal": IF(ISERROR(FIND(LOWER(A2): LOWER(B2))): "no match": "match"))

Excel meint da sei ein Problem mit der Formel
 
Danke viel mals, so geht es. Konnte nun von ca. 10k Einträge auch 2k Einträge reduzieren die nun zum vergleichen sind. Ne echte Erleichterung.
 
  • Gefällt mir
Reaktionen: tollertyp und Maviapril2
Zurück
Oben