Các phương pháp tách họ và tên đề nghị post ở đây

Liên hệ QC
Việc tách này các bạn đã giải nhiều rồi. Cả bằng công thức, cả bằng VBA. Tuy nhiên mình lưu ý với các bạn rằng đầu tiên ta phải làm rõ các khái niệm :
(Giả sử phân cách các từ là khoảng trống)

Như thế nào là HỌ
Như thế nào là TÊN LÓT
Như thế nào là TÊN

VD :
Trần Hoàn
Nguyễn Y Vân
Nguyễn Thị Minh Khai
Nguyễn Đình Thanh Bảo Quốc (đây là dòng họ Nguyễn Đình)
Nguyễn Hồng Tử Thanh Thái
Nguyễn Tử Chính Long Bảo Ứng
. . . . . . . . . . . . . . . . . . .

Đấy, chỉ khi các bạn hiểu rõ đâu là HỌ, đâu là TÊN LÓT, đâu là TÊN thì khi đó mới làm tiếp theo được.

Chứ cứ quanh quẩn mãi ở cái tên Vũ Như Cẩn, Y Như Cũ . . thì chỉ cần mấy hàm đơn giản là ra rồi.

Mong được xem xét.

Thân!
 
Theo quan niệm và quy ước về họ tên Tiếng Việt - Chữ Việt thì: Từ đầu tiên phía trái sẽ là "Họ" (Thường là họ cha, chỉ trong trường hợp không xác định được cha thì mới lấy họ mẹ), từ cuối cùng bên phải sẽ là "Tên" của người đó - còn lại các từ đứng giữa dù là một hay nhiều thì cũng chỉ được coi là "Tên lót" hoặc "Họ đệm" / "Tên đệm"

Nếu không phải, xin được chỉ giáo tiếp !
 
vungoc đã viết:
Theo quan niệm và quy ước về họ tên Tiếng Việt - Chữ Việt thì: Từ đầu tiên phía trái sẽ là "Họ" (Thường là họ cha, chỉ trong trường hợp không xác định được cha thì mới lấy họ mẹ), từ cuối cùng bên phải sẽ là "Tên" của người đó - còn lại các từ đứng giữa dù là một hay nhiều thì cũng chỉ được coi là "Tên lót" hoặc "Họ đệm" / "Tên đệm"

Nếu không phải, xin được chỉ giáo tiếp !

Đây cũng là một ý, tuy nhiên Cụ Lê Hồng Phong không thích thiên hạ gọi người yêu của Cụ là KHAI đâu, mà phải là Minh Khai (hoặc Nguyễn Thị Minh Khai)

Miền Tây lại có kiểu mọi người rất thích đặt tên các con theo kiểu :

Nguyễn Hoàng Thanh Sang
Nguyễn Hoàng Kim Sang
Nguyễn Hoàng Phương Sang
Nguyễn Hoàng Anh Sang

. . . . . . . . .

Nếu gọi là Sang cả thì e . . . . nhậu không được (vì không biết thằng sang nào uống rồi !!!!??)

Còn ngoài Bắc thì họ Trần Đình, họ Nguyễn Phúc . . . thật là nhiều. Làm không cẩn thận, mỗi lần về quê là các cụ xách tai lên mà mắng đấy : "Họ ta là họ Trần Đình, còn họ Trần là của . . làng bên, mày sang làng bên mà . . ở !!!"

Thân!

Thân!
 
Gởi bác Hiếu
Thông thường thì hiểu như anh VuNgoc là phổ biến nhất. Còn hiểu như Hiếu hình như chỉ có các cụ mới dùng và có vẻ mang tính địa phương. Nếu Họ khi 1 chữ, khi 2 chữ ... chuyến này chắc về làng nhờ các cụ viết code giúp thôi. Hi hi

Thân !
 
Phương ngữ / hay tập tục / hay tập quán / hay văn hóa vùng, miền thì quá đa dạng - hìhì. Vấn đề chỉ giải quyết được trên cơ sở có một "Khái niệm chung".
 
- Theo cái chung thì đa số vẫn là Họ/ Chữ lot/ Tên nên theo em các Pác nên thống nhất như vậy cho dể.
- Còn những tên đăc biệt thì đành sử = tay thôi.
- Chương trình lọc của em gởi lên là ok.
 
Tu Anh đã viết:
Bạn dùng thử Macro mình làm xem. Cái này có thể tách chuỗi bất kỳ bằng cách chọn ký tự làm mốc tách. Chú ý trong ô chọn mốc tách chỉ đánh 1 ký tự thôi nhé ví dụ +, -, " " (Ký tự trống), â, ô....)*&^))*&^)

Bạn có thể post code của bạn lên được không. Quả thực mình mở File của bạn ra thì code bị xóa mất rồi.

Thông cảm vậy.

Thanks!

Thân!
 
Macro tách chuỗi

Trích:
Nguyên văn bởi Mr Okebab
Bạn có thể post code của bạn lên được không. Quả thực mình mở File của bạn ra thì code bị xóa mất rồi.

Thông cảm vậy.

Thanks!

Thân!


Xin lỗi nhé. Hôm trước post file lên thấy mọi người bảo bị nhiễm virus nên cả ngày hôm nay ngồi hì hụi tải các loại chương trình diệt virus về diệt. Hình như diệt hết rồi nhưng mấy cái file có code cũng ra đi luôn nên phải từ từ để mình làm lại đã. Chờ vậy nhé.
 
Lần chỉnh sửa cuối:
Đây rồi, mình làm lại cái chương trình tách chuỗi rồi, mọi người tham khảo, tuy không bằng cái trước, nhưng nó cũng đủ các cái cơ bản. Mọi người tải về chú ý kiểm tra xem có virus ko? Nếu có thì lên tiếng mình post mã code lên cho.
Chương trình này chỉ là sơ khai vẫn còn nhiều hạn chế, mong mọi người góp ý phát triển thêm cho hoàn thiện.
 

File đính kèm

  • Tach chuoi.rar
    8 KB · Đọc: 243
Đây là hàm tách họ, tên, lót. Các bác xem cho ý kiến nhé.

Thân!
 

File đính kèm

  • TachHoten.xls
    22.5 KB · Đọc: 520
Gởi Hiếu
Rất hay, gọn nhẹ nhưng Hiếu cắt luôn nấy khoảng trắng thừa thì tuyệt vời hơn.
Thanks
 
tedaynui đã viết:
Gởi Hiếu
Rất hay, gọn nhẹ nhưng Hiếu cắt luôn nấy khoảng trắng thừa thì tuyệt vời hơn.
Thanks

Cảm ơn nhiều, em đã sửa.
Nhưng không biết tại sao trong VBA hàm trim lại không tác dụng, phải khai báo như hàm của excel.
 
Có maro nào tách họ tên ra làm hai cột không zậy?

cho mình hỏi có maro nào tách họ và tên thành hai cột riêng biệt không! thank
 
Tất nhiên là có... nhưng bạn sử dụng chức năng Text to Column trong Excel cũng làm dc điều này mà.
Mến
ANH TUẤN
 
ongtrungducmx25 đã viết:
cho mình hỏi có maro nào tách họ và tên thành hai cột riêng biệt không! thank
Bác theo dõi ở đây nhé :

HTML:
http://www.giaiphapexcel.com/forum/showthread.php?t=2725

File mẫu

Thân!
 
có cách nào bổ sung thêm tách chữ lót được không
code:
PHP:
Private Function Tachten(ten As String, lg As Integer)
Dim j As Integer
     Name = Trim(ten)
  For j = Len(Name) To 1 Step -1
    If Mid(Name, j, 1) = " " Then
       If lg = "1" Then
          Tachten = Right(Name, Len(Name) - j)
       Else
          Tachten = Left(Name, j)
       End If
  Exit For
    End If
  Next
End Function
=TachTen(B3,0)
=TachTen(B3,1)
xin các pác bổ sung tách chữ lót đi!
chữ lót:
VD: Cao thuỳ Mỹ Dung ==> "Thuỳ Dung"
họ:
còn họ thì :"Cao" nhé!
 
Tên của VN đặt lộn xộn... làm sao mà tách đây... Chỉ có thể tách khi bạn đặt ra 1 nguyên tắc nào đó... lấy VD: Họ là chử đầu, tên là chử cuối, chứ lót là những cái nằm giữa... nhưng dù là vậy thì đến ngày nào đó bạn sẽ phát hiện ra sự bất hợp lý của nguyên tắc trên... Món này Bắp có từng đề cập tới (nếu tôi nhớ ko lầm)
Mến
ANH TUẤN
 
đúng rồi mình xem trên diễn đàn có code đó nhưng theo nguyên tắc chữ lót là phần ở giữ thì đúng ý mình rồi! có thể lấy như thế nào đây!
 
ongtrungducmx25 đã viết:
đúng rồi mình xem trên diễn đàn có code đó nhưng theo nguyên tắc chữ lót là phần ở giữ thì đúng ý mình rồi! có thể lấy như thế nào đây!
Chào thầy
Em gởi thầy thử mấy công thức này xem. Nếu được thì thầy khỏi dùng VBA
Tại ô A2 chứa chuỗi tên (VD : Nguyễn Trần Thanh Hùng)
Họ : =LEFT(A2,FIND(" ",A2,1))
Tên : =RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))
Lót : =TRIM(RIGHT(A2,LEN(A2)-LEN(B2)-LEN(C2)))
Họ và lót : =LEFT(A2,FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))-1)

TDN
From AnhTuan1066:
Phước ơi... Tôi đễ ý ông này hình như ổng ko khóai dùng công thức... Thích dùng VBA cho nó sang... Tôi nhớ hình như thầy Phước có code này mà... Cho đi...
hi... hi...
 
Chỉnh sửa lần cuối bởi điều hành viên:
anhtuan1066 đã viết:
Phước ơi... Tôi đễ ý ông này hình như ổng ko khóai dùng công thức... Thích dùng VBA cho nó sang... Tôi nhớ hình như thầy Phước có code này mà... Cho đi...
hi... hi...
Hi hi... tất nhiên là trong trường hợp này dùng VBA vừa sang lại vừa đẹp nhưng em muốn đưa ra 1 giải pháp khác, ai thích cái nào thì dùng cái đó vậy mà. VBA của em củ chuối lắm, em xin phép Mr.Hiếu gởi lại bài của ông Bắp vậy, OK lắm. hi hi...
File này của Mr.Hiếu làm hay lắm á.

Thân !
From AnhTuan1066:
Ngon đấy chứ... Nhưng Phước nè... Sao nó tách đến cell A8 thì nghĩ luôn vậy? Từ A9 trở đi im re... Làm sao chỉnh đây?
ANH TUẤN
 

File đính kèm

  • Tach Ho ten.zip
    7.7 KB · Đọc: 249
Chỉnh sửa lần cuối bởi điều hành viên:
Web KT
Back
Top Bottom