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

Liên hệ QC
Có nhất nhiết trích dẫn bài của bác ấy không nhỉ?
View attachment 194954

Công thức ở chủ đề này có vô vàn rồi, ngắn gọn lắm rồi... sao mình còn làm dài vậy?
Ví dụ tách lấy tên:
Mã:
D4=TRIM(RIGHT(SUBSTITUTE(TRIM(B4)," ",REPT(" ",50)),30))
Còn họ và tên đệm:
Mã:
C4=LEFT(TRIM(B4),LEN(TRIM(B4))-LEN(D4)-1)
'Hoặc:
C4=LEFT(TRIM(B4),LEN(TRIM(B4))-LEN(TRIM(RIGHT(SUBSTITUTE(TRIM(B4)," ",REPT(" ",50)),30)))-1)

Mình cùi bắp thì như thế. Còn nếu dùng Excel 2013 trở lên thì Flash Fill rẹt rẹt 10 giây xong hết, không cần nghĩ ngợi gì.
Bác xem trim(B4) có thể bỏ hàm này được không?
Cách làm của bác rất hay. Em lại cứ lò mò đi làm lòng vòng vì không tính đến các tên riêng dù có dài nhưng luôn có giới hạn (VD bác chọn 30 ký tự)
 
Chỗ này để phòng trường hợp người ta nhập thừa khoảng trắng ở cuối ấy.
Ở hàm lấy tên ý:
D4=TRIM(RIGHT(SUBSTITUTE(TRIM(B4)," ",REPT(" ",50)),30))
Không cần lấy TRIM(B4) trong hàm SUBSTITUTE vì có thừa " " cũng không ảnh hưởng gì mà
 
Cho em hỏi ngược 1 tý
Em muốn gộp dử liệu C2,B2,D2,E2,F2,G2 vào cùng 1 ô H2
với C2 thêm cụm từ "Cửa hàng"
B2 thêm cụm từ "Mã cửa hàng" và
D2 thêm cụm từ "Địa chỉ
Nhờ các cao nhân chỉ giúp ạ
1533009091218.png
 
Xin mấy thầy giúp đở tách họ và tên khác nhau ký tự viết hoa với ạ

MorrisonFaith
JustinManning
BlackSebastian
StewartNash
QuinnLily
SimonKing
RutherfordLuke
JosephParsons
BrandonYoung
GrantAnthony

thank
 
Xin mấy thầy giúp đở tách họ và tên khác nhau ký tự viết hoa với ạ

MorrisonFaith
JustinManning
BlackSebastian
StewartNash
QuinnLily
SimonKing
RutherfordLuke
JosephParsons
BrandonYoung
GrantAnthony

thank
A1=MorrisonFaith
A2=JustinManning
A3=BlackSebastian
A4=StewartNash
A5=........
Mã:
B1=LEFT(A1,MATCH(,INDEX(N(EXACT(LOWER(MID(A1,ROW($2:$100),1)),MID(A1,ROW($2:$100),1))),),))
C1=MID(A1,LEN(B1)+1,100)

Thân
 
uầy, không ngờ nó lại vi diệu đến như thế
 
Mình xin phép chia sẻ cách tách họ tên bằng chức năng flash fill trong excel từ phiên bản 2013 trở đi rất tiện lợi
https://bit.ly/2PBzleP
 
Làm thế nào để tách chuỗi văn bản theo ký tự đặc biệt : Dấu ":" và dấu "|"
Tôi có những chuỗi như trong file đính kèm , bây giở tôi phai tách ra từng đoạn đươc cách nhau bởi cả dấu ":" và dấu "|"
các bạn giúp tôi với
xin cảm ơn nhiều
 

File đính kèm

  • hoitachchuoi.xlsx
    11.3 KB · Đọc: 8
Làm thế nào để tách chuỗi văn bản theo ký tự đặc biệt : Dấu ":" và dấu "|"
Tôi có những chuỗi như trong file đính kèm , bây giở tôi phai tách ra từng đoạn đươc cách nhau bởi cả dấu ":" và dấu "|"
các bạn giúp tôi với
xin cảm ơn nhiều
Bạn dùng code này xem đúng không nhé.
Mã:
Sub tach()
    Dim arr, i As Long, a As Long, arr1, T, LR As Long
    With Sheet1
         LR = .Range("A" & Rows.Count).End(xlUp).Row
         arr = .Range("A2:A" & LR).Value
         ReDim arr1(1 To UBound(arr, 1), 1 To 100)
         For i = 1 To UBound(arr, 1)
            a = 0
            arr(i, 1) = Replace(arr(i, 1), ":", "|")
            For Each T In Split(arr(i, 1), "|")
                a = a + 1
                arr1(i, a) = T
            Next
        Next i
        .Range("B2").Resize(LR, 100).ClearContents
        .Range("B2").Resize(i - 1, 100).Value = arr1
   End With
End Sub
 

File đính kèm

  • hoitachchuoi.xlsm
    22.9 KB · Đọc: 8
Bạn dùng code này xem đúng không nhé.
Mã:
Sub tach()
    Dim arr, i As Long, a As Long, arr1, T, LR As Long
    With Sheet1
         LR = .Range("A" & Rows.Count).End(xlUp).Row
         arr = .Range("A2:A" & LR).Value
         ReDim arr1(1 To UBound(arr, 1), 1 To 100)
         For i = 1 To UBound(arr, 1)
            a = 0
            arr(i, 1) = Replace(arr(i, 1), ":", "|")
            For Each T In Split(arr(i, 1), "|")
                a = a + 1
                arr1(i, a) = T
            Next
        Next i
        .Range("B2").Resize(LR, 100).ClearContents
        .Range("B2").Resize(i - 1, 100).Value = arr1
   End With
End Sub
Rất cảm ơn bạn
Nhưng bạn ơi tôi chưa biết gì về CODE cả - tôi mới chập chững học excel mà . Bạn có thể chỉ tôi cách dùng CODE không ? Bạn làm ơn chỉ theo từng bước một nhé - cảm on ban
 
Web KT
Back
Top Bottom