Nhờ Tối ưu code trích lọc thông tin lao động

Liên hệ QC

KVP

Thành viên thường trực
Tham gia
7/7/07
Bài viết
218
Được thích
301
Nghề nghiệp
Cộng đồng
Chào các bạn
Hiện mình đang có một bài toán trích lọc, so sánh thông tin cá nhân của người lao động
Mình cần so sánh dữ liệu tại 02 sheet "Donvi" và "SMS" chứa thông tin gồm các trường:
Họ tên, giới tính, năm sinh, số CMND và lương.
như file sau:
http://www.zshare.net/download/56701683adacf2fe/

Yêu cầu: trích lọc, so sánh thông tin từ sheets "DONVI" vớii thông tin từ sheet "SMS" (dữ liệu ở đây làm chuẩn)
và lọc ra những người có thông tin không chính xác về Tên, giới tính, năm sinh, CMND và lương rồi ghi ra cụ thể như sheets "Bao cao".

Mình dùng 3 thủ tục:
1. Sắp xếp(1): kết nối 5 thông tin trên của từng sheet roi ghi sang sheet "ketqua" để so sánh
2. CompareAll (2). So sanh toàn bộ để lọc những người đúng toàn bộ. chỉ để lại những người lệc thông tin
3. CompareParts(3). So sánh từng thông tin của những người còn lại. Trường hợp: những người có đúng 4 thông tin nhưng chỉ không có số CMND thì lấy số CMND của người có đủ thông tin đó ở "SMS" điền vào số CMND bỏ trống của SHeet "DONVI" và ghi ra sheet "BAOCAO" . Số CMND là duy nhất mỗi người chỉ có 1 số.

Kết hợp 3 thủ tục trên để trich lọc, kết quả tương đối chính xác.
Nhưng tốc độ hạn chế, vẫn còn bỏ sót những trường hợp trùng tên, trùng lương, giới tính, năm sinh nhưng không có CMND.
Rất mong các bạn giúp mình hoàn thiện thủ tục trên, hoặc có phương án tối ưu khác hay hơn mong được chỉ bảo.

Trân thành cám ơn.
 
Web KT
Back
Top Bottom