Hỗ trợ trích báo cáo đếm không lặp từ 8 sheet form giông nhau. (1 người xem)

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

doivui14000

Thành viên chính thức
Tham gia
18/12/09
Bài viết
60
Được thích
1
Hiện tại em có một file gồm 8 sheet. Mỗi sheet 40k dòng. EM muốn đếm tên nhân viên+ mã biên bản bàn giao (bỏ trùng) + 1 cột tổng số liền của 8 sheet (không lọc trùng)
Hiện tại em đã làm bằng count nhưng không thể được. Bác nào có hàm nào cho em xin cái.
Chi tiết file đính kèm.
 
Hiện tại em có một file gồm 8 sheet. Mỗi sheet 40k dòng. EM muốn đếm tên nhân viên+ mã biên bản bàn giao (bỏ trùng) + 1 cột tổng số liền của 8 sheet (không lọc trùng)
Hiện tại em đã làm bằng count nhưng không thể được. Bác nào có hàm nào cho em xin cái.
Chi tiết file đính kèm.
Tại sao file của bạn mình ko mở đc nhỉ? báo lỗi corupt. hic
 
Nhờ bạn giúp mình hàm nào phù hợp với nha

Không hiểu lắm:
- Tổng tất cả cột E*F các sheet?
- Đếm không trùng cả 8 sheet côt P?
- Đếm không trùng cả 8 sheet côt M?
- Kết quả chỉ có 1 dòng?
PHP:
Public Sub GPE()
Dim Dic As Object, WS As Worksheet, sArr(), dArr(1 To 1, 1 To 7), I As Long
Set Dic = CreateObject("Scripting.Dictionary")
For Each WS In Worksheets
    If WS.Name <> "TONGHOP" Then
        sArr = WS.Range("E5", WS.Range("E5").End(xlDown)).Resize(, 12).Value
        For I = 1 To UBound(sArr)
            dArr(1, 1) = dArr(1, 1) + sArr(I, 1) * sArr(I, 2)
            If Not Dic.Exists(sArr(I, 12)) Then
                Dic.Add sArr(I, 12), ""
                dArr(1, 6) = dArr(1, 6) + 1
            End If
            If Not Dic.Exists(sArr(I, 9)) Then
                Dic.Add sArr(I, 9), ""
                dArr(1, 7) = dArr(1, 7) + 1
            End If
        Next I
    End If
Next WS
Sheets("TONGHOP").Range("D5:J5") = dArr
Set Dic = Nothing
End Sub
 
Không hiểu lắm:
- Tổng tất cả cột E*F các sheet?
- Đếm không trùng cả 8 sheet côt P?
- Đếm không trùng cả 8 sheet côt M?
- Kết quả chỉ có 1 dòng?
PHP:
Public Sub GPE()
Dim Dic As Object, WS As Worksheet, sArr(), dArr(1 To 1, 1 To 7), I As Long
Set Dic = CreateObject("Scripting.Dictionary")
For Each WS In Worksheets
    If WS.Name <> "TONGHOP" Then
        sArr = WS.Range("E5", WS.Range("E5").End(xlDown)).Resize(, 12).Value
        For I = 1 To UBound(sArr)
            dArr(1, 1) = dArr(1, 1) + sArr(I, 1) * sArr(I, 2)
            If Not Dic.Exists(sArr(I, 12)) Then
                Dic.Add sArr(I, 12), ""
                dArr(1, 6) = dArr(1, 6) + 1
            End If
            If Not Dic.Exists(sArr(I, 9)) Then
                Dic.Add sArr(I, 9), ""
                dArr(1, 7) = dArr(1, 7) + 1
            End If
        Next I
    End If
Next WS
Sheets("TONGHOP").Range("D5:J5") = dArr
Set Dic = Nothing
End Sub
Cám ớn bạn rất nhiều. Để mình xem lại có gì nhờ bạn hỗ trợ. Cám ơn
 
- Tổng tất cả cột E*F các sheet? (Ý mình là tổng số tiền= đơn giá cột E*F, chỗ này mình thấy cái code này chuẩn bạn à.
- Đếm không trùng cả 8 sheet côt P? (Mình muốn đếm số người ở cột P của cả 8 sheet đó, nhưng 1 người có thể đều có tên trong 8 sheet này nên mình muốn bỏ trùng lặp, ý nói 1 người không được đếm 2 lần.
- Đếm không trùng cả 8 sheet côt M? Tưởng tự như cột P, Mình chỉ cần đếm số biên bản bàn giao. Nhưng 1 mã biên bản bàn giao có khi được lặp đi lặp lại mấy lần= bắng số chủng loại hàng hóa)
- Kết quả chỉ có 1 dòng?= Kết quả mình chỉ cần lấy tổng hợp thế này thôi bạn. Cám ơn bạn
Bạn có thể cho mình biết lấy giá trị từ cột M và P chỗ nào trong code này ko ạ?


Không hiểu lắm:
- Tổng tất cả cột E*F các sheet? (Ý mình là tổng số tiền= đơn giá cột E*F, chỗ này mình thấy cái code này chuẩn bạn à.
- Đếm không trùng cả 8 sheet côt P? (Mình muốn đếm số người ở cột P của cả 8 sheet đó, nhưng 1 người có thể đều có tên trong 8 sheet này nên mình muốn bỏ trùng lặp, ý nói 1 người không được đếm 2 lần.
- Đếm không trùng cả 8 sheet côt M? Tưởng tự như cột P, Mình chỉ cần đếm số biên bản bàn giao. Nhưng 1 mã biên bản bàn giao có khi được lặp đi lặp lại mấy lần= bắng số chủng loại hàng hóa)
- Kết quả chỉ có 1 dòng?= Kết quả mình chỉ cần lấy tổng hợp thế này thôi bạn. Cám ơn bạn
Bạn có thể cho mình biết lấy giá trị từ cột M và P chỗ nào trong code này ko ạ?
PHP:
Public Sub GPE()
Dim Dic As Object, WS As Worksheet, sArr(), dArr(1 To 1, 1 To 7), I As Long
Set Dic = CreateObject("Scripting.Dictionary")
For Each WS In Worksheets
    If WS.Name <> "TONGHOP" Then
        sArr = WS.Range("E5", WS.Range("E5").End(xlDown)).Resize(, 12).Value
        For I = 1 To UBound(sArr)
            dArr(1, 1) = dArr(1, 1) + sArr(I, 1) * sArr(I, 2)
            If Not Dic.Exists(sArr(I, 12)) Then
                Dic.Add sArr(I, 12), ""
                dArr(1, 6) = dArr(1, 6) + 1
            End If
            If Not Dic.Exists(sArr(I, 9)) Then
                Dic.Add sArr(I, 9), ""
                dArr(1, 7) = dArr(1, 7) + 1
            End If
        Next I
    End If
Next WS
Sheets("TONGHOP").Range("D5:J5") = dArr
Set Dic = Nothing
End Sub
 
bạn giúp mình cho xong cái....
Thanks!
Không hiểu lắm:
- Tổng tất cả cột E*F các sheet?
- Đếm không trùng cả 8 sheet côt P?
- Đếm không trùng cả 8 sheet côt M?
- Kết quả chỉ có 1 dòng?
PHP:
Public Sub GPE()
Dim Dic As Object, WS As Worksheet, sArr(), dArr(1 To 1, 1 To 7), I As Long
Set Dic = CreateObject("Scripting.Dictionary")
For Each WS In Worksheets
    If WS.Name <> "TONGHOP" Then
        sArr = WS.Range("E5", WS.Range("E5").End(xlDown)).Resize(, 12).Value
        For I = 1 To UBound(sArr)
            dArr(1, 1) = dArr(1, 1) + sArr(I, 1) * sArr(I, 2)
            If Not Dic.Exists(sArr(I, 12)) Then
                Dic.Add sArr(I, 12), ""
                dArr(1, 6) = dArr(1, 6) + 1
            End If
            If Not Dic.Exists(sArr(I, 9)) Then
                Dic.Add sArr(I, 9), ""
                dArr(1, 7) = dArr(1, 7) + 1
            End If
        Next I
    End If
Next WS
Sheets("TONGHOP").Range("D5:J5") = dArr
Set Dic = Nothing
End Sub
 

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

Back
Top Bottom