สารบัญ
วันนี้เราจะมาเรียนรู้วิธีใช้ VLOOKUP เพื่อค้นหา Fuzzy Match ใน Excel
ในขณะที่ทำงานกับชุดข้อมูลขนาดใหญ่ เรามักจะพยายาม กรองค่าที่คล้ายกันออก ประเภทการจับคู่ประเภทหนึ่งเรียกว่า การจับคู่แบบฟัซซี่ โดยที่ค่าจะไม่เหมือนกันทุกประการ แต่ยังคงจับคู่ตามความคล้ายคลึงกัน
ดังนั้น เรามาคุยกันว่าคุณสามารถใช้ VBA VLOOKUP ฟังก์ชัน ของ Excel เพื่อค้นหา Fuzzy Match ได้อย่างไร
รู้เบื้องต้นเกี่ยวกับ Fuzzy Match
A Fuzzy Match เป็นประเภทของ การจับคู่บางส่วน
ในการจับคู่ประเภทนี้ ข้อความหนึ่งไม่ตรงกับข้อความอื่นทั้งหมด แต่ส่วนสำคัญของข้อความไม่ตรงกับข้อความอื่น
ในตัวอย่างที่ให้มา หนังสือ “ประวัติศาสตร์อินเดียในช่วงสงครามโลกครั้งที่หนึ่ง” ประกอบด้วยสามส่วนที่สำคัญ: ประวัติศาสตร์ , อินเดีย และ สงครามโลกครั้งที่ .
ดังนั้น หนังสือทั้งหมดที่มีอย่างใดอย่างหนึ่งหรือมากกว่าหนึ่ง ในส่วนเหล่านี้จะตรงกับหนังสืออย่างคลุมเครือ
ดังนั้น การจับคู่ที่คลุมเครือคือ:
- ประวัติศาสตร์สงครามโลกครั้งที่สอง
- ประวัติศาสตร์กรีกโบราณ
- สงครามโลกครั้งที่: สาเหตุและผลกระทบ
- อารยธรรมสินธุ: ประวัติศาสตร์สมัยโบราณ <7
- อินเดียได้รับอิสรภาพ
- อดอล์ฟ ฮิตเลอร์: ก่อนและหลังสงครามโลกครั้งที่
- การค้นพบอินเดีย
ดาวน์โหลดแบบฝึกหัด
VLOOKUP FuzzyMatching.xlsm
3 แนวทางสำหรับ VLOOKUP Fuzzy Match ใน Excel
เรามีชุดข้อมูลที่มี ชื่อ จาก หนังสือบางเล่มของร้านหนังสือชื่อว่า
วัตถุประสงค์ของเราในวันนี้คือการใช้ฟังก์ชัน VLOOKUP ของ Excel เพื่อสร้าง Fuzzy Matches . เรามาคุยกันถึง 3 แนวทางกัน
1. VLOOKUP Fuzzy Match โดยใช้สัญลักษณ์แทน (การจับคู่ Lookup_Value ทั้งหมด)
- ก่อนอื่น เราจะสร้างการจับคู่แบบคลุมเครือโดยใช้อักขระตัวแทน เครื่องหมายดอกจัน (*) แต่จำไว้ว่า คุณต้องจับคู่ lookup_value ทั้งหมดในวิธีนี้ ไม่ใช่ส่วนที่แยกจากกันของ lookup_value
ตัวอย่างเช่น เราสามารถหา หนังสือที่มีข้อความ "สงครามโลกครั้งที่สอง" ด้วยวิธีนี้
เฉพาะหนังสือที่มีข้อความเต็ม "สงครามโลกครั้งที่สอง" เท่านั้นที่จะตรงกัน
สูตรนั้นง่าย ใส่สัญลักษณ์ เครื่องหมายดอกจัน (*) ที่ปลายทั้งสองด้านของข้อความ lookup_value
สูตรจะเป็น:
=VLOOKUP("*Second World War*",B5:B22,1,FALSE)
- คุณสามารถใช้การอ้างอิงเซลล์แทนข้อความต้นฉบับได้เช่นกัน ใช้สัญลักษณ์ เครื่องหมายและ (&) เพื่อรวมเป็นข้อความเดียว แบบนี้:
=VLOOKUP("*"&D5&"*",B5:B22,1,FALSE)
หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ VLOOKUP ใช้สัญลักษณ์แทน ไปที่ บทความนี้ .
อ่านเพิ่มเติม: วิธีดำเนินการ VLOOKUP ด้วยสัญลักษณ์แทนใน Excel (2 วิธี)
2. Fuzzy Match โดยใช้VBA
วิธีการในส่วนที่แล้วบรรลุจุดประสงค์ของเราเพียงบางส่วน แต่ไม่ทั้งหมด
ตอนนี้เราจะหาสูตรโดยใช้ โค้ด VBA ที่ จะบรรลุจุดประสงค์ของเราเกือบทั้งหมด
- ในตอนแรก ให้เปิดหน้าต่าง VBA และแทรกโค้ด VBA ต่อไปนี้ในโมดูลใหม่:
รหัส :
5026
รหัสนี้สร้างฟังก์ชันที่เรียกว่า FUZZYMATCH .
- ตอนนี้ บันทึกตาม ขั้นตอนของวิธีที่ 3 ของบทความนี้ .
ฟังก์ชัน FUZZYMATCH นี้จะค้นหา Fuzzy Matches<ทั้งหมด 2> ของ ค่าการค้นหา โดยตรง
ไวยากรณ์ ของฟังก์ชัน FUZZYMATCH นี้คือ:
=FUZZYMATCH(lookup_value,lookup_range)
หากต้องการทราบ การจับคู่แบบคลุมเครือ ของหนังสือ “ประวัติศาสตร์อินเดียในช่วงสงครามโลกครั้งที่หนึ่ง” ป้อน lookup_value ในเซลล์ ( D5 ในตัวอย่างนี้) และป้อนสูตรนี้ในเซลล์อื่น:
=FUZZYMATCH(D5,B5:B22)
ดูสิ เราค้นพบ Fuzzy Match ทั้งหมดแล้ว es ของหนังสือ “The History of India during the World War”
- ที่นี่ D5 คือการอ้างอิงเซลล์ของ lookup_value (“The ประวัติศาสตร์อินเดียในช่วงสงครามโลก”)
- B5:B22 คือ lookup_range
มาหาคำตอบกัน Fuzzy Matches ของหนังสืออีกเล่มหนึ่งชื่อ “สมุดบันทึกแห่งสาเหตุที่อยู่เบื้องหลังอาชญากรรมในเมืองใหญ่” .
ป้อน lookup_value นี้ในเซลล์ ( D5 ในตัวอย่างนี้) และป้อนสูตรนี้ในเซลล์อื่น:
=FUZZYMATCH(D5,B5:B22)
💡 คำอธิบายของสูตร
- ฟังก์ชัน FUZZYMATCH เป็นฟังก์ชันที่เราสร้างขึ้นใน VBA . ใช้สตริงชื่อ lookup_value และช่วงของเซลล์ชื่อ lookup_range และส่งคืนอาร์เรย์ของ Fuzzy Matches ทั้งหมดของสตริง
- ดังนั้น FUZZYMATCH(D5,B5:B22) จะส่งกลับอาร์เรย์ของ Fuzzy Matches ทั้งหมดของสตริงในเซลล์ D5 จากช่วง B5:B22 .
อ่านเพิ่มเติม: วิธี VLOOKUP ข้อความบางส่วนใน Excel (ด้วยทางเลือกอื่น)
คล้ายกัน การอ่าน
- VLOOKUP ไม่ทำงาน (8 เหตุผลและวิธีแก้ปัญหา)
- INDEX MATCH เทียบกับฟังก์ชัน VLOOKUP (9 ตัวอย่าง)
- ใช้ VLOOKUP ที่มีหลายเกณฑ์ใน Excel (6 วิธี + ทางเลือก)
- Excel VLOOKUP เพื่อส่งคืนค่าหลายค่าในแนวตั้ง
- VLOOKUP และส่งคืนรายการที่ตรงกันทั้งหมดใน Excel (7 วิธี)
3. Fuzzy Match โดยใช้ Fuzzy Lookup Add-in ของ Excel
Microsoft Excel มี Add-in ที่เรียกว่า Fuzzy Lookup คุณสามารถจับคู่สองตารางสำหรับ Fuzzy Lookup ได้
- ในตอนแรก ให้ดาวน์โหลดและติดตั้ง Add-in จาก ลิงก์ .
- หลังจากดาวน์โหลดและติดตั้งเรียบร้อยแล้ว คุณจะพบ Fuzzy Lookup Add-in ในแถบเครื่องมือ Excel ของคุณ
- แล้วจัดชุดข้อมูลออกเป็นสองตารางที่คุณต้องการจับคู่
- ที่นี่ ฉันมีตารางสองตารางที่มีรายชื่อหนังสือสองเล่มจากร้านหนังสือสองแห่งชื่อ Robert Bookshop และ Martin Bookshop .
- ถัดไป ไปที่แท็บ Fuzzy ค้นหา > คลิก เครื่องมือ Fuzzy Lookup ใน Excel Toolbar
- ดังนั้น คุณจะได้ตาราง Fuzzy Lookup สร้างขึ้นในแผงด้านข้างของสมุดงานของคุณ
ในตัวเลือก ตารางด้านซ้าย และ ตารางด้านขวา เลือกชื่อของตารางทั้งสอง
สำหรับตัวอย่างนี้ เลือก Robert และ Martin .
จากนั้นในส่วน Columns ให้เลือกชื่อของ ของแต่ละตาราง
ในส่วน จับคู่คอลัมน์ เลือกประเภทการจับคู่ที่คุณต้องการระหว่างสองคอลัมน์ สำหรับ Fuzzy Match เลือก ค่าเริ่มต้น
- สุดท้าย ให้คลิกที่ ไป คุณจะได้อัตราส่วนที่ตรงกันของตารางในตารางใหม่
อ่านเพิ่มเติม: VLOOKUP เพื่อเปรียบเทียบสองรายการใน Excel (2 วิธีขึ้นไป)
บทสรุป
เมื่อใช้วิธีการเหล่านี้ คุณสามารถใช้ VLOOKUP ฟังก์ชัน ของ Excel เพื่อค้นหา Fuzzy Match แม้ว่าวิธีการเหล่านี้จะไม่ได้ผล 100% แต่ก็ยังมีประโยชน์มาก คุณมีคำถามใดๆ? อย่าลังเลที่จะถามพวกเขาในช่องแสดงความคิดเห็น อย่าลืมแบ่งปันหากคุณมีวิธีการที่ดีกว่า เชื่อมต่อกับ ExcelWIKI .