Công thức Lọc Tự động

Liên hệ QC

tuhue79

Thành viên mới
Tham gia
4/9/14
Bài viết
38
Được thích
1
Mình có dữ liệu hàng tháng BẢNG 1 GỒM 3 cột A, B,C. Hàng tháng mình phải làm bằng tay lọc ra thành từng loại và thêm dòng mới vào bảng 2 nếu như có chi phí mới. Các Pro giúp mình công thức lọc tự động thế nào để bảng 2 tự hiện ra.
Mỗi khi bên bảng 1 có thêm chi phí mới thì bảng 2 tự hiện dòng luôn.
Xin cảm ơn các Pro rất rất rất rất nhiều.
Mình có đính kèm file .
 

File đính kèm

  • Excel-hoi.xlsx
    11.2 KB · Đọc: 8
Mình có dữ liệu hàng tháng BẢNG 1 GỒM 3 cột A, B,C. Hàng tháng mình phải làm bằng tay lọc ra thành từng loại và thêm dòng mới vào bảng 2 nếu như có chi phí mới. Các Pro giúp mình công thức lọc tự động thế nào để bảng 2 tự hiện ra.
Mỗi khi bên bảng 1 có thêm chi phí mới thì bảng 2 tự hiện dòng luôn.
Xin cảm ơn các Pro rất rất rất rất nhiều.
Mình có đính kèm file .
Bạn điền thêm dữ liêu thử xem đúng ý chưa?
2 cách: Dùng Pivot, VBA
Mã:
Sub Loc()
    Dim Dic As Object
    Dim i As Long, j As Long, k As Long
    Dim Tmp As String
    Dim Arr, dArr
    Application.ScreenUpdating = False
    Sheet1.Range("J2").Resize(1000, 3).ClearContents
    Arr = Range(Sheet1.[A2], Sheet1.[A6000].End(3)).Resize(, 3)
    ReDim dArr(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
    Set Dic = CreateObject("Scripting.Dictionary")
    With Dic
        For i = 1 To UBound(Arr, 1)
            Tmp = Arr(i, 1)
            If Not .Exists(Tmp) Then
                k = k + 1
                .Add Tmp, k
                For j = 1 To UBound(Arr, 2)
                    dArr(k, j) = Arr(i, j)
                Next j
            Else
                dArr(.Item(Tmp), 2) = dArr(.Item(Tmp), 2) + Arr(i, 2)
                dArr(.Item(Tmp), 3) = dArr(.Item(Tmp), 3) + Arr(i, 3)
            End If
        Next i
    End With
    Sheet1.Range("J2").Resize(k, UBound(Arr, 2)) = dArr
    Application.ScreenUpdating = True
End Sub
 

File đính kèm

  • Excel-hoi.xlsm
    24.1 KB · Đọc: 9
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom