Nhờ Các bạn giúp mình cách Ghep cacc chữ cái trong ô Họ Và tên! (1 người xem)

Liên hệ QC

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

ngotuanthuy

Thành viên mới
Tham gia
29/8/11
Bài viết
9
Được thích
1
theo nhu cầu của công việc mình đang có một file excel trong đó có một ô Họ và tên, mình muốn ô họ và tên có thể ghép được thành tên+Họ+tên đệm (VD: Nguyễn văn an thành ANNV) nhưng không biết phải làm cách nào? nhờ các bạn giúp đỡ mình cảm ơn các bạn nhiều!
 

File đính kèm

Lần chỉnh sửa cuối:
minh đã thử rồi bạn ạ, nếu như dùng hàm này thi khi tach ra no se ra tên đêm +tên+họ (VD:nguyen ngoc tuan anh thì sẽ là [TABLE="width: 182"]
[TR]
[TD="width: 182"]tuan anhnn chứ không phải là anhnnt bạn ạ, bạn còn cách nào khác thì giúp mình với nhé, thanks bạn nhiều
[/TD]
[/TR]
[/TABLE]
)
 
Bạn kiểm tra lại nhé. Cú pháp của hàm là : =tach(địa chỉ)
 

File đính kèm

Bạn kiểm tra lại nhé. Cú pháp của hàm là : =tach(địa chỉ)
Chào ban! Cách này của tintam7251 thì thấy đúng kết quả rồi, nhưng vẫn thích góp vui thêm cách nữa.
Bạn thử với code này: (học của Thầy Tuấn - Ndu..)
PHP:
Function TenTat(Text As String) As String
  Text = " " & WorksheetFunction.Trim(Text)
  Do Until InStr(Text, " ") = 0
    Text = Mid(Text, InStr(Text, " ") + 1, Len(Text))
    TenTat = TenTat & Left(Text, 1)
  Loop
End Function
Sau đó dùng hàm:
PHP:
=TRIM(RIGHT(SUBSTITUTE(TRIM(A2)," ",REPT(" ",50)),50))&TenTat(TRIM(SUBSTITUTE(A2,TRIM(RIGHT(SUBSTITUTE(TRIM(A2)," ",REPT(" ",50)),50)),"")))

Bạn xem thêm file nhé!
 

File đính kèm

Nếu không dùng code thì dùng hàm nhé:
Mã:
=LEFT(IFERROR(PROPER(RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1,CHAR(32),"|",LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(32),"")))))),"")&UPPER(LEFT(A1,1))&IFERROR(UPPER(MID(A1,FIND("|",SUBSTITUTE(A1,CHAR(32),"|",1))+1,1)),"")&IFERROR(UPPER(MID(A1,FIND("|",SUBSTITUTE(A1,CHAR(32),"|",2))+1,1)),"")&IFERROR(UPPER(MID(A1,FIND("|",SUBSTITUTE(A1,CHAR(32),"|",3))+1,1)),"")&IFERROR(UPPER(MID(A1,FIND("|",SUBSTITUTE(A1,CHAR(32),"|",4))+1,1)),""),LEN(IFERROR(PROPER(RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1,CHAR(32),"|",LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(32),"")))))),"")&UPPER(LEFT(A1,1))&IFERROR(UPPER(MID(A1,FIND("|",SUBSTITUTE(A1,CHAR(32),"|",1))+1,1)),"")&IFERROR(UPPER(MID(A1,FIND("|",SUBSTITUTE(A1,CHAR(32),"|",2))+1,1)),"")&IFERROR(UPPER(MID(A1,FIND("|",SUBSTITUTE(A1,CHAR(32),"|",3))+1,1)),"")&IFERROR(UPPER(MID(A1,FIND("|",SUBSTITUTE(A1,CHAR(32),"|",4))+1,1)),""))-1)
 

File đính kèm

Chào ban! Cách này của tintam7251 thì thấy đúng kết quả rồi, nhưng vẫn thích góp vui thêm cách nữa.
Bạn thử với code này: (học của Thầy Tuấn - Ndu..)
PHP:
Function TenTat(Text As String) As String
  Text = " " & WorksheetFunction.Trim(Text)
  Do Until InStr(Text, " ") = 0
    Text = Mid(Text, InStr(Text, " ") + 1, Len(Text))
    TenTat = TenTat & Left(Text, 1)
  Loop
End Function
Sau đó dùng hàm:
PHP:
=TRIM(RIGHT(SUBSTITUTE(TRIM(A2)," ",REPT(" ",50)),50))&TenTat(TRIM(SUBSTITUTE(A2,TRIM(RIGHT(SUBSTITUTE(TRIM(A2)," ",REPT(" ",50)),50)),"")))

Bạn xem thêm file nhé!
Đã code thì viết luôn 1 lần ---> Code xong rồi còn chơi 1 công thức dài nhằng nữa, ai chịu nỗi
Ẹc... Ẹc...
PHP:
Function TenTat(ByVal Text As String) As String
  Dim Arr, Tmp As String, i As Long
  On Error Resume Next
  Arr = Split(WorksheetFunction.Trim(Text), " ")
  For i = 0 To UBound(Arr) - 1
    Tmp = Tmp & Left(Arr(i), 1)
  Next
  TenTat = UCase(Arr(UBound(Arr))) & Tmp
End Function
Muốn loại bỏ dấu tiếng Việt luôn thì phải thêm 1 hàm nữa
 

File đính kèm

Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom