Lọc dữ liệu theo điều kiện

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

tranglinh2001

Thành viên mới
Tham gia
20/12/22
Bài viết
9
Được thích
0
Em chào anh ( chị ) GPE
Em có dữ liệu muốn lọc theo điều kiện CODE hoặc PO hoặc COLOR. Em cũng dùng qua Advanced Filer nhưng mất nhiều thao tác vì em phải liên tục lọc dữ liệu trong ngày. Mong anh ( chị ) có công thức hay code VBA giúp em với ạ. Em cảm ơn.
 

File đính kèm

Em chào anh ( chị ) GPE
Em có dữ liệu muốn lọc theo điều kiện CODE hoặc PO hoặc COLOR. Em cũng dùng qua Advanced Filer nhưng mất nhiều thao tác vì em phải liên tục lọc dữ liệu trong ngày. Mong anh ( chị ) có công thức hay code VBA giúp em với ạ. Em cảm ơn.
Bạn thử công thức và thử xem các các điều kiện lọc :

G6=IFERROR(INDEX($A$6:$D$11,AGGREGATE(15,6,ROW($A$1:$D$11)/SEARCH(TRANSPOSE($G$3),$A$6:$D$11)^0,ROW(A1)),COLUMN(A1)),"")
 
Em chào anh ( chị ) GPE
Em có dữ liệu muốn lọc theo điều kiện CODE hoặc PO hoặc COLOR. Em cũng dùng qua Advanced Filer nhưng mất nhiều thao tác vì em phải liên tục lọc dữ liệu trong ngày. Mong anh ( chị ) có công thức hay code VBA giúp em với ạ. Em cảm ơn.
Nếu dùng code bạn có thể tham khảo
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("G3")) Is Nothing Then
        Range("G6:J1000").ClearContents
        Dim Arr(), Res(), i&, j&, k&, txt$, Lr&, stxt$
        On Error Resume Next
        With Sheets("Sheet1")
            txt = UCase(.Range("G3").Value)
            Lr = .Range("A" & Rows.Count).End(xlUp).Row
            Arr = .Range("A6:D" & Lr).Value
            ReDim Res(1 To UBound(Arr), 1 To 4)
            For i = 1 To UBound(Arr)
                stxt = Arr(i, 1) & "-" & Arr(i, 2) & Arr(i, 3) & Arr(i, 4)
                If InStr(stxt, txt) > 0 Then
                    k = k + 1
                    For j = 1 To 4
                        Res(k, j) = Arr(i, j)
                    Next j
                End If
            Next i
            .Range("G6").Resize(k, 4).Value = Res
        End With
    End If
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Em chào anh ( chị ) GPE Em có dữ liệu muốn lọc theo điều kiện . . . . . .. Mong anh ( chị ) có công thức hay code VBA giúp em với ạ. Em cảm ơn.
Nếu bạn cần Code hay công thức thì nên đăng bài ở đây: https://www.giaiphapexcel.com/diendan/forums/những-vấn-đề-chung.3/

→←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→←

stxt = Arr(i, 1) & Arr(i, 2) & Arr(i, 3) & Arr(i, 4)
Vì Các trị trong Arr(i, 1) luôn có ký số ở đuôi, cho nên cần phân tách nó với nhóm sau liền kề với nó, như

stxt = Arr(i, 1) & XYZ & Arr(i, 2) & Arr(i, 3) & Arr(i, 4)

Ở đây XYZ có thể là "@", "GPE", "_", , . . . . ;.
 
Lần chỉnh sửa cuối:
Nếu bạn cần Code hay công thức thì nên đăng bài ở đây: https://www.giaiphapexcel.com/diendan/forums/những-vấn-đề-chung.3/

→←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→←


Vì Các trị trong Arr(i, 1) luôn có ký số ở đuôi, cho nên cần phân tách nó với nhóm sau liền kề với nó, như

stxt = Arr(i, 1) & XYZ & Arr(i, 2) & Arr(i, 3) & Arr(i, 4)

Ở đây XYZ có thể là "@", "GPE", "_", , . . . . ;.
Cảm ơn “Anh” đã nhắc nhở!
 
Nếu bạn cần Code hay công thức thì nên đăng bài ở đây: https://www.giaiphapexcel.com/diendan/forums/những-vấn-đề-chung.3/

→←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→← →←→←


Vì Các trị trong Arr(i, 1) luôn có ký số ở đuôi, cho nên cần phân tách nó với nhóm sau liền kề với nó, như

stxt = Arr(i, 1) & XYZ & Arr(i, 2) & Arr(i, 3) & Arr(i, 4)

Ở đây XYZ có thể là "@", "GPE", "_", , . . . . ;.
Dạ vâng lần sau em rút kinh nghiệm ạ.
Bài đã được tự động gộp:

Bạn thử công thức và thử xem các các điều kiện lọc :

G6=IFERROR(INDEX($A$6:$D$11,AGGREGATE(15,6,ROW($A$1:$D$11)/SEARCH(TRANSPOSE($G$3),$A$6:$D$11)^0,ROW(A1)),COLUMN(A1)),"")
Cảm ơn anh nhiều nhá.
 
Web KT

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

Back
Top Bottom