So Sánh Chuỗi, Tìm Chuỗi Gần Đúng Trong Excel

Bài này, mình chọn làm bài đầu tiên trong Series VBA đã cứu vớt tôi ra làm sao – How did VBA save my ass? chúng ta nghĩ rất có thể không tất cả gì to lớn tát cả, nhưng vào năm 3 đại học, với quá trình thực tập vào 1 tập đoàn tầm cỡ thế giới và thao tác làm việc trong bộ phận CIO Advisory thì vượt qua từng ngày thao tác làm việc trong trong cả 6 mon là cả 1 kì tích. Chưa hẳn vì bản thân dốt, không hẳn vì bản thân không có tác dụng được việc. Mình dốt 1 cách bình thường, dòng khó ở đó là lượng các bước rất béo và áp lực đè nén để trả thành quá trình đó cũng thừa lớn. Mình sẽ không dài chiếc kể về thời kia nữa vì sẽ làm chán các bạn.

Bạn đang xem: So sánh chuỗi, tìm chuỗi gần đúng trong excel

Chúng ta có một nhiệm vụ đơn giản: tất cả 2 cột tất cả tên của những công ty, một cột gồm gồm 2000 công ty, một cột gồm bao gồm 8000 công ty, làm nạm nào để hiểu rằng trong 2000 doanh nghiệp này thì công ty nào vẫn ở trong số 8000 doanh nghiệp bên cột kia, tên của các công ty không trùng khớp 100%, thỉnh thoảng thiếu 1 vài chữ, thừa 1 vài ba chữ, 1 vài ba chữ không chủ yếu xác. Những hàm dò tìm cùng tìm tìm sẽ không hỗ trợ được gì cho chúng ta trong trường phù hợp này. Các bạn có 2 tiếng để lấy ra kết quả, làm thuyết trình và báo cáo.

Xem thêm: Kỳ Họp Thứ 3, Hội Đồng Nhân Dân Tỉnh Bến Tre, Nghị Quyết 58/Nq

Lúc đó, mình suy xét thế này: bắt đầu từ dữ kiện, tên các công ty chỉ gần giống nhau chữ rất khác nhau trả toàn, chắc hẳn phải có 1 chỉ số như thế nào đó cho việc giống nhau giữa 2 chuỗi. Chìa khoá là đây, keyword là kia, thực chất vấn đề này sẽ không mới, có một vài anh zai đã nghiên cứu và phân tích trước rồi, và phương thức hay tên của các thuật toán được rước theo tên những anh. Một vài ba anh tiêu biểu là Lehvenstein, Jaccard (đọc như Gia cát vậy =)) ), Jaro-Winkler và Longest common subsequence. Tới đây thì mình chọn anh Lehvenstein vì đẹp trai. Tiếp đến biết được thuật toán rồi, thì code VBA như sau để tạo thành được 1 dòng UDF có tính năng như sau:

Đánh giá bán sự kiểu như nhau thân 2 đoạn TextTrả về tên tương tự nhấtTrả về số sản phẩm tự của tên giống như nhấtTrả về % như là nhau thân 2 chiếc tên

Các bạn xem thêm code trong tệp tin Excel sau đây:

https://drive.google.com/open?id=14J8Zgqj5B7NovcZjxpZrj-33WI87Oe1Y

Cách áp dụng và hình minh hoạ như sau:

Hình 1

*


*

*

Hình 2

*

Kết quả là, tra cứu kiếm với thực hiện giải quyết và xử lý vấn đề trong khoảng 45 phút, code chạy mất hút 45 phút, làm cho thuyết trình report mất 15 phút, uống cafe mất 5 phút, mình còn 10 phút để chuẩn bị vào report và công dụng là những chuyện đã diễn ra tốt đẹp.

Từ thời điểm đó tới thời điểm này là 5 năm rồi, chắc rằng có nhiều phương thức khác nhanh hơn và văn minh hơn áp dụng Fuzzy tìm kiếm / Matching với các loại Database Engine nhưng mà vào thời gian đó, kiếm của chính mình chỉ là Excel cùng VBA. Kiếm của mình đã cứu vớt mình như thế.

Khám phá những khả năng thần thánh của VBA tại khoá học VBA101 – VBA cơ phiên bản dành cho tất cả những người mới bước đầu nhé. Thông tin chi tiết về khóa học, bạn vui mắt xem tại mặt đường link: https://toolboxsport.store.online/course/preview/vba101-tu-dong-hoa-excel-voi-lap-trinh-vba-cho-nguoi-moi-bat-dau