Nhờ giúp đỡ : Tách mã hàng trong tên hàng ( số kí tự không giống nhau) (3 người xem)

Liên hệ QC

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

Bobomkkk

Thành viên chính thức
Tham gia
28/2/20
Bài viết
76
Được thích
8
Em chào các anh/ chị,
Em muốn tách mã hàng ra từ tên hàng hóa, nhưng mỗi mã hàng ( hay tên hàng hóa) có số ký tự không giống nhau, và các đầu mã cũng không bắt đầu bằng ký tự giống nhau.
Các anh/ chị cho em xin 1 số giải pháp ạ. Em cảm ơn.
Em lấy ví dụ 1 số mã trong file thôi ạ. ( trên thực tế nó còn nhiều hơn thế rất rất nhiều ạ :( )
 

File đính kèm

Em chào các anh/ chị,
Em muốn tách mã hàng ra từ tên hàng hóa, nhưng mỗi mã hàng ( hay tên hàng hóa) có số ký tự không giống nhau, và các đầu mã cũng không bắt đầu bằng ký tự giống nhau.
Các anh/ chị cho em xin 1 số giải pháp ạ. Em cảm ơn.
Em lấy ví dụ 1 số mã trong file thôi ạ. ( trên thực tế nó còn nhiều hơn thế rất rất nhiều ạ :( )
Giải pháp là bạn hãy loại bỏ toàn bộ khoảng trắng trong phần mã hàng, ví dụ: DSJ02 - 25->DSJ02-25, DJG02 - 355 (có lưỡi)->DJG02-355(có_lưỡi)...
Khi đó có thể ra mã hàng dễ dàng bằng hàm: =TRIM(RIGHT(SUBSTITUTE(B7," ",REPT(" ",100)),100))
 
Giải pháp là bạn hãy loại bỏ toàn bộ khoảng trắng trong phần mã hàng, ví dụ: DSJ02 - 25->DSJ02-25, DJG02 - 355 (có lưỡi)->DJG02-355(có_lưỡi)...
Khi đó có thể ra mã hàng dễ dàng bằng hàm: =TRIM(RIGHT(SUBSTITUTE(B7," ",REPT(" ",100)),100))
cái này là em kết xuất từ phần mềm ra, tên hàng hóa phải đúng trên tờ khai nhập khẩu ạ, bỏ khoảng trắng đi thì được, nhưng thêm _ là không được ạ. Mà mỗi lần làm sẽ kết xuất từ trên phần mềm ra rồi làm, sợ mất thời gian không ạ?
 
cái này là em kết xuất từ phần mềm ra, tên hàng hóa phải đúng trên tờ khai nhập khẩu ạ, bỏ khoảng trắng đi thì được, nhưng thêm _ là không được ạ. Mà mỗi lần làm sẽ kết xuất từ trên phần mềm ra rồi làm, sợ mất thời gian không ạ?
Bạn có kết xuất được danh sách mã hàng không?
 
Tên hàng có cột mã bên canh rồi? tách làm gi nữa
 
không, file đầu là em chỉ lấy ví dụ nhỏ trong file thứ 2 thôi ạ. file thứ 2 là 1 ví dụ lớn trong file tổng hợp của bên em ạ
Làm đại cho bạn 2 cách
Mã:
E7 =RIGHT(B7,LEN(B7)-AGGREGATE(15,6,FIND({"D","F","Z","5","7"},B7,1),1)+1)
Mã:
G7 =IFERROR(INDEX(Sheet1!$A$6:$A$2349,MATCH(B7,Sheet1!$B$6:$B$2349,0)),"Khong Co")
 

File đính kèm

Em chào các anh/ chị,
Em muốn tách mã hàng ra từ tên hàng hóa, nhưng mỗi mã hàng ( hay tên hàng hóa) có số ký tự không giống nhau, và các đầu mã cũng không bắt đầu bằng ký tự giống nhau.
Các anh/ chị cho em xin 1 số giải pháp ạ. Em cảm ơn.
Em lấy ví dụ 1 số mã trong file thôi ạ. ( trên thực tế nó còn nhiều hơn thế rất rất nhiều ạ :( )
Bạn thử dùng hàm này.
Mã:
Function TachMa(ByVal NoiDung As String) As String
Static oRegE As Object, oMatches As Object, oMatch As Object
If oRegE Is Nothing Then
    Set oRegE = CreateObject("VBScript.RegExp")
    oRegE.Global = True
    oRegE.Pattern = " [0-9A-Z\- \|]{3,}(\(.+\))*"
End If
NoiDung = Replace(NoiDung, "x", "|", , , vbBinaryCompare)
If oRegE.Test(NoiDung) Then
    Set oMatches = oRegE.Execute(NoiDung)
    For Each oMatch In oMatches
        If oMatch.Length > Len(TachMa) Then
            TachMa = oMatch.Value
        End If
    Next
End If
TachMa = Replace(Trim(TachMa), "|", "x")
End Function
 
Web KT

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

Back
Top Bottom