Daftar Isi
Hari ini kita akan belajar cara menggunakan VLOOKUP untuk mencari Kecocokan Fuzzy di Excel.
Ketika bekerja dengan set data yang lebih besar, kita sering mencoba menyaring nilai-nilai yang serupa. Salah satu jenis pencocokan ini disebut Kecocokan Fuzzy , di mana nilainya tidak persis sama, tetapi mereka masih dicocokkan berdasarkan kemiripannya.
Jadi, mari kita bahas bagaimana Anda bisa menggunakan VBA VLOOKUP fungsi dari Excel untuk mencari Kecocokan Fuzzy .
Pengantar Fuzzy Match (Kecocokan Fuzzy)
A Kecocokan Fuzzy adalah jenis dari sebagian cocok.
Dalam jenis kecocokan ini, satu teks tidak cocok sepenuhnya dengan teks lainnya, tetapi bagian penting dari teks tersebut cocok dengan teks lainnya.
Dalam contoh yang diberikan, buku "Sejarah India selama Perang Dunia" berisi tiga bagian penting: Sejarah , India dan Perang Dunia .
Oleh karena itu, semua buku yang mengandung salah satu atau lebih dari satu bagian ini akan secara samar-samar cocok dengan buku tersebut.
Jadi, kecocokan fuzzy adalah:
- Sejarah Perang Dunia Kedua
- Sejarah Yunani Kuno
- Perang Dunia: Sebab dan Akibat
- Peradaban Indus: Sejarah Kuno
- India Memenangkan Kebebasan
- Adolf Hitler: Sebelum dan Sesudah Perang Dunia
- Penemuan India
Unduh Buku Kerja Praktik
Pencocokan Fuzzy VLOOKUP.xlsm3 Pendekatan untuk Pencocokan Fuzzy VLOOKUP di Excel
Di sini, kita punya kumpulan data dengan Nama dari beberapa buku dari sebuah toko buku bernama.
Tujuan kita hari ini adalah menggunakan VLOOKUP fungsi Excel untuk menghasilkan beberapa Kecocokan Fuzzy Mari kita bahas tentang 3 pendekatan yang berbeda.
1. Pencocokan Fuzzy VLOOKUP Menggunakan Wildcard (Pencocokan Seluruh Lookup_Value)
- Pertama-tama, kita akan menghasilkan beberapa kecocokan fuzzy dengan menggunakan karakter wildcard Tanda bintang (*) Tapi ingat, Anda harus mencocokkan seluruh simbol. lookup_value dalam metode ini, bukan bagian-bagian terpisah dari lookup_value .
Contohnya, kita bisa menemukan buku yang berisi teks "Perang Dunia Kedua" dengan cara ini.
Hanya buku-buku yang memiliki teks lengkap "Perang Dunia Kedua" akan cocok.
Rumusnya sederhana. Tempatkan sebuah Tanda bintang (*) simbol pada kedua ujung lookup_value teks.
Rumusnya adalah:
=VLOOKUP("*Perang Dunia Kedua*",B5:B22,1,FALSE)
- Anda juga dapat menggunakan referensi sel sebagai pengganti teks aslinya juga. Gunakan perintah Tanda hubung (&) untuk menggabungkannya menjadi satu teks. Seperti ini:
=VLOOKUP("*"&D5&"*",B5:B22,1,FALSE)
Untuk mengetahui lebih lanjut tentang VLOOKUP menggunakan wildcard, kunjungi artikel ini .
Baca selengkapnya: Cara Melakukan VLOOKUP dengan Wildcard di Excel (2 Metode)
2. Pencocokan Fuzzy Menggunakan VBA
Metode pada bagian sebelumnya memenuhi tujuan kita secara parsial, tetapi tidak sepenuhnya.
Sekarang kita akan menurunkan rumus dengan menggunakan Kode VBA yang akan memenuhi tujuan kita hampir sepenuhnya.
- Pada awalnya, buka VBA jendela dan masukkan yang berikut ini VBA kode dalam modul baru:
Kode :
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) = "the" Final_Remove(1) = "and" Final_Remove(2) = "but" Final_Remove(3) = "with" Final_Remove(4) = "into" Final_Remove(5) = "before" Final_Remove(6) = "after" Final_Remove(7) = "beyond" Final_Remove(8) ="di sini" Final_Remove(9) = "di sana" Final_Remove(10) = "dia" Final_Remove(11) = "dia" Final_Remove(12) = "dia" Final_Remove(13) = "bisa" Final_Remove(14) = "bisa" Final_Remove(15) = "mungkin" Final_Remove(16) = "mungkin" Final_Remove(17) = "akan" Final_Remove(18) = "harus" Final_Remove(19) = "akan" Final_Remove(20) = "akan" Final_Remove(21) = "ini" Final_Remove(22) = "itu" Final_Remove(23) = "punya"Final_Remove(24) = "telah" Final_Remove(25) = "telah" Final_Remove(26) = "selama" Dim w As Varian Dim ww As Varian 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 Varian 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
Kode ini membangun fungsi yang disebut FUZZYMATCH .
- Sekarang, simpanlah dengan mengikuti langkah-langkah Metode 3 artikel ini .
Ini FUZZYMATCH fungsi menemukan semua Kecocokan Fuzzy dari Nilai Pencarian secara langsung.
The Sintaksis ini FUZZYMATCH fungsinya adalah:
=FUZZYMATCH(lookup_value, lookup_range)
Untuk mengetahui Kecocokan Fuzzy dari buku "Sejarah India selama Perang Dunia" , masukkan ini lookup_value dalam sebuah sel ( D5 dalam contoh ini) dan masukkan rumus ini di sel lain:
=FUZZYMATCH(D5,B5:B22)
Lihat, kami telah menemukan semua Fuzzy Match dari buku ini "Sejarah India selama Perang Dunia"
- Di sini D5 adalah referensi sel dari lookup_value ("Sejarah India selama Perang Dunia").
- B5:B22 adalah lookup_range .
Mari kita cari tahu Kecocokan Fuzzy dari buku lain yang berjudul "Buku Catatan tentang Penyebab di Balik Kejahatan di Kota Besar" .
Masukkan ini lookup_value dalam sebuah sel ( D5 dalam contoh ini) dan masukkan rumus ini di sel lain:
=FUZZYMATCH(D5,B5:B22)
💡 Penjelasan Rumus
- The FUZZYMATCH adalah fungsi yang kita bangun di VBA Dibutuhkan sebuah string yang disebut lookup_value dan rentang sel yang disebut lookup_range dan mengembalikan larik dari semua Kecocokan Fuzzy dari string.
- Oleh karena itu FUZZYMATCH(D5,B5:B22) mengembalikan larik dari semua Kecocokan Fuzzy dari string dalam sel D5 dari jangkauan B5:B22 .
Baca selengkapnya: Cara VLOOKUP Teks Parsial di Excel (Dengan Alternatif)
Pembacaan yang Mirip
- VLOOKUP Tidak Bekerja (8 Alasan &; Solusi)
- Fungsi INDEX MATCH vs VLOOKUP (9 Contoh)
- Gunakan VLOOKUP dengan Beberapa Kriteria di Excel (6 Metode + Alternatif)
- Excel VLOOKUP untuk Mengembalikan Beberapa Nilai Secara Vertikal
- VLOOKUP dan Kembalikan Semua Kecocokan di Excel (7 Cara)
3. Pencocokan Fuzzy Menggunakan Add-in Pencarian Fuzzy Excel
Microsoft Excel menyediakan Add-in Dengan menggunakannya, Anda dapat mencocokkan dua tabel untuk Pencarian Fuzzy .
- Pertama-tama, unduh dan instal Add-in dari ini link .
- Setelah berhasil mengunduh dan menginstalnya, Anda akan menemukan Fuzzy Lookup Add-in Excel Toolbar Anda.
- Kemudian susun kumpulan data ke dalam dua tabel yang ingin Anda cocokkan.
- Di sini saya punya dua tabel yang berisi dua daftar buku dari dua toko buku bernama Toko Buku Robert dan Toko Buku Martin .
- Berikutnya, buka Fuzzy Pencarian tab> klik Pencarian Fuzzy alat di Bilah Alat Excel.
- Oleh karena itu, Anda akan mendapatkan Pencarian Fuzzy tabel yang dibuat di panel samping buku kerja Anda.
Dalam Meja Kiri dan Meja Kanan pilih nama dari kedua tabel tersebut.
Demi contoh ini, pilih Robert dan Martin .
Kemudian di Kolom bagian, pilih nama-nama kolom dari masing-masing tabel.
Dalam Kolom Pertandingan pilih jenis kecocokan yang Anda inginkan di antara dua kolom. Fuzzy Match (Kecocokan Fuzzy), pilih Default .
- Terakhir, klik pada Pergi Anda akan mendapatkan rasio tabel yang cocok dalam tabel baru.
Baca selengkapnya: VLOOKUP Untuk Membandingkan Dua Daftar di Excel (2 Cara atau Lebih)
Kesimpulan
Dengan menggunakan metode-metode ini, Anda bisa menggunakan VLOOKUP fungsi dari Excel untuk mencari Fuzzy Match (Kecocokan Fuzzy). Meskipun metode-metode ini tidak 100% efisien, namun metode-metode ini sangat berguna. Apakah Anda memiliki pertanyaan? Jangan ragu untuk menanyakannya di kotak komentar. Jangan lupa untuk berbagi jika Anda memiliki metode yang lebih baik. Tetap terhubung dengan ExcelWIKI .