VLOOKUP Fuzzy Match in Excel (3 schnelle Wege)

  • Teile Das
Hugh West

Heute werden wir lernen, wie man VLOOKUP zur Suche nach Unscharfes Spiel in Excel.

Bei der Arbeit mit größeren Datensätzen versuchen wir oft, ähnliche Werte herauszufiltern. Einer dieser Abgleichstypen wird als Unscharfes Spiel , bei denen die Werte zwar nicht exakt gleich sind, aber dennoch auf der Grundlage ihrer Ähnlichkeit abgeglichen werden.

Lassen Sie uns also besprechen, wie Sie die VBA VLOOKUP Funktion von Excel für die Suche nach Unscharfes Spiel .

Einführung in Fuzzy Match

A Unscharfes Spiel ist eine Art von Teilweise Übereinstimmung.

Bei dieser Art von Übereinstimmungen stimmt ein Text nicht vollständig mit dem anderen Text überein, aber die wichtigen Abschnitte des Textes stimmen mit dem anderen Text überein.

Im gegebenen Beispiel ist das Buch "Die Geschichte Indiens während des Weltkriegs" enthält drei wichtige Abschnitte: Geschichte , Indien und Weltkrieg .

Daher werden alle Bücher, die entweder einen oder mehrere dieser Abschnitte enthalten, dem Buch unscharf zugeordnet.

Die unscharfen Übereinstimmungen sind also:

  • Die Geschichte des Zweiten Weltkriegs
  • Geschichte des antiken Griechenlands
  • Weltkrieg: Ursachen und Auswirkungen
  • Die Indus-Zivilisation: Eine antike Geschichte
  • Indien gewinnt die Freiheit
  • Adolf Hitler: Vor und nach dem Weltkrieg
  • Die Entdeckung Indiens

Download Arbeitsbuch Praxis

VLOOKUP Fuzzy Matching.xlsm

3 Ansätze für VLOOKUP Fuzzy Match in Excel

Hier haben wir einen Datensatz mit dem Namen von einigen Büchern einer Buchhandlung namens.

Unser heutiges Ziel ist es, die VLOOKUP Funktion von Excel zur Generierung einiger Unscharfe Übereinstimmungen Lassen Sie uns über 3 verschiedene Ansätze diskutieren.

1. unscharfer VLOOKUP-Abgleich mit Platzhaltern (Abgleich des gesamten Lookup_Value)

  • Als erstes werden wir einige unscharfe Übereinstimmungen mit dem Platzhalterzeichen Sternchen (*) Aber denken Sie daran, dass Sie das gesamte Symbol abgleichen müssen. lookup_value in dieser Methode, nicht die einzelnen Teile der lookup_value .

Wir können zum Beispiel ein Buch finden, das den Text "Zweiter Weltkrieg" auf diese Weise.

Nur die Bücher, die den vollständigen Text enthalten "Zweiter Weltkrieg" wird übereinstimmen.

Die Formel ist einfach: Legen Sie eine Sternchen (*) Symbol an beiden Enden des lookup_value Text.

Die Formel lautet:

=VLOOKUP("*Zweiter Weltkrieg*",B5:B22,1,FALSE)

  • Sie können auch einen Zellverweis anstelle des Originaltextes verwenden. Verwenden Sie die Ampersand (&) Symbol, um sie zu einem einzigen Text zusammenzufügen, etwa so:

=VLOOKUP("*"&D5&"*",B5:B22,1,FALSE)

Mehr Informationen über VLOOKUP Wildcards verwenden, besuchen Sie dieser Artikel .

Lesen Sie mehr: VLOOKUP mit Platzhalter in Excel durchführen (2 Methoden)

2 Fuzzy Match mit VBA

Die im vorigen Abschnitt beschriebene Methode erfüllt unseren Zweck teilweise, aber nicht in vollem Umfang.

Nun werden wir eine Formel ableiten, die eine VBA-Code die unseren Zweck fast vollständig erfüllen.

  • Öffnen Sie zunächst ein VBA und fügen Sie Folgendes ein VBA Code in einem neuen Modul:

Code :

 Function FUZZYMATCH(str As String, rng As Range) str = LCase(str) Dim Remove_1(5) As Variant Remove_1(0) = "," Remove_1(1) = "." Remove_1(2) = ":" Remove_1(3) = "-" Remove_1(4) = ";" Remove_1(5) = "?" Dim Rem_Str_1 As String Rem_Str_1 = str Dim rem_count_1 As Variant For Each rem_count_1 In Remove_1 Rem_Str_1 = Replace(Rem_Str_1, rem_count_1, "") Next rem_count_1 Words = Split(Rem_Str_1) Dim i AsVariant For i = 0 To UBound(Words) If Len(Words(i)) = 1 Or Len(Words(i)) = 2 Then Words(i) = Replace(Words(i), Words(i), " bt ") End If Next i Dim Final_Remove(26) As Variant Final_Remove(0) = "der" Final_Remove(1) = "und" Final_Remove(2) = "aber" Final_Remove(3) = "mit" Final_Remove(4) = "in" Final_Remove(5) = "vor" Final_Remove(6) = "nach" Final_Remove(7) = "über" Final_Remove(8) = "nach"hier" Final_Remove(9) = "dort" Final_Remove(10) = "sein" Final_Remove(11) = "sie" Final_Remove(12) = "er" Final_Remove(13) = "kann" Final_Remove(14) = "könnte" Final_Remove(15) = "darf" Final_Remove(16) = "könnte" Final_Remove(17) = "soll" Final_Remove(18) = "sollte" Final_Remove(19) = "wird" Final_Remove(20) = "würde" Final_Remove(21) = "dies" Final_Remove(22) = "das" Final_Remove(23) = "haben"Final_Remove(24) = "hat" Final_Remove(25) = "hatte" Final_Remove(26) = "während" Dim w As Variant Dim ww As Variant For w = 0 To UBound(Words) For Each ww In Final_Remove If Words(w) = ww Then Words(w) = Replace(Words(w), Words(w), " bt ") Exit For ' End If Next ww Next w Dim Lookup As Variant Dim x As Integer x = rng.Rows.count ReDim Lookup(x - 1) Dim j As Variant j = 0 Dim k As Variant For Each kIn rng Lookup(j) = k j = j + 1 Next k Dim Lower As Variant ReDim Lower(UBound(Lookup)) Dim u As Variant For u = 0 To UBound(Lookup) Lower(u) = LCase(Lookup(u)) Next u Dim out As Variant ReDim out(UBound(Lookup), 0) Dim count As Integer co = 0 mark = 0 Dim m As Variant For m = 0 To UBound(Lower) Dim n As Variant For Each n In Words Dim o As Variant For o = 1 To Len(Lower(m)) If Mid(Lower(m), o,Len(n)) = n Then out(co, 0) = Lookup(m) co = co + 1 mark = mark + 1 Exit For End If Next o If mark> 0 Then Exit For End If Next n mark = 0 Next m Dim output As Variant ReDim output(co - 1, 0) Dim z As Variant For z = 0 To co - 1 output(z, 0) = out(z, 0) Next z FUZZYMATCH = output End Function 

Dieser Code erstellt eine Funktion namens FUZZYMATCH .

  • Speichern Sie sie nun wie folgt die Schritte der Methode 3 in diesem Artikel .

Diese FUZZYMATCH Funktion findet alle Unscharfe Übereinstimmungen eines Nachschlagewert direkt.

Die Syntax dieser FUZZYMATCH Funktion ist:

=FUZZYMATCH(nachschlag_wert,nachschlag_bereich)

Um herauszufinden, welche Unscharfe Übereinstimmungen des Buches "Die Geschichte Indiens während des Weltkriegs" geben Sie dies ein lookup_value in einer Zelle ( D5 in diesem Beispiel) und geben Sie diese Formel in eine andere Zelle ein:

=FUZZYMATCH(D5,B5:B22)

Sehen Sie, wir haben alle Fuzzy Matches des Buches herausgefunden "Die Geschichte Indiens während des Weltkriegs"

  • Hier D5 ist die Zellreferenz der lookup_value ("Die Geschichte Indiens während des Weltkriegs").
  • B5:B22 ist die nachschlagen_bereich .

Finden wir heraus, welche Unscharfe Übereinstimmungen eines anderen Buches mit dem Titel "Ein Buch über die Ursachen der Kriminalität in den Großstädten" .

Dies eingeben lookup_value in einer Zelle ( D5 in diesem Beispiel) und geben Sie diese Formel in eine andere Zelle ein:

=FUZZYMATCH(D5,B5:B22)

💡 Erläuterung der Formel

  • Die FUZZYMATCH Funktion ist die Funktion, die wir in VBA Es nimmt eine Zeichenkette namens lookup_value und einen Bereich von Zellen namens nachschlagen_bereich und gibt ein Array mit allen Unscharfe Übereinstimmungen der Zeichenkette.
  • Deshalb FUZZYMATCH(D5,B5:B22) gibt ein Array mit allen Unscharfe Übereinstimmungen der Zeichenkette in der Zelle D5 aus dem Sortiment B5:B22 .

Lesen Sie mehr: VLOOKUP Teilweise Text in Excel (mit Alternativen)

Ähnliche Lesungen

  • VLOOKUP funktioniert nicht (8 Gründe & Lösungen)
  • INDEX MATCH vs. VLOOKUP Funktion (9 Beispiele)
  • VLOOKUP mit mehreren Kriterien in Excel verwenden (6 Methoden + Alternativen)
  • Excel VLOOKUP, um mehrere Werte vertikal zurückzugeben
  • VLOOKUP und Rückgabe aller Übereinstimmungen in Excel (7 Möglichkeiten)

3. unscharfe Übereinstimmung mit dem Fuzzy Lookup Add-in von Excel

Microsoft Excel bietet eine Add-in Fuzzy Lookup genannt, mit dem Sie zwei Tabellen miteinander vergleichen können Unscharfe Suche .

  • Laden Sie zunächst das Programm herunter und installieren Sie es. Add-in hieraus Link .
  • Nach erfolgreichem Herunterladen und Installieren finden Sie das Fuzzy Lookup Add-in in Ihrer Excel-Symbolleiste.

  • Ordnen Sie dann die Datensätze in zwei Tabellen an, die Sie abgleichen möchten.

  • Hier habe ich zwei Tabellen mit zwei Listen von Büchern aus zwei Buchhandlungen namens Buchhandlung Robert und Buchhandlung Martin .
  • Gehen Sie dann zum Fuzzy Nachschlagen tab> klicken Unscharfe Suche Werkzeug in der Excel-Symbolleiste.

  • Sie erhalten also eine Unscharfe Suche Tabelle, die im Seitenbereich Ihrer Arbeitsmappe erstellt wurde.

In der Linker Tisch und Rechter Tisch wählen Sie die Namen der beiden Tabellen.

Für dieses Beispiel wählen Sie Robert und Martin .

Dann im Rubriken wählen Sie die Namen der Spalten der einzelnen Tabellen.

In der Match-Spalte wählen Sie die Art der Übereinstimmung, die Sie zwischen den beiden Spalten wünschen. Unscharfe Übereinstimmung, Wählen Sie Standard .

  • Klicken Sie schließlich auf Weiter Sie erhalten dann das entsprechende Verhältnis der Tabellen in einer neuen Tabelle.

Lesen Sie mehr: VLOOKUP zum Vergleich zweier Listen in Excel (2 oder mehr Möglichkeiten)

Schlussfolgerung

Mit diesen Methoden können Sie die VLOOKUP Funktion von Excel für die Suche nach Unscharfe Übereinstimmung. Auch wenn diese Methoden nicht 100% effizient sind, sind sie doch sehr nützlich. Haben Sie Fragen? Fragen Sie sie im Kommentarfeld. Vergessen Sie nicht, uns mitzuteilen, wenn Sie bessere Methoden kennen. Bleiben Sie in Verbindung mit ExcelWIKI .

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.