Chuỗi có 2 tên thì lấy tên nào?Gửi các bác, em có list các giao dịch qua tài khoản ngân hàng, muốn cần tách riêng họ tên không dấu, số tài khoản, mã số giao dịch, số cmnd.... trong ô thành các ô riêng rẽ. Vì nội dung các gd là khác nhau, mong các bác giúp ạ
Cả 2 bác ạ. Tối đa có 2 tên thôi, chắc mẹ đóng tiền cho con O_OChuỗi có 2 tên thì lấy tên nào?
"REM Tfr Ac: 51010001785121 NGUYEN THI HA Luu Thanh Quang 187845192 KTTD DHBK"
"REM Tfr Ac: 51010001785121 NGUYEN THI HA Luu Thanh Quang 187845192 KTTD DHBK"Cả 2 bác ạ. Tối đa có 2 tên thôi, chắc mẹ đóng tiền cho con O_O
Thì sẽ thành 1 tên Nguyen thi ha Luu thanh quang ; con cái kia la mai thi xuan và hoang duc chien dc ko bác (("REM Tfr Ac: 51010001785121 NGUYEN THI HA Luu Thanh Quang 187845192 KTTD DHBK"
"REM Tfr Ac: 45010006045504 MAI THI XUAN Chuyen tien Hoang Duc Chien 064202000040 KTTD DHBK"
Cái này tách 2 tên bằng niềm tin hả
Mã giao dịch của 2 dòng nàyThì sẽ thành 1 tên Nguyen thi ha Luu thanh quang ; con cái kia la mai thi xuan và hoang duc chien dc ko bác ((
REM Tfr Ac: 51010001785121 NGUYEN THI HA Luu Thanh Quang 187845192 KTTD DHBK |
REM Tfr Ac: 31510001179086 O@L_015005_211601_0_0_208518462_200710000119819 Nguyen Hoang Nam 125993488 KTTD DHBK ZP5MHDO4958G là gì vậy bạn? Bạn giải thích thông tin của chuỗi đi |
Ít nhất thì cái kết quả mong muốn được là gì thì phải ghi luôn ra chứ mọi người có phải bạn đâu mà biết đâu là mã GD đâu là số TK đâu là số cmnd. Bài này không có quy tắc chung hơi khoaiThì sẽ thành 1 tên Nguyen thi ha Luu thanh quang ; con cái kia la mai thi xuan và hoang duc chien dc ko bác ((
D3=TRIM(SUBSTITUTE(MID(A3,SEARCH(":",A3)+1,SEARCH(" ",A3,SEARCH(":",A3)+4)-(SEARCH(":",A3)+1)),",",""))
Ý mình là 4 cái cột trong ảnh này bạn muốn điền j thì gõ tay hẳn vào thì mới biết bạn muốn cái gì chứ ai biết chuỗi số 1 2 3 của bạn là tương ứng với cnnd hay TK hay mã giao dịch, bạn làm bạn biết chứ người khác biết số gì với số gìEm cần check xem trong ds user trên hệ thống, xem ai đã đóng tiền rồi bác ợ
Còn những ai chưa đóng tiền thì list ra 1 danh sách riêng gồm tên, cmnd
Ngoài ra, có 1 số người chuyển tiền thì ko có tên hay cmnd
Ý mình là 4 cái cột trong ảnh này bạn muốn điền j thì gõ tay hẳn vào thì mới biết bạn muốn cái gì chứ ai biết chuỗi số 1 2 3 của bạn là tương ứng với cnnd hay TK hay mã giao dịch, bạn làm bạn biết chứ người khác biết số gì với số gì
View attachment 241155
Có 1 quy tắc là số CMND đứng trước cụm từ "KTTD DHBK" bác ơi. Còn lại thì có những ng quên ghi thì check thủ công vậy!Đây bác ơi
Dùng tạm code dưới đây.Cả 2 bác ạ. Tối đa có 2 tên thôi, chắc mẹ đóng tiền cho con O_O
Option Explicit
Sub Ten_Taikhoan_CMND()
Dim Nguon
Dim tam
Dim kq() As String
Dim rws, i, j, k, x, y, z
With Sheet1
Nguon = .Range("A3", .Range("A3").End(xlDown))
rws = UBound(Nguon)
End With
With CreateObject("VbScript.RegExp")
.Global = True
.Pattern = "(([A-Za-z]+\s)+)(\d{9,11})"
ReDim kq(1 To rws, 1 To 3)
For i = 1 To rws
k = InStr(Nguon(i, 1), "KTTD")
If k Then
j = InStr(Nguon(i, 1), ":")
tam = Trim(Mid(Nguon(i, 1), j + 1, k - j))
If .test(tam) Then
kq(i, 1) = .Execute(tam)(0).submatches(0)
kq(i, 3) = .Execute(tam)(0).submatches(2)
j = InStr(tam, " ")
kq(i, 2) = Left(tam, j - 1)
If Right(kq(i, 2), 1) = "," Then kq(i, 2) = Left(kq(i, 2), Len(kq(i, 2)) - 1)
End If
End If
Next i
End With
With Sheet1
.Range("C3").Resize(UBound(kq), UBound(kq, 2)).ClearContents
.Range("C3").Resize(UBound(kq), UBound(kq, 2)) = kq
End With
End Sub
Hjx, bác chèn vào file giúp e được ko? E ko biết sử dụng cái nàyDùng tạm code dưới đây.
Mã giao dịch không có mẫu nên chưa xử lý
Mã:Option Explicit Sub Ten_Taikhoan_CMND() Dim Nguon Dim tam Dim kq() As String Dim rws, i, j, k, x, y, z With Sheet1 Nguon = .Range("A3", .Range("A3").End(xlDown)) rws = UBound(Nguon) End With With CreateObject("VbScript.RegExp") .Global = True .Pattern = "(([A-Za-z]+\s)+)(\d{9,11})" ReDim kq(1 To rws, 1 To 3) For i = 1 To rws k = InStr(Nguon(i, 1), "KTTD") If k Then j = InStr(Nguon(i, 1), ":") tam = Trim(Mid(Nguon(i, 1), j + 1, k - j)) If .test(tam) Then kq(i, 1) = .Execute(tam)(0).submatches(0) kq(i, 3) = .Execute(tam)(0).submatches(2) j = InStr(tam, " ") kq(i, 2) = Left(tam, j - 1) If Right(kq(i, 2), 1) = "," Then kq(i, 2) = Left(kq(i, 2), Len(kq(i, 2)) - 1) End If End If Next i End With With Sheet1 .Range("C3").Resize(UBound(kq), UBound(kq, 2)).ClearContents .Range("C3").Resize(UBound(kq), UBound(kq, 2)) = kq End With End Sub
Em chèn công thức vào nhưng click ko lọc gì được. Hay em chèn sai?Dùng tạm code dưới đây.
Mã giao dịch không có mẫu nên chưa xử lý
Mã:Option Explicit Sub Ten_Taikhoan_CMND() Dim Nguon Dim tam Dim kq() As String Dim rws, i, j, k, x, y, z With Sheet1 Nguon = .Range("A3", .Range("A3").End(xlDown)) rws = UBound(Nguon) End With With CreateObject("VbScript.RegExp") .Global = True .Pattern = "(([A-Za-z]+\s)+)(\d{9,11})" ReDim kq(1 To rws, 1 To 3) For i = 1 To rws k = InStr(Nguon(i, 1), "KTTD") If k Then j = InStr(Nguon(i, 1), ":") tam = Trim(Mid(Nguon(i, 1), j + 1, k - j)) If .test(tam) Then kq(i, 1) = .Execute(tam)(0).submatches(0) kq(i, 3) = .Execute(tam)(0).submatches(2) j = InStr(tam, " ") kq(i, 2) = Left(tam, j - 1) If Right(kq(i, 2), 1) = "," Then kq(i, 2) = Left(kq(i, 2), Len(kq(i, 2)) - 1) End If End If Next i End With With Sheet1 .Range("C3").Resize(UBound(kq), UBound(kq, 2)).ClearContents .Range("C3").Resize(UBound(kq), UBound(kq, 2)) = kq End With End Sub
Thử file dưới đây bạnHjx, bác chèn vào file giúp e được ko? E ko biết sử dụng cái này
Bài đã được tự động gộp:
Em chèn công thức vào nhưng click ko lọc gì được. Hay em chèn sai?