Lọc dữ liệu (1 người xem)

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

phamdung01

Thành viên chính thức
Tham gia
3/9/10
Bài viết
74
Được thích
5
Chào các anh (chị)

Hiện tại em có bảng dữ liệu thống kê, trong đó kích thước của loại hàng lại nằm trong tên sản phẩm, ví dụ như kích thước 6.5mm nằm trong dòng "Thép hợp kim cán nóng dạng que, dạng cuộn cuốn không đều, dùng trong cán kéo, tiêu chuẩn SAE1008CR/ASTM A510, có hàm lượng Cr>0,3%, size: 6,5mm", các kích thước này lại ký hiệu rất khác nhau như 5.5mm; 5,5MM; 6.5mm; 6,5mm....

Anh (chi) giúp em lọc ra những kích thước (5,5; 6,5; 7; 9; 10; 11; 13; 22) với ạ
em dùng autofilter nhưng không chính xác, thường 7.0 lại bị lẫn với 17.0....

Em cảm ơn ạ
 

File đính kèm

Thử công thức sau:
Mã:
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(MID(SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(TRIM(D2),")","  ^^"),"(","  ^^"))," ^^mm","mm"),SEARCH("mm",SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(TRIM(D2),")","  ^^"),"(","  ^^"))," ^^mm","mm"))-10,12),"^^","")," ",REPT(" ",100)),50))

Còn vài trường hợp bất thường (D21,D101,D115...) thì bạn tự xử lý.
 
Thử công thức sau:
Mã:
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(MID(SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(TRIM(D2),")","  ^^"),"(","  ^^"))," ^^mm","mm"),SEARCH("mm",SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(TRIM(D2),")","  ^^"),"(","  ^^"))," ^^mm","mm"))-10,12),"^^","")," ",REPT(" ",100)),50))

Còn vài trường hợp bất thường (D21,D101,D115...) thì bạn tự xử lý.

Vâng, em cam ơn

Còn những trường hợp mà người ta ghi là "Thép vằn phi 28 ( không hợp kim, cán nóng ) dùng trong xây dựng - hàng mới 100%" hay "AT020#&Thép cuộn 20" thì những size này mình phải lọc như thế nào ạ
 
Vâng, em cam ơn

Còn những trường hợp mà người ta ghi là "Thép vằn phi 28 ( không hợp kim, cán nóng ) dùng trong xây dựng - hàng mới 100%" hay "AT020#&Thép cuộn 20" thì những size này mình phải lọc như thế nào ạ

Chắc xài mắt và tay thôi. Nhập dữ liệu kiểu vậy thì chịu rồi.
 
Chào các anh (chị)

Hiện tại em có bảng dữ liệu thống kê, trong đó kích thước của loại hàng lại nằm trong tên sản phẩm, ví dụ như kích thước 6.5mm nằm trong dòng "Thép hợp kim cán nóng dạng que, dạng cuộn cuốn không đều, dùng trong cán kéo, tiêu chuẩn SAE1008CR/ASTM A510, có hàm lượng Cr>0,3%, size: 6,5mm", các kích thước này lại ký hiệu rất khác nhau như 5.5mm; 5,5MM; 6.5mm; 6,5mm....

Anh (chi) giúp em lọc ra những kích thước (5,5; 6,5; 7; 9; 10; 11; 13; 22) với ạ
em dùng autofilter nhưng không chính xác, thường 7.0 lại bị lẫn với 17.0....

Em cảm ơn ạ

Công thức:
=TRIM(RIGHT(SUBSTITUTE(LEFT(D1, SEARCH("mm",D1,1)+1), " ",REPT(" ",100)),100))

Code VBA khắc phục vấn đề #3
= duongkinh(D1)
Mã:
Function duongkinh(mota As String) As String
    Dim mangtach
    mota = UCase(mota)
    If mota Like "*" & "MM" & "*" Then
        mangtach = Split(mota, "MM")(0)
        mangtach = StrReverse(Trim(Replace(Replace(Replace(Replace(Replace(mangtach, "(", ""), ":", " "), ")", ""), "=", " "), "2015-", " ")))
        duongkinh = Replace(StrReverse(Split(mangtach, " ")(0)), ",", ".") & "mm"
    Else
        mota = Replace(mota, ",", ".")
        mangtach = Split(mota, " ")
        For i = LBound(mangtach) To UBound(mangtach)
            If IsNumeric(mangtach(i)) Then
                duongkinh = mangtach(i) & "mm"
                Exit Function
            End If
        Next
    End If
End Function
 
Có cái tên hàng mà cũng khong tiêu chuẩn. Hổng biết hàng bán cho ai nữa.
Kích cỡ thì lúc phi, lúc size, hổng biết có lúc gauge lúc dày hôn.
(may là hổng phải hàng nhập từ Mẽo, có thêm "/inch nữa là đã luôn)

Mục đích của bài này là tìm con số chỉ kích thước

Muốn làm cái này phải lập ra một danh sách các từ dẫn đến kích thước, và các dạng đọc kích thước:
"phi", "size", "size:" là các từ có nghĩa là cỡ, con số đi sau nó là kích thước. Tương tự, "mm" có nghĩa là đơn vị, con số đi trước nó là kích thước.
'5,5', '5.5', '10' là các dạng để đọc kích thước

Sau khi khẳng định những luật như thế rồi thì có thể dùng search string để kiếm. Tuy nhiên, cách dễ hơn hết có lẽ là dùng RegEx
 

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

Back
Top Bottom