Tìm kiếm họ, tên đệm, tên trong chuỗi họ tên để biết Quốc tịch của họ ! (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

HeSanbi

Nam Nhân✨Hiếu Lễ Nghĩa Trí Tín✨
Tham gia
24/2/13
Bài viết
2,733
Được thích
4,307
Giới tính
Nam
Tôi có một File dữ liệu, Gồm sheet OderName chứa một cột để nhập họ tên
và sheet Name gồm họ, tên, tên đệm có sẵn của nhiều quốc gia
tôi muốn tách họ tên trong sheet OderName thành Họ , Tên Đệm, Tên
Sau đó xét từng thành phần là nước nào rồi cho kết quả quốc tịch của họ
để xét quốc tịch, tôi dùng tỉ lệ nếu Quốc tịch nào chiếm trội hơn trong thành phần tên thì là Quốc tịch ấy
Để được sheet KetQua
Mong mọi người trên GPE giúp đỡ tôi
 

File đính kèm

Lần chỉnh sửa cuối:
Không hiểu rõ lắm về "tỉ lệ" mà bạn nói.
Lấy ví dụ họ "hồ" thì tỉ lệ sẽ được tính thế nào bạn
 
Upvote 0
Không hiểu rõ lắm về "tỉ lệ" mà bạn nói.
Lấy ví dụ họ "hồ" thì tỉ lệ sẽ được tính thế nào bạn
Xét giá trị xuất hiện:
Hoa Kỳ : tỉ lệ 100% cho Kết quả "Hoa Kỳ"
Canada, Hoa Kỳ tỉ lệ này 1:1 cho Kết quả "Chưa xác định"
Canada, Canada, Hoa Kỳ tỉ lệ này 2:1 cho Kết quả "Canada"
 
Lần chỉnh sửa cuối:
Upvote 0
Fần xét quốc tịch xin nhường bạn, sau khi chạy macro này:
PHP:
Sub TimQuocTichTheoTen()
 Dim Rng As Range, sRng As Range, Sh As Worksheet, Rg0 As Range, Cls As Range
 Dim MyAdd As String
 Dim Rws As Long, Dg As Long
 Set Sh = ThisWorkbook.Worksheets("Name")
 Set Rng = Sh.[b6].CurrentRegion
 Sheets("OderName").Select
 Rws = [c4].CurrentRegion.Rows.Count
 [L4].Resize(Rws, 14).ClearContents
 [L4].Resize(Rws).Value = "GPE.COM"
 For Dg = 4 To [c4].End(xlDown).Row
    For Each Cls In Range(Cells(Dg, "c"), Cells(Dg, "c").End(xlToRight))
        If Cls.Value <> "" Then
            Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
            If sRng Is Nothing Then
                Cells(Cls.Row, "Z").End(xlToLeft).Value = "Nothing"
            Else
                MyAdd = sRng.Address
                Do
                    Cells(Cls.Row, "Z").End(xlToLeft).Offset(, 1).Value = Sh.Cells(4, sRng.Column).Value
                    Set sRng = Rng.FindNext(sRng)
                Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
            End If
        End If
    Next Cls
 Next Dg
End Sub
 
Upvote 0
Fần xét quốc tịch xin nhường bạn, sau khi chạy macro này:
PHP:
Sub TimQuocTichTheoTen()
 Dim Rng As Range, sRng As Range, Sh As Worksheet, Rg0 As Range, Cls As Range
 Dim MyAdd As String
 Dim Rws As Long, Dg As Long
 Set Sh = ThisWorkbook.Worksheets("Name")
 Set Rng = Sh.[b6].CurrentRegion
 Sheets("OderName").Select
 Rws = [c4].CurrentRegion.Rows.Count
 [L4].Resize(Rws, 14).ClearContents
 [L4].Resize(Rws).Value = "GPE.COM"
 For Dg = 4 To [c4].End(xlDown).Row
    For Each Cls In Range(Cells(Dg, "c"), Cells(Dg, "c").End(xlToRight))
        If Cls.Value <> "" Then
            Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
            If sRng Is Nothing Then
                Cells(Cls.Row, "Z").End(xlToLeft).Value = "Nothing"
            Else
                MyAdd = sRng.Address
                Do
                    Cells(Cls.Row, "Z").End(xlToLeft).Offset(, 1).Value = Sh.Cells(4, sRng.Column).Value
                    Set sRng = Rng.FindNext(sRng)
                Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
            End If
        End If
    Next Cls
 Next Dg
End Sub
Có vẻ như CODE của anh Hoang2013 không cho ra kết quả tôi muốn, kết quả bị rối
không biết bài của tôi có thể dùng Hàm Vlookup, Hlookup, hay Index được không
 
Lần chỉnh sửa cuối:
Upvote 0
Xét giá trị xuất hiện:
Hoa Kỳ : tỉ lệ 100% cho Kết quả "Hoa Kỳ"
Canada, Hoa Kỳ tỉ lệ này 1:1 cho Kết quả "Chưa xác định"
Canada, Canada, Hoa Kỳ tỉ lệ này 2:1 cho Kết quả "Canada"
Hình như dân Hoa Kỳ, Canada có họ tên tương tự nhau và có nguồn từ các nước cựu lục địa
 
Upvote 0
Kết quả đây bạn, rối chỗ nào vậy?
PHP:
An  Phong          Việt Nam Việt Nam         
林 郭 胡            Nhật Bản Trung Quốc Trung Quốc Trung Quốc Trung Quốc Trung Quốc Trung Quốc
Huy Anh Vũ         Việt Nam Việt Nam Việt Nam       
Long Phan                           
정                 Nothing           
Trần Duy           Việt Nam Việt Nam         
Hasuko Haruki      Nhật Bản Nhật Bản Nhật Bản       
Kevin              Nothing           
Luân Nguyễn        Việt Nam Việt Nam         
Andersson Hansen   Nothing Đan Mạch

Thêm nữa: Chữ "Phan" có dư 1 khoảng trắng nên fương thức không tìm thấy
 
Upvote 0
Kết quả đây bạn, rối chỗ nào vậy?
PHP:
An  Phong          Việt Nam Việt Nam        
林 郭 胡            Nhật Bản Trung Quốc Trung Quốc Trung Quốc Trung Quốc Trung Quốc Trung Quốc
Huy Anh Vũ         Việt Nam Việt Nam Việt Nam      
Long Phan                          
정                 Nothing          
Trần Duy           Việt Nam Việt Nam        
Hasuko Haruki      Nhật Bản Nhật Bản Nhật Bản      
Kevin              Nothing          
Luân Nguyễn        Việt Nam Việt Nam        
Andersson Hansen   Nothing Đan Mạch

Thêm nữa: Chữ "Phan" có dư 1 khoảng trắng nên fương thức không tìm thấy
Chữ Hàn Quốc luôn là Nothing
và chổ này 林 郭 胡 Nhật Bản Trung Quốc Trung Quốc Trung Quốc Trung Quốc Trung Quốc Trung Quốc
xét trong 3 ô, thì kết quả lại ra 7 ô dữ liệu
và tôi dùng một phương thức tự động để chạy Macro, khi excel đang ở sheet bất kì
nếu dùng Sheets("OderName").Select ,buộc excel phải trở lại Sheets("OderName")
Tôi không biết sữa code ntn để phù hợp
 
Upvote 0
Hình như dân Hoa Kỳ, Canada có họ tên tương tự nhau và có nguồn từ các nước cựu lục địa
Cảm ơn anh HieuCD , Vì tìm kiếm tương đối để xác đinh được quốc tịch gần chính xác, để sau đó đặt truy vấn cho người mang tên "có phải bạn thuộc người nước đấy không"
 
Upvote 0
(3) Chữ Hàn Quốc luôn là Nothing
(2) và chổ này 林 郭 胡 Nhật Bản Trung Quốc Trung Quốc Trung Quốc Trung Quốc Trung Quốc Trung Quốc
xét trong 3 ô, thì kết quả lại ra 7 ô dữ liệu
(1)và tôi dùng một phương thức tự động để chạy Macro, khi excel đang ở sheet bất kì
nếu dùng Sheets("OderName").Select ,buộc excel phải trở lại Sheets("OderName")
Tôi không biết sữa code ntn để phù hợp

(1) Chuyện này bạn chưa nêu từ bài đầu đến giờ; Cách giải quyết sẽ được suy tính đến bắt đầu chỉ có thể từ lúc này.
Fương hướng là đưa vô biến kiểu Sheet & 1 sheet hiện hành.

(2) Vì tìm kiếm tất các các từ giống đều hiện ra kết quả; Còn cụ thể nó giống những đâu thì mai mình sẽ tách riêng 3 chữ đó &tìm cho bạn địa chỉ nơi fương thức đã tìm thấy

(3) Bạn thử chép các từ từ trang tính này sang trang tính bên kia xem có tìm ra không?
Vấn đề ở đây là còn font chữ nữa có thể nhìn thấy 2 chữ giống nhau, nhưng khác nhau về Font thì chịu chết thôi

Chúc ngủ ngon giấc!
 
Upvote 0
Hình như dân Hoa Kỳ, Canada có họ tên tương tự nhau và có nguồn từ các nước cựu lục địa

Đầu tiên hết, Canada là nước có 2 thứ tiếng Anh và Pháp.

Thứ hai, cả khối Châu Mỹ La Tinh đều nói tiếng Tây ban nha, trừ Brasil nói tiếng Bồ đào nha. Như vậy, gặp 1 cái tên La tinh thì thực sự chả thể xác định nguồn gốc nó là Tây ban nha hay bất cứ nước nào trong Châu Mỹ La tinh, có thể là Mexico, Argentina, Cuba, ... Lại thêm hầu hết tên của Phi líp pin thực ra là Tây ban nha.

Nhưng điều quan trọng nhất là trên thực tế, cái tên rất ít liên quan đến quốc tịch của 1 người. Bruce Lee có thể quốc tich Mỹ mà cũng có thể quốc tịch Hồng Kông.
 
Upvote 0
(1) Chuyện này bạn chưa nêu từ bài đầu đến giờ; Cách giải quyết sẽ được suy tính đến bắt đầu chỉ có thể từ lúc này.
Fương hướng là đưa vô biến kiểu Sheet & 1 sheet hiện hành.

(2) Vì tìm kiếm tất các các từ giống đều hiện ra kết quả; Còn cụ thể nó giống những đâu thì mai mình sẽ tách riêng 3 chữ đó &tìm cho bạn địa chỉ nơi fương thức đã tìm thấy

(3) Bạn thử chép các từ từ trang tính này sang trang tính bên kia xem có tìm ra không?
Vấn đề ở đây là còn font chữ nữa có thể nhìn thấy 2 chữ giống nhau, nhưng khác nhau về Font thì chịu chết thôi

Chúc ngủ ngon giấc!
Tôi Copy thử , code cũng không xác định tiếng Hàn
Tôi thấy một số anh trên GPE có dùng Ucase để chuẩn hóa Font thì phải, Anh Hoang2013 thử xem sao
 
Upvote 0
Danh sách tìm tên các nước
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Chào anh VetMini, vì vậy tôi mới tách từng phần của tên rồi xét để tìm quốc tịch gần nhất, sau đó đặt câu hỏi, ví dụ: Excel xử lí được: họ tên là Mexico + Brazil thì câu hỏi là "bạn có phải người Mexico hay Brazil". Đồng thời cũng xét Comment (Nhận xét của người đó) thuộc ngôn ngữ nào, lúc đó Excel sẽ dễ dàng nhận biết hơn
Thay vì Họ tên, thì ở Sheet Name nếu liệt kê một số Ngôn ngữ, thì dể nhận biết họ là người nước nào
Ở đây tôi ví dụ một số Ngôn ngữ thay vì Họ tên
cũng làm tương tự để biết được họ đang nói Ngôn ngữ gì
Nếu anh VetMini có cách nào giải quyết, hãy giúp tôi

Bạn chả chịu đọc cho kỹ. Tôi nói rằng người Mexico dùng Spanish trong khi Brasil dùng Portugese. Nói chuyện về ngôn ngữ và chủng tộc mà ẩu như bạn thì làm ăn quái gì nữa.

Tôi không có cách nào "giải quyết" cả. Vì đối với tôi đây là công việc điên rồ. Quốc tịch rất ít dính líu đến tên. Nếu dùng tên để đoán ra "xuất xứ" thì may ra còn có cơ khoảng 20%. Đoán quốc tịch hầu như sai 90%. Thời buổi bi giờ người ta có 2, 3 quốc tịch là bình thường. Người Việt Nam và Trung Quốc sang nước ngoài hay lấy tên Tây cho xịn, nhưng người Ấn thì chưa hẳn.

Điển hình là tên Công Tằng Tôn Nữ Marie Nguyễn Thị Việt Hương Giang có đến 90% Việt và chỉ 10% Tây nhưng khả năng là ngược lại 90% quốc tịch Tây.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom