Excel Match mit umgekehrten Platzhaltern

395
jacopo3001

das ist mein Tisch:

 A B c 1 foo.com/page1 foo.com/page1?xyz 2 foo.com/page2 foo.com/page1?abc 3 foo.com/page3 foo.com/page8?xyz 

Für jedes Element in Spalte B möchte ich wissen, ob es ein übereinstimmendes Element auf ColumnA gibt (das Ergebnis sollte lauten: B1> TRUE, B2> TRUE, B3> FALSE)

Ich habe das probiert:

 =match(B1, A:A&"*") 

aber es geht nicht.

Irgendeine Idee?

0

1 Antwort auf die Frage

-1
Tisconie

Diese Lösung trifft eng auf Ihr Beispiel zu.

Wenn Sie den VLOOKUP-Vergleich anstelle des exakten Übereinstimmungen verwenden, haben Sie die Möglichkeit, einen "unscharfen" Treffer zu machen, wie Sie es beschreiben.

=IFERROR(IF(LEFT(B1,LEN(VLOOKUP(B1,A:A,1,TRUE)))=VLOOKUP(B1,A:A,1,TRUE),TRUE,FALSE),FALSE) 

Grundsätzlich sucht die Formel nach der besten Übereinstimmung, die sie finden kann, wenn Sie Ihre einzige lange Zeichenfolge und Ihre vielen kürzeren Zeichenfolgen durchsuchen.

  • Es identifiziert die erste enge Übereinstimmung

  • Überprüft, ob alle Zeichen in Ihrer Spalte A in der Zeichenfolge der Spalte B dargestellt werden, beginnend mit dem ganz linken Zeichen

  • Gibt TRUE zurück, wenn alle Zeichen der A-Übereinstimmung in der B-Zeichenfolge dargestellt werden

  • Gibt FALSE zurück, wenn nicht alle Zeichen der A-Übereinstimmung in der B-Zeichenfolge dargestellt werden

Schwäche (warum kann dies bei echten Daten fehlschlagen):

Das Beispiel enthält die Seitennummern 1, 2, 3. Wenn die Spalte B-Zeichenfolge Seite 11 ist, gibt diese Formel TRUE zurück, wenn sie mit 1 übereinstimmt (es wird nicht nach 11 gesucht).