Lọc lấy các chữ sau dấu "/"

Liên hệ QC

Duong gia

Thành viên thường trực
Tham gia
15/1/07
Bài viết
352
Được thích
118
Chào các bạn, mình muốn tạo 1 button dùng Code lọc lấy chữ "thùng hay xô " sau dấu "/" thì làm sao, mong các bạn chỉ giúp. VD mặt hàng (quy cách) TÔM 1080 - ( 200g x 40 gói/thùng)----> lấy thùng CÁ 2010 - ( 200g x 40 bao/xô)----> lấy
 
Lần chỉnh sửa cuối:
Hàm của bạn đây : =RIGHT(A1;LEN(A1)-FIND("/";A1;1))

Nice day !!
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các bạn, mình muốn tạo 1 button dùng Code lọc lấy chữ "thùng hay xô " sau dấu "/" thì làm sao, mong các bạn chỉ giúp.
VD mặt hàng (quy cách)
TÔM 1080 - ( 200g x 40 gói/thùng)----> lấy thùng
CÁ 2010 - ( 200g x 40 bao/xô)----> lấy
Nếu bạn không chuẩn hóa mặt hàng thì rất khó đạt được kết quả.
Mình tìm ký tự "/" sau đó dùng hàm mid trích ra từ chuỗi này.
Ví dụ trường hợp chuỗi s ở trên dùng hàm: =Mid(s, find("/", s) + 1, len(s) - find("/", s) -1)
Còn nếu code thì bạn cũng thao tác như trên hoặc dùng một vòng lặp tìm "/", khi tìm thấy thì bắt đầu lấy kết quả. Mong rằng giúp được bạn ít nhiều
 
Upvote 0
Hàm của bạn đây : =RIGHT(A1,LEN(A1)-(FIND("/",A1,1)-2))

Nice day !!

Công thức của bạn chưa chính xác đâu nhé, với giá trị 200g x 40 bao/xô , kết quả là o/xô

Công thức đúng phải như vầy:

=RIGHT(A1,LEN(A1)-FIND("/",A1))

Nhưng không biết quy cách của bạn có 2 dấu ngoặc ở ngoài nữa hay không, như vầy nè: (200g x 40 bao/xô) , nếu vậy bạn phải dùm hàm khác:

=TRIM(SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND("/",A1)),")",""))

Lưu ý: Với bài này chỉ dùng công thức, không cần vào box Lập trình với Excel đâu!
 
Lần chỉnh sửa cuối:
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Công thức của bạn chưa chính xác đâu nhé, với giá trị 200g x 40 bao/xô , kết quả là o/xô

Công thức đúng phải như vầy:

=RIGHT(A1,LEN(A1)-FIND("/",A1))

Nhưng không biết quy cách của bạn có 2 dấu ngoặc ở ngoài nữa hay không, như vầy nè: (200g x 40 bao/xô) , nếu vậy bạn phải dùm hàm MID

Hi Quên cái vụ dấu ()
Công thức chính xác phải là : =LEFT(RIGHT(A1;LEN(A1)-FIND("/";A1));LEN(RIGHT(A1;LEN(A1)-FIND("/";A1)))-2)

có tính luôn dấu () và khoảng trắng ở hai đầu.

Nice day !!
 
Upvote 0
Công thức của bạn chưa chính xác đâu nhé, với giá trị 200g x 40 bao/xô , kết quả là o/xô Công thức đúng phải như vầy: =RIGHT(A1,LEN(A1)-FIND("/",A1)) Nhưng không biết quy cách của bạn có 2 dấu ngoặc ở ngoài nữa hay không, như vầy nè: (200g x 40 bao/xô) , nếu vậy bạn phải dùm hàm khác: =SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND("/",A1)),")","")
Hàm của bạn lọc vẫn chưa chuẩn, còn dính dấu ")" ở đằng sau. Bạn xem lại giúp
 
Lần chỉnh sửa cuối:
Upvote 0
Hi Quên cái vụ dấu ()
Công thức chính xác phải là : =LEFT(RIGHT(A1;LEN(A1)-FIND("/";A1));LEN(RIGHT(A1;LEN(A1)-FIND("/";A1)))-2)

có tính luôn dấu () và khoảng trắng ở hai đầu.

Nice day !!

Làm công thức ngắn gọn thôi, muốn loại bỏ khoảng trắng chỉ cần dùng hàm TRIM và muốn loại bỏ dấu ")" ta dùng hàm SUBSTITUTE cho công thức ngắn gọn lại.

=TRIM(SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND("/",A1)),")",""))


Hàm của bạn lọc vẫn chưa chuẩn, còn dính dấu ")" ở đằng sau. Bạn xem lại giúp

Bạn xem kỹ lại chưa vậy? Tôi đã check nhiều lần rồi đấy!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bạn Minhthien321 hàm : =TRIM(SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND("/",A1)),")","")) rất ok. Thanks
 
