Nhờ các bạn giúp mình lọc dữ liệu nhiều điều kiện (1 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

thuytrangbp28

Thành viên hoạt động
Tham gia
28/3/18
Bài viết
190
Được thích
109
Giới tính
Nam
Chào các bạn!
Nhờ các bạn giúp mình lọc dữ liệu và tính tổng sản phẩm cùng tên, cùng size như ảnh mô tả bên dưới.
Mình xin cảm ơn !
Capture.PNG
 

File đính kèm

Nếu cho xài VBA có sự giúp đỡ của DSUM() thì kết quả ra sẽ trắng trẽo & đẹp như tiên ấy chứ!
Chỉ sợ là Cô/thầy lại quở là trứng đòi khôn hơn vịt thì bỏ xừ đời!
 
Nếu là bài tập thì phải dùng 365 với các hàm mới. Chứ không thì công thức 2021 trở xuống khủng khiếp lắm.
Phải cột phụ thôi.
Bài tập toàn là thế kỷ 20. Nhiều bài Thầy/Cô còn không biết cách tính mã số/ngày tháng trên thực tế. Ở đấy mà MS 365.

Nếu xài công thức thì chỉ phức tạp và rườm rà thôi chứ cũng không khủng khiếp lắm.

Bài này dân chuyên nghiệp chỉ cần 1 cột phụ để tính cỡ (S,M,L,XL) thôi. Có cột phụ ấy rồi thì Pivot Table ra.

Chú thích: bài của ai mà vô duyên tệ. Tự dưng đang sắp lớn xuống nhỏ (L,M,S) rồi xổ toẹt một cái sang XL. Bình thường thì quần áo xếp theo nhỏ đến lớn.
 
Nếu là bài tập thì phải dùng 365 với các hàm mới. Chứ không thì công thức 2021 trở xuống khủng khiếp lắm.
Phải cột phụ thôi.
Mình sài 2019 bạn ạ
Bài tập toàn là thế kỷ 20. Nhiều bài Thầy/Cô còn không biết cách tính mã số/ngày tháng trên thực tế. Ở đấy mà MS 365.

Nếu xài công thức thì chỉ phức tạp và rườm rà thôi chứ cũng không khủng khiếp lắm.

Bài này dân chuyên nghiệp chỉ cần 1 cột phụ để tính cỡ (S,M,L,XL) thôi. Có cột phụ ấy rồi thì Pivot Table ra.

Chú thích: bài của ai mà vô duyên tệ. Tự dưng đang sắp lớn xuống nhỏ (L,M,S) rồi xổ toẹt một cái sang XL. Bình thường thì quần áo xếp theo nhỏ đến lớn.
Cột phụ cũng đc bạn. Bạn biết giúp mình với
 
Lần chỉnh sửa cuối:
Chào các bạn!
Nhờ các bạn giúp mình lọc dữ liệu và tính tổng sản phẩm cùng tên, cùng size như ảnh mô tả bên dưới.
Mình xin cảm ơn !
Nếu dùng VBA thì có thể Tham khảo code củ chuối sau:
Mã:
Option Explicit

Sub ThuyTrang()
Dim i&, j&, Lr&, t&, k&
Dim Arr(), KQ(), S
Dim Dic As Object, Key
Dim Ma, Si As String
Set Dic = CreateObject("Scripting.Dictionary")

With Sheet1
Lr = .Range("A100000").End(3).Row
Arr = .Range("A3:C" & Lr).Value
ReDim KQ(1 To UBound(Arr), 1 To 6)
For i = 1 To UBound(Arr)
    S = Split(Arr(i, 1), ".")
    Ma = Mid(Arr(i, 2), 1, 11)
    Si = Mid(Arr(i, 2), 13, Len(Arr(i, 2)) - 12)
    If Si = "L" Then
        k = 3
    ElseIf Si = "M" Then
        k = 4
    ElseIf Si = "S" Then
        k = 5
    ElseIf Si = "XL" Then
        k = 6
    End If
    Key = S(0) & "#" & Ma
    
    If Not Dic.Exists(Key) Then
        t = t + 1: Dic.Add (Key), t
        KQ(t, 1) = S(0)
        KQ(t, 2) = Ma
        KQ(t, k) = Arr(i, 3)
    Else
        j = Dic.Item(Key)
        KQ(j, k) = KQ(j, k) + Arr(i, 3)
    End If
Next i
If t then 
       .Range("E4").Resize(1000, 6).Clearcontents
       .Range("E4").Resize(t, 6) = KQ
end if
Set Dic = Nothing
End With
Msgbox " Done"
End Sub
 
Nếu dùng VBA thì có thể Tham khảo code củ chuối sau:
Mã:
Option Explicit

Sub ThuyTrang()
Dim i&, j&, Lr&, t&, k&
Dim Arr(), KQ(), S
Dim Dic As Object, Key
Dim Ma, Si As String
Set Dic = CreateObject("Scripting.Dictionary")

With Sheet1
Lr = .Range("A100000").End(3).Row
Arr = .Range("A3:C" & Lr).Value
ReDim KQ(1 To UBound(Arr), 1 To 6)
For i = 1 To UBound(Arr)
    S = Split(Arr(i, 1), ".")
    Ma = Mid(Arr(i, 2), 1, 11)
    Si = Mid(Arr(i, 2), 13, Len(Arr(i, 2)) - 12)
    If Si = "L" Then
        k = 3
    ElseIf Si = "M" Then
        k = 4
    ElseIf Si = "S" Then
        k = 5
    ElseIf Si = "XL" Then
        k = 6
    End If
    Key = S(0) & "#" & Ma
   
    If Not Dic.Exists(Key) Then
        t = t + 1: Dic.Add (Key), t
        KQ(t, 1) = S(0)
        KQ(t, 2) = Ma
        KQ(t, k) = Arr(i, 3)
    Else
        j = Dic.Item(Key)
        KQ(j, k) = KQ(j, k) + Arr(i, 3)
    End If
Next i
If t then
       .Range("E4").Resize(1000, 6).Clearcontents
       .Range("E4").Resize(t, 6) = KQ
end if
Set Dic = Nothing
End With
Msgbox " Done"
End Sub
Cảm ơn bạn rất nhiều
 
Web KT

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

Back
Top Bottom