Let'GâuGâu
Thành viên mới
- Tham gia
- 12/9/13
- Bài viết
- 3,131
- Được thích
- 2,732
em có một sheet data là dữ liệu thô và 1 sheet mong muốn, em muốn dùng công thức hoạc vba để lọc và tính tổng lại như sheet mong muốn , các anh chị giúp em bài này với nhé
cám ơn
làm thủ công nha,
1- mượn cột phụ H, tại H3
Mã:
H3=AND(E3<>"",COUNTIFS($C$3:$C3,C3,$D$3:$D3,D3)=1)
chọn [B2:H92], dùng fillter hoặc advancer fillter copy những giá trị "True" sau đó dùng sumifs tính tổng
===================
vba thì thử code sau
Mã:
Dim sarr As Variant, kq(), i, j, k As Long, dic As Object
sarr = [b3:G92].Value
ReDim kq(1 To UBound(sarr), 1 To UBound(sarr, 2))
Set dic = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(sarr)
If Not IsEmpty(sarr(i, 4)) Then
If Not dic.Exists(sarr(i, 2) & sarr(i, 3)) Then
k = k + 1
dic.Add sarr(i, 2) & sarr(i, 3), k
For j = 1 To UBound(sarr, 2)
kq(k, j) = sarr(i, j)
Next j
Else
kq(dic.Item(sarr(i, 2) & sarr(i, 3)), 5) = kq(dic.Item(sarr(i, 2) & sarr(i, 3)), 5) + sarr(i, 5)
kq(dic.Item(sarr(i, 2) & sarr(i, 3)), 6) = kq(dic.Item(sarr(i, 2) & sarr(i, 3)), 6) + sarr(i, 6)
End If
End If
Next i
Sheet2.Cells.ClearContents
Sheet2.[b3].Resize(k, 6).Value = kq
Set dic = Nothing
Erase sarr
End Sub
File đính kèm
Lần chỉnh sửa cuối: