Clever-Excel-Forum

Normale Version: Suchen nach bester Text-Übereinstimmung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Forums-Mitglieder,

vorab, ich arbeite noch nicht allzu lange mit Excel daher entschuldigt meine Unwissenheit. Ebenfalls bin ich neu in diesem Forum.

Folgende Situation: 
In meiner Excel Datei geht es um Etiketten in verschiedenen Sprachen.

Sheet 1 beinhaltet unter anderem 5 Spalten mit den Text Elementen für 5 verschiedene Sprachen.

Beispiel:

Tabletten.   Tablets.    comprimés.    comprimidos.     compresse.  

Die Etiketten werden vom Produktentwickler zunächst in Deutsch angefertigt und sollen dann in die anderen 4 Sprachen mit den Daten aus Sheet 1 übersetzt werden.

Dafür habe ich Sheet 2 angefertigt wo über folgende Formel die Übersetzungen in die 4 Sprachen ausgespuckt werden:

=WENN(ISTFEHLER(SVERWEIS($D10;Datenanlage!$B$6:$K$4941;4;0));"Übersetzung nicht vorhanden!";SVERWEIS($D10;Datenanlage!$B$6:$K$4941;4;0))

Das Funktioniert auch solange der Deutsche-Suchtext genauso im Sheet 1 vorhanden ist.

Problem ist, dass der Suchtext der ja vom Produktentwickler kommt oft nicht 100% übereinstimmt.
Eine Lösung für "zu wenig" Text habe ich gefunden mit Platzhaltern:
=WENN(ISTFEHLER(SVERWEIS("*"&$D10&"*";Datenanlage!$B$6:$K$4941;3;0));"Übersetzung nicht vorhanden!";SVERWEIS("*"&$D10&"*";Datenanlage!$B$6:$K$4941;3;0))

Nun die Problemsituation:
In der zu übersetzenden Etikett-Datei steht zum Beispiel "- vegan" im Sheet 1 jedoch nur "vegan" weshalb mit meiner Formel die zugehörigen Übersetzungen nicht gefunden werden. Natürlich könnte man den Bindestrich vor dem kopieren entfernen, jedoch könnte man dann genauso gut in Sheet 1 mit Strg + F arbeiten. Außerdem hat das Etikett sehr viele Einträge weshalb ich nach einer Lösung suche in der man die Inhalte des Etiketts kopiert und die beste Übereinstimmung aus Sheet 1 gefunden wird und somit die passenden Übersetzungen ausgespuckt werden. 

Ich hoffe ich konnte das Problem ordnungsgemäß darlegen. Es würde mich freuen wenn ihr mir helfen könnt.

LG
Hola,
schau dir mal die Lösung von Hydronaut in diesem Thread an:
https://www.clever-excel-forum.de/Thread...s-Ergebnis
Gruß,
steve1da
Hey Steve,

habs mir mal angeschaut allerdings bekomme ich es leider nicht ans laufen. 

Verstehe leider auch nicht genau wie die Formel funktioniert.
=VERWEIS(2;1/SUCHEN(Tabelle!$P$3:$P$5;A2);Tabelle!$Q$3:$Q$5)

Gruß
Dann lad doch bitte mal eine Beispieldatei hoch.
Hello,

hab schnell eine Datei gebaut, hoffe das hilft. 

LG
Sorry, mein Fehler. Passt doch nicht ganz.
Ist die Ausnahme immer ein Bindestrich mit Leerzeichen, oder kommen auch andere Varianten vor?
Leider kommen auch andere Ausnahmen vor...
...schau Dir mal diese Power Query Lösung an. Dürfte genau das sein, was Du suchst.
Vorschlag:


Code:
Function F_snb(c00, y)
  sn = Sheet1.ListObjects(1).DataBodyRange
  sp = Split(LCase(c00))
  For j = 1 To UBound(sn)
    If LCase(c00) = LCase(sn(j, 1)) Then
        F_snb = sn(j, y)
        Exit Function
    End If
    For jj = 0 To UBound(sp)
      If LCase(sp(jj)) Like "[!a-z]" Then n = 0 Else n = n + InStr(LCase(sn(j, 1)), LCase(sp(jj)))
    Next
    If n > 0 Then
      F_snb = sn(j, y)
      Exit For
    End If
  Next
End Function