HERBERS Excel-Forum - das Archiv

Thema: Wildcardsuche verkehrt herum - "*"&LookUp_Value&"*"

Wildcardsuche verkehrt herum - "*"&LookUp_Value&"*"
Lars P. Glander
Moin!

Ich muss Spesen Mitarbeitern zuordnen. Die Namen der Mitarbeitenden sind in zwei verschiedenen Versionen (Vorname Nachname und Nachname, Vorname) in einem Freitext Feld ("Subject") versteckt.

Als Lookup Array habe ich eine Tabelle ("Dim_UniqueAssociates") erstellt, die die Namen aller Mitarbeitenden in beiden Versionen als Spalte "searchName" enthält und eine harmonisierte Version als Spalte "nameSurname".

Als Ergebnis möchte ich in der Spesentabelle ("Expenses-OverTime") eine Spalte generieren, die der Spalte "Subject" den richtigen Wert aus "nameSurname" zuordnet. Als Fehlerwert soll "Not assigned" erscheinen. (Nebensache!)

Die Spesentabelle wird über PowerQuery erstellt. Mir sind daher beide Lösungsansätze PowerQuery M oder EXCEL Formeln recht.

Theoretische Lösung, die nicht funktioniert:

=XLOOKUP(Expenses-OverTime[Subject];"*"&Dim_UniqueAssociates[searchName]&"*";Dim_UniqueAssociates[nameSurname])

Auch Versuche mit INDEX, (X)MATCH(1; ...) und SEARCH und ISNUMBER u.ä. sind gescheitert.

Vielen Dank schon einmal, dass Du bis hierhin gelesen hast. Ich bin über jede Hilfe dankbar!!

Viele Grüße, Lalü

AW: Wildcardsuche verkehrt herum - "*"&LookUp_Value&"*"
schauan
Hallöchen,

nur mal ein Gedanke - Personalnummern habt Ihr (an der Stelle) nicht?
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Array&"*"
Lars P. Glander
Leider nein, würde aber auch keinen Unterschied machen. Die P-Nummern sind weder im Text ("Subject") noch in einem anderen Feld der Tabelle enthalten. Und leider haben wir keine Personenbezogenen Kostenstellen. Dahinter steckt immer ein Team oder eine Abteilung. :(
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Value&"*"
Eifeljoi 5
Hallo

Was meinst du genau mit "Wildcardsuche verkehrt herum" ?
Wo sind deine Versuche?
Wo ist die Datei mit dem gleichen Aufbau wie die Originale und dein Wunschergebnis??
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Array&"*"
Lars P. Glander
Steht alles im Text.
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Array&"*"
Eifeljoi 5
Daumen hoch !!!!! Super tolle Antwort.
Schon wieder für die Tonne mir Gedanken gemacht und eine Lösung erstellt so wie es verstanden hatte, aber egal.
Viel Spaß bei der weiteren Lösungssuche.
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Array&"*"
Onur
Wie konntest du auch wagen, dir anzumaßen, einem Excel-Profi helfen zu können?
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Array&"*"
Lars P. Glander
@Eifeljoi 5,

Sorry!

Ich war von der ersten freundlichen Antwort auf meine Frage so beeindruckt, dass du leider noch etwas von dem Echo abbekommen hast.

Das Projekt, an dem ich gearbeitet habe konnte ich nicht einmal in Auszügen teilen. Für das Erstellen einer authentischen Testtabelle hatte ich - in dem Moment - keine Zeit. Glücklicherweise kam mir die Idee mit "Lorem ipsum ...", was die Sache vereinfacht hat.

Persönlich an Dich noch einmal vielen Dank fürs Nachdenken.

Falls Du weiterhin an dem Problem interessiert bist, findest Du im Thread meine bei Mr. Excel gefundene Lösung.

Viele Grüße,
Lalü
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Array&"*"
Lars P. Glander
Schön das jedes Forum seine Waldorfs und Statlers hat. Wäre sonst auch langweilig.
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Value&"*"
Onur
Hey, Excelprofi! Wenn ICH dir diese Frage stellen würde, ohne irgend eine Datei zu posten, wie würdest DU reagieren?
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Array&"*"
Lars P. Glander
Fehler in der Überschrift!: Es muss natürlich "*"&LookUp_Array&"*" heißen.
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Value&"*"
Lars P. Glander
Auf besonderen Wunsch einiger Foristi habe ich eine stark reduzierte Beispiel Tabelle erstellt: https://www.herber.de/bbs/user/168664.xlsx

Es geht mir wirklich ausschließlich darum, der Spalte "Subject" den richtigen harmonisierten Namen ("nameSurname") zuzuordnen, der in unterschiedlicher Form in Subject vorkommen kann.

Der Versuch mit XLOOKUP/XVERWEIS befindet sich in der zweiten Spalte der Tabelle. Ich habe es auch mit match_mode "2" (Wildcard character match) probiert. In beiden Fällen bekomme ich ein echtes #N/A / #NV für "nicht gefunden".

Auch der Versuch mit dem im Netz oft vorgeschlagenem

=INDEX(Tab2[nameSurname];XMATCH(1;ISNUMBER(SEARCH(Tab1[Subject];"*"&Tab2[searchName]&"*"))))

hat keinen Erfolg gebracht. Macht für mich hier aber auch keinen Sinn.

Bitte kein VBA. Die Tabelle muss von Kolleg(inn)en bearbeitet werden können, die schon bei Pivot Tabellen und Queries Schweissausbrüche bekommen. Bei VBA sind die komplett raus. (Ein Fakt der leider auch Lösungen mit eingebettetem Python oder SQL Codes ausschließt.)

Eine Lösung mit Funktionen/Formeln wäre großartig, DAX und M gehen auch. Eine Kröte müssen die werten Kolleg(inn)en schlucken.

Nocheinmal Danke für jede Hilfe.

Lalü
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Value&"*"
Lars P. Glander
... manchmal liegt es nur am richtigen Stichwort ...

Eine Suche nach "reverse wildcard search" brachte Erfolg:

Mr.Excel.com benutzt TEXTJOIN() und SEARCH(), wobei er Fehler in der Suche durch "" ersetzt und diese bei der Verknüpfung der Texte ignoriert.

Für mein Problem wäre das

=TEXTJOIN(",";1;IF(IFERROR(SEARCH(Dim_UniqueAssociates[searchName];[@Subject]);0);Dim_UniqueAssociates[nameSurname];""))
.

In den Kommentaren auf YT gibt es weitere Lösungen und eine Erweiterung der Formel mit MAP() und LAMBDA(), deren Vorteil ich noch nicht ganz durchdrungen habe.

Mr. Excel on YouTube: https://www.youtube.com/watch?v=nZer0nD33kg&t=16s

Meine Tabelle mit der Lösung: https://www.herber.de/bbs/user/168669.xlsx

Nocheinmal Danke, an alle die sich Gedanken gemacht haben! An einfacheren Lösungen bin ich weiterhin interessiert.

Viele Grüße,

Lars
AW: Wildcardsuche verkehrt herum - "*"&LookUp_Array&"*"
Lars P. Glander
Sie durchlesen, verstehen und wenn ich kann beantworten.
Wenn mich die Beantwortung der Frage interessiert und die gegebene Information für mich nicht ausreicht, würde ich nett nach mehr fragen.