Lọc và Tính Tổng

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

Bích Tỷ

Thành viên chính thức
Tham gia
17/5/21
Bài viết
85
Được thích
19
Chào các anh chị,

Em có một file dữ liệu như này, xin nhờ anh chị giúp đỡ
- Em có 1 sheet data chứa dữ liệu của 1 tháng và 1 sheet báo cáo Ngày.
- Mục đích ở Sheet báo cáo Ngày là: Lọc ra Màu, Ca, tổng số lượng ĐÔI từng Size để điền vào dòng Báo phế (Màu, ca đều lấy từ Sheet Data qua) theo điều kiện ngày nhập vào ở Ô B1.

Xin cảm ơn anh chị đã giúp đỡ
 

File đính kèm

  • CHENH LECH.xlsx
    1.3 MB · Đọc: 31
Chào các anh chị,

Em có một file dữ liệu như này, xin nhờ anh chị giúp đỡ
- Em có 1 sheet data chứa dữ liệu của 1 tháng và 1 sheet báo cáo Ngày.
- Mục đích ở Sheet báo cáo Ngày là: Lọc ra Màu, Ca, tổng số lượng ĐÔI từng Size để điền vào dòng Báo phế (Màu, ca đều lấy từ Sheet Data qua) theo điều kiện ngày nhập vào ở Ô B1.

Xin cảm ơn anh chị đã giúp đỡ
Tớ dùng Pivot Table thì kết quả ra thế này
Bạn thử tham khảo xem nhé!
 

File đính kèm

  • 1671084346487.png
    1671084346487.png
    215.9 KB · Đọc: 34
Upvote 0
Chào các anh chị,

Em có một file dữ liệu như này, xin nhờ anh chị giúp đỡ
- Em có 1 sheet data chứa dữ liệu của 1 tháng và 1 sheet báo cáo Ngày.
- Mục đích ở Sheet báo cáo Ngày là: Lọc ra Màu, Ca, tổng số lượng ĐÔI từng Size để điền vào dòng Báo phế (Màu, ca đều lấy từ Sheet Data qua) theo điều kiện ngày nhập vào ở Ô B1.

Xin cảm ơn anh chị đã giúp đỡ
Thử xem code củ chuối này. Tôi chưa test, Trúng chật - hên sui.
Các vẫn đề về định dạng bạn tự làm
Mã:
Option Explicit

Sub BichTy()
Dim i&, r&, t&, k&, Lr&, Col&
Dim Arr(), Res(), S, Key, Ngay
Dim Dic As Object, DicTD As Object
Dim Ws As Worksheet, Sh As Worksheet
Set Sh = Sheets("data"): Set Ws = Sheets("Ngay_1")
Lr = Sh.Cells(100000, 2).End(xlUp).Row
Arr = Sh.Range("A3:O" & Lr).Value
ReDim Res(1 To UBound(Arr), 1 To 50)
Set Dic = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(Arr)
    Key = Arr(i, 3) & "#" & Arr(i, 5): S = Split(Key, "#")
    Col = Application.Match(Arr(i, 7), Ws.Range("A2:AX2"), 0)
    Ngay = Arr(i, 1)
    If Ngay = Ws.[B1] Then
        If Not Dic.Exists(Key) Then
            t = t + 1: Dic.Add (Key), t:
            If t > 1 Then k = t * 10 Else k = t
            Res(k, 1) = S(0)
            Res(k, 2) = S(1)
            Res(k + 7, 3) = "Báo phê"
            Res(k + 7, Col) = Arr(i, 15)
        Else
            r = Dic.Item(Key)
            If r > 1 Then k = r * 10 Else k = r
            Res(k + 7, Col) = Arr(i, 15) + Res(k + 7, Col)
        End If
    End If
Next i
If t Then
    Ws.Range("A160").Resize(10000, 50).ClearContents
    Ws.Range("A160").Resize(t * 10, 50) = Res
End If
Set Dic = Nothing
MsgBox "Done"
End Sub
 
Upvote 0
Mã:
Option Explicit

Sub BichTy()
Dim i&, r&, t&, k&, Lr&, Col&
Dim Arr(), Res(), S, Key, Ngay
Dim Dic As Object, DicTD As Object
Dim Ws As Worksheet, Sh As Worksheet
Set Sh = Sheets("data"): Set Ws = Sheets("Ngay_1")
Lr = Sh.Cells(100000, 2).End(xlUp).Row
Arr = Sh.Range("A3:O" & Lr).Value
ReDim Res(1 To UBound(Arr), 1 To 50)
Set Dic = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(Arr)
    Key = Arr(i, 3) & "#" & Arr(i, 5): S = Split(Key, "#")
    Col = Application.Match(Arr(i, 7), Ws.Range("A2:AX2"), 0)
    Ngay = Arr(i, 1)
    If Ngay = Ws.[B1] Then
        If Not Dic.Exists(Key) Then
            t = t + 1: Dic.Add (Key), t:
            If t > 1 Then k = t * 10 Else k = t
            Res(k, 1) = S(0)
            Res(k, 2) = S(1)
            Res(k + 7, 3) = "Báo phê"
            Res(k + 7, Col) = Arr(i, 15)
        Else
            r = Dic.Item(Key)
            If r > 1 Then k = r * 10 Else k = r
            Res(k + 7, Col) = Arr(i, 15) + Res(k + 7, Col)
        End If
    End If
Next i
If t Then
    Ws.Range("A160").Resize(10000, 50).ClearContents
    Ws.Range("A160").Resize(t * 10, 50) = Res
End If
Set Dic = Nothing
MsgBox "Done"
End Sub
Ngoài dòng báo phế ra. nếu đè mảng kết quả vào từ A3 liệu có vấn đề gì không nhỉ chú? Có vẻ bạn thớt chỉ muốn kết quả của từng mã vào dòng Báo phế thì phải. Cái thớt muốn có vẻ vẫn mập mờ phải đoán.
 
Upvote 0
Ngoài dòng báo phế ra. nếu đè mảng kết quả vào từ A3 liệu có vấn đề gì không nhỉ chú? Có vẻ bạn thớt chỉ muốn kết quả của từng mã vào dòng Báo phế thì phải. Cái thớt muốn có vẻ vẫn mập mờ phải đoán.
Không cần phải đoán. Thớt nói là "cũng dùng Pivot".
Cứ bảo thớt đưa cái file với Pivot Table ấy lên. Nhìn vào thì biết yêu cầu kết quả.
 
Upvote 0
Web KT

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

Back
Top Bottom