Lần chỉnh sửa cuối:
Upvote 0
Còn cái này sao bác ?
Mình test cũng ok mà hi :
=LEFT(RIGHT(A1;LEN(A1)-FIND("/";A1));LEN(RIGHT(A1;LEN(A1)-FIND("/";A1)))-2)
Công thức của Bạn nếu A1 = TÔM 1080 - ( 200g x 40 gói/thùng ), kết quả là thùng, nếu A1 = TÔM 1080 - ( 200g x 40 gói/thùng) kết quả là thùn, nếu sau dấu đóng ngoặc có thêm vài dấu cách thì kết quả là thùng) ,do đó không thể xem là OK được.
 
Upvote 0
Chào các bạn, mình muốn tạo 1 button dùng Code lọc lấy chữ "thùng hay xô " sau dấu "/" thì làm sao, mong các bạn chỉ giúp.
VD mặt hàng (quy cách)
TÔM 1080 - ( 200g x 40 gói/thùng)----> lấy thùng
CÁ 2010 - ( 200g x 40 bao/xô)----> lấy

Bạn thử code này.
Mã:
Sub Macro1()
On Error Resume Next
    Range([b1], [b65536].End(3)).Copy [c1]
    With Range([c1], [c65536].End(3))
        .Replace "*/", ""
        .Replace ")", ""
    End With
End Sub
 

File đính kèm

Upvote 0
Bạn thử code này.
Mã:
Sub Macro1()
On Error Resume Next
    Range([b1], [b65536].End(3)).Copy [c1]
    With Range([c1], [c65536].End(3))
        .Replace "*/", ""
        .Replace ")", ""
    End With
End Sub

Bác TrungChinhs thật là nhiệt tình! Giết gà đâu phải dùng dao mổ trâu!? sax ... sax ...

Bác phải lồng thêm cái hàm TRIM nữa đấy nhé! (.Replace " ", "")
 
Lần chỉnh sửa cuối:
Upvote 0
Bác TrungChinhs thật là nhiệt tình! Giết gà đâu phải dùng dao mỗ trâu!? sax ... sax ...

Bác phải lồng thêm cái hàm TRIM nữa đấy nhé! (.Replace " ", "")

Bạn ấy nhờ viết code mà. Code "mổ gà" thì mình lại không biết viết. Còn muốn Trim thì phải Trim dữ liệu nguồn mới là việc cần làm.
 
Upvote 0
Bạn thử code này.
Mã:
Sub Macro1()
On Error Resume Next
    Range([b1], [b65536].End(3)).Copy [c1]
    With Range([c1], [c65536].End(3))
        .Replace "*/", ""
        .Replace ")", ""
    End With
End Sub
Tôi lại khoái Trim() như của minhthien321, vì thế code này xin thêm 1 dòng nữa cho đẹp nhé:
Mã:
Sub Macro1()
On Error Resume Next
    Range([b1], [b65536].End(3)).Copy [c1]
    With Range([c1], [c65536].End(3))
        .Replace "*/", ""
        .Replace ")", ""
        [COLOR=#ff0000].Replace " ", ""[/COLOR]
    End With
End Sub
---------------
Xin lỗi vì khi mình viết bài này thì chưa có bài 15, 16 của 2 Bạn minhthien321TrungChinhs
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi lại khoái Trim() như của minhthien321, vì thế code này xin thêm 1 dòng nữa cho đẹp nhé:
Mã:
Sub Macro1() On Error Resume Next     Range([b1], [b65536].End(3)).Copy [c1]     With Range([c1], [c65536].End(3))         .Replace "*/", ""         .Replace ")", ""         [COLOR=#ff0000].Replace " ", ""[/COLOR]     End With End Sub
--------------- Xin lỗi vì khi mình viết bài này thì chưa có bài 15, 16 của 2 Bạn minhthien321TrungChinhs
Bạn giải thích một chút, mình không hiểu. Khi click vô button nó copy toàn bộ dán sang cột C, chứ đâu thấy nó lọc gì đâu?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn giải thích một chút, mình không hiểu. Khi click vô button nó copy toàn bộ dán sang cột C, chứ đâu thấy nó lọc gì đâu?
Bạn sửa lại một chút. Thêm ,2 vào cuối những dòng có .Replace đầu dòng.
PHP:
Sub Macro1()
On Error Resume Next
    Range([b1], [b65536].End(3)).Copy [c1]
    With Range([c1], [c65536].End(3))
        .Replace "*/", "", 2
        .Replace ")", "", 2
        .Replace " ", "", 2
    End With
End Sub
 
Upvote 0
Bạn giải thích một chút, mình không hiểu. Khi click vô button nó copy toàn bộ dán sang cột C, chứ đâu thấy nó lọc gì đâu?
Bạn có tải xem bài #14 của Bạn TrungChinhs không?
Xóa nội dung trong cột C rồi Bấm vào cái vòng tròn bên cạnh để xem kết quả code đã làm.
Xem lại file này đi
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom