Mình sử dụng hàm VLOOKUP để tìm kiếm học sinh khác nhau giữa 2 danh sách nhưng hiện tại bị lỗi một bên nhận thông tin đúng, một bên lại không nhận thông tin đó, mình đã sử dụng hàm TRIM để loại bỏ khoảng trống trong tên. Hai bên đều dùng font UNICODE. Mình có gửi kèm file mong các cao nhân giúp đỡ.
Xin chân thành cảm ơn !!!
Mình sử dụng hàm VLOOKUP để tìm kiếm học sinh khác nhau giữa 2 danh sách nhưng hiện tại bị lỗi một bên nhận thông tin đúng, một bên lại không nhận thông tin đó, mình đã sử dụng hàm TRIM để loại bỏ khoảng trống trong tên. Hai bên đều dùng font UNICODE. Mình có gửi kèm file mong các cao nhân giúp đỡ.
Xin chân thành cảm ơn !!!
Cảm ơn b đã góp ý, nhưng bên sheet 1 thì tìm được thông tin bên sheet 2 mà bên sheet 2 thì lại không tìm được bên sheet 1. Không biết tại sao và sửa như thế nào b nhỉ.
Cảm ơn b đã góp ý, nhưng bên sheet 1 thì tìm được thông tin bên sheet 2 mà bên sheet 2 thì lại không tìm được bên sheet 1. Không biết tại sao và sửa như thế nào b nhỉ.
Có thể để kiểm tra sự thiếu sót bên này so với bên kia. Ví dụ sheet1 có 100 người, sheet2 có 101 người. Nếu chỉ công thức ở sheet1(tìm bên sheet2) thì tất cả đều hiện tên đầy đủ, nhưng ngược lại, nếu công thức ở sheet2(tìm ở sheet1) thì có 1 người không có trong danh sách và bị hiên #N/A
Có thể để kiểm tra sự thiếu sót bên này so với bên kia. Ví dụ sheet1 có 100 người, sheet2 có 101 người. Nếu chỉ công thức ở sheet1(tìm bên sheet2) thì tất cả đều hiện tên đầy đủ, nhưng ngược lại, nếu công thức ở sheet2(tìm ở sheet1) thì có 1 người không có trong danh sách và bị hiên #N/A
Nếu mục đích kiểm tra thiếu sót giữa hai bên thì trường hợp này chỉ khả thi khi có mã vì tên trùng nhau nhiều lắm và định dạng chữ cũng không đồng nhất.
Nếu mục đích kiểm tra thiếu sót giữa hai bên thì trường hợp này chỉ khả thi khi có mã vì tên trùng nhau nhiều lắm và định dạng chữ cũng không đồng nhất.
Và gặp nhiều trường hợp như này, lấy tên học sinh để dò. Không biết khái niệm này từ đâu ra nhưng đó là điều hoàn toàn không hợp lý. Nếu nối chuỗi tên,ngày sinh, lớp thì nó khá an toàn. Còn tìm kiếm mỗi tên không thôi thì một trường như vậy khả năng trùng tên nhau là cực kỳ lớn
Còn vấn đề nữa, thớt nói là tất cả font đều bằng unicode (đúng hơn là bảng mã), nhưng mình tin chắc là bảng mã trong file chắc chắn có sự khác nhau. Chỉ là mình chưa biết cách kiểm tra bảng mã nguồn của nó
Có lẽ bạn ấy đang tìm ra những mã #N/A để kiểm tra, theo như ban đầu bạn ấy nói:
Và gặp nhiều trường hợp như này, lấy tên học sinh để dò. Không biết khái niệm này từ đâu ra nhưng đó là điều hoàn toàn không hợp lý. Nếu nối chuỗi tên,ngày sinh, lớp thì nó khá an toàn. Còn tìm kiếm mỗi tên không thôi thì một trường như vậy khả năng trùng tên nhau là cực kỳ lớn
Còn vấn đề nữa, thớt nói là tất cả font đều bằng unicode (đúng hơn là bảng mã), nhưng mình tin chắc là bảng mã trong file chắc chắn có sự khác nhau. Chỉ là mình chưa biết cách kiểm tra bảng mã nguồn của nó
Thực ra cách dò của thớt có nhiều chỗ hở lắm. Nhưng đây là kiểu làm ăn "đến đâu hay đến đó" mà. Hễ kẹt thì lại lên đây hỏi tiếp.
Lối là lỗi tại sự sốt sắng của GPE khiến nhiều người ỷ lại, riết rồi không còn biết sử dụng tầm nhìn xa hơn.
Cảm ơn b đã góp ý, nhưng bên sheet 1 thì tìm được thông tin bên sheet 2 mà bên sheet 2 thì lại không tìm được bên sheet 1. Không biết tại sao và sửa như thế nào b nhỉ.
Chuyện tìm kiếm theo tên dĩ nhiên là không nên vì có thể 2 người cùng họ tên. Nhưng không thể chối cãi là Sheet1 tìm thấy "Nguyễn Trung Hiếu" trong sheet2 trong khi sheet2 không tìm thấy "Nguyễn Trung Hiếu" trong sheet1 mặc dù cả 2 sheet đều có "Nguyễn Trung Hiếu". Đây là vấn đề cần làm sáng tỏ, vì đây là vấn đề lòng tin vào anh VLOOKUP. Nếu anh ta lúc tìm thấy (khi vui anh ta dễ tính?) lúc không tìm thấy (khi bực bội anh ta không tìm?) thì không thể tin tưởng được anh ta. Mà đã không thể tin tưởng thì có nghĩa là không dùng được.
Vấn đề chỉ xuất hiện khi chuỗi có ký tự unicode. Có đúng là cả 2 sheet đều có "Nguyễn Trung Hiếu"? Đúng. Nhưng chúng ............. không như nhau.
1. Tại sao sheet2 không tìm thấy "Nguyễn Trung Hiếu" trong sheet1?
Trong sheet1 có 4 chỗ có "Nguyễn Trung Hiếu" - D19, D217, D960, D1117. Ta xét sheet2!B27. Hãy chạy code
Mã:
Sub test()
Dim k As Long, s As String
s = Sheet2.Range("B27").Value
Debug.Print Len(s)
s = Sheet1.Range("D19").Value
Debug.Print Len(s)
s = Sheet1.Range("D217").Value
Debug.Print Len(s)
s = Sheet1.Range("D960").Value
Debug.Print Len(s)
s = Sheet1.Range("D1117").Value
Debug.Print Len(s)
End Sub
Cảm ơn các bác đã cho mình nhiều thông tin quý báu. Mình xin trả lời một số thông tin các bạn hỏi.
Mình cũng biết tìm người theo tên có nhiều hạn chế nhưng do phải so sánh danh sách từ 2 nguồn khác nhau nên không có mã số từng người, đành phải tìm theo tên rồi so ngày tháng năm sinh để ra được người thừa người thiếu, cũng mất thời gian lắm các bác ah.
Liệu có cách nào để so sánh và tìm nhanh hơn được không các bác ơi ???
Bài đã được tự động gộp:
Cảm ơn bác. Giờ mình đã hiểu vì sao rồi. Liệu có cách nào để chuyển đổi về cùng bảng mã không bác ơi. Kiểu như dùng chức năng CHUYỂN MÃ ở phần mềm UniKey ấy ???
Chuyển mã là công vệc hết sức khó. Nếu bản ban đầu dùng tiêu chuẩn 1 mã thì gần như phần mềm nào cũng làm được. Nhưng nếu không bảo đảm được thuần một mã thì Unikey vừa chạy vừa khấn nguyện cho nó xuôi rót, nếu có vấn đề thì cũng một vài chỗ chỉnh tay được.