Clever-Excel-Forum

Normale Version: Ähnliche aber nicht idente Zelleninhalte hervorheben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Liebe Excel-Profis, 

Ich bin auf der Suche nach einer Formel, die mir ähnliche Zelleninhalte hervorheben kann. Konkret geht es um Medikamentennamen aus dem nationalen Register. In diesem Register sind alle zugelassenen Medikamente aufgelistet. Ich bin jetzt auf der Suche nach den originalen Artikeln, wenn es für dieses Original einen sogenannten Parallelimport gibt. Parallelimporte werden von 6 verschiedenen Herstellern angeboten (Emramed, Abacus, New Neopharm, Hawemato Pharm, Orifarm, Eurimpharm). Diese Produkte lassen sich leicht finden, indem ich nach dem Hersteller filtere. Meistens ist "nur" ein zweistelliger Code im Produktnamen, um auf einen Parallelimport hinzuweisen. ZB "AC" für Abacus - der restliche Produktname ist gleich. Das ist zB bei Cabometyx der Fall (siehe Bild anbei). [attachment=51273]
In manchen Fällen heißt aber das Originalprodukt geringfügig anders, als der Parallelimport. Das gilt zB für Abilify oder Leqvio. (auch Bilder anbei). [attachment=51274][attachment=51275]Teilweise sind die Abkürzungen anders, teilweise steht mehr oder weniger Info im Namen. 

Für Beispiele wie Cabometyx hätte ich die Lösung, dass ich vorab " AC ", " EP ", etc. durch Nichts ersetze, dann habe ich den gleichen Artikelnamen und kann mit einem SVerweis die für mich relevanten Pharmazentralnummern (PZN) von den Originalen herausfinden. Bei den anderen Beispielen habe ich keine Lösung. Die PZNs sind übrigens immer eindeutig zuweisbar. 

Gibt es so etwas wie die Suche nach ähnlichen Textfeldern? Ich habe auch die drei Beispiele im Excel anbei aufgelistet. [attachment=51276]

Ich bin gespannt auf Eure Antworten und schon jetzt sehr dankbar für jeden Tipp!

Liebe Grüße,
SebMit
Moin

Suche mal nach Fuzzy Lookup.

In PQ gibt es eine Option beim Kombinieren von Tabellen.
Es gibt ein Add-In im Store.
Und es gibt ein sehr langen Thread bei MrExcel.com mit VBA-Code. Da sollte man aber von hinten durch gehen damit man die aktuellste Version erwischt.
Laut web soll es eine Aut Idem Liste geben. Diese sollte die benötigten Informationen enthalten.
Anbei eine PQ-Lösung die zeigt, was mit einem Fuzzy-Join (Ähnlichkeitsfaktor 0.8) aussehen kann. Allerdings werden hierbei auch unterschiedliche Wirkstoffgehalte und unterschiedliche Pakcungsgrößen als ähnlich erkannt.
Danke für die Idee mit dem Fuzzy Lookup und auch das Beispiel. Kann man mit diesem Plugin nur den allgemeinen Ähnlichkeitsfaktor einstellen? Oder kann man zB auch eine genaue Übereinstimmung bei den Zahlen hinterlegen? Eben in Hinblick auf den Wirkstoff bzw. die Packungsgröße. 

LG, Sebmit
Nein.
Zum einen ist es so, dass Wirkstoff und Packungsgröße nicht in separaten Feldern stehen und zum anderen kann aktuell die Fuzzylogik nur generell aktiviert für den gesamten Table-Join, anstatt spaltenweise aktiviert werden.

Bei Datenbanken wie bspw. Oracle kann man es wohl spaltenweise bestimmen.

Wenn du aber in der Lage bist, das Feld Artikel so aufzubereiten, dass Wirkstoff und Packungsgröße nicht mehr darin enthalten sind, dann würde das Ergebnis so ziemlich deinen Erwartungen entsprechen. Eventuell, wenn du Zugriff auf eine Original PZN-Liste hast, sind diese Informationen in dieser ja getrennt aufbereitet.
Zitat:Oder kann man zB auch eine genaue Übereinstimmung bei den Zahlen hinterlegen? Eben in Hinblick auf den Wirkstoff bzw. die Packungsgröße. 

Wie bereits erläutert geht dies nicht. Aber mit ein wenig Kreativität lässt sich das Problem recht einfach lösen!

In der neuen Version gibt es die Tabelle "Replacements" trägst du für die Wirkstoffe und oder Packungsgrößen einfach ganz wilde Ersetzungen ein. Diese werden dann vor dem Fuzzy-Join durchgeführt und sorgen dafür, dass für diese der Ähnlichkeitsfaktor von 0.8 nicht mehr erreicht wird. Nach dem Fuzzy-Join werden dann diese Ersetzungen wieder rückgängig gemacht und schon hast du das gewünschte Ergebnis.
Hallo WS-53,

die Version 'Aehnliche_V2' gefällt mir, habe aber folgende Änderungen gemacht:
- die internen Funktionen 'fx_repl_hin' und 'fx_repl_zurück' wurden zu 1 Funktion zusammengefaßt
- und per Übergabewerte geregelt, in welche Richtung der Werteumtausch erfolgt
- für dien Rücktausch wurden 2 weitere Varianten erstellt
- wobei bei näherer Betrachtung alle 3 innerhalb von Table.TransformColumns(...) das selbe machen
- nur eben in anderer Ausführung
- Deine Version dabei war mir neu und hat mich dazu bewogen, mal näher hinzuschauen
- alle PQ-Schritte mit 'xx_?' sind Kontrollroutinen, wenn verkettete PQ-Befehle nicht ganz klar waren
- siehe dazu 'Aehnliche_V2_2'
- Umlaute in Variablennamen habe ich ausgetauscht
- bin gespannt auf Deine Meinung
- aber auf die Idee mit den Dummy-Werten vor Fuzzy muß man erst mal kommen

Gruß von Luschi
aus klein-Paris
Guten Morgen Luschi,

ich war mir ziemlich sicher, dass von dir etwas kommen wird und du hast mich nicht enttäuscht. Mir hatte es genügt eine Idee zu haben, mit der ich die Fuzzy-Logik austrickesen konnte. Und nur in diesem Zusammenhang habe ich nun wohl auch das Erste Mal Ersetzungen innerhalb einer Abfrage rückgängig machen müssen.

Das ganze in eine einzige Funktion zu packen ist natürlich eleganter. Die von mir verwendete Ersetzungslogik hate ich vor ein paar Jahren von Ignaz A. Scheels erhalten, der ein Buch über PQ geschrieben hat. Dazu habe ich auch einen Beitrag, mit div. Beispielen, ins Code-Archiv des mof eingestellt.

Es ist der Beitrag #8
Seiten: 1 2