Trong bài viết này Học Excel Online sẽ hướng dẫn các bạn kỹ thuật Excel giúp lọc danh sách tài khoản chi tiết theo tài khoản tổng hợp. Đây là nội dung trong khóa học KTH101 – Kế toán tổng hợp từ A đến Z của Học Excel Online. Các bạn hãy tìm hiểu và vận dụng vào Sổ chi tiết trên Excel nhé.
Xem nhanh
Trong danh mục tài khoản trên Excel, chúng ta có danh sách tài khoản như sau:
Và trong Sổ chi tiết, yêu cầu của chúng ta là tạo ra danh sách tài khoản chi tiết tương ứng theo tài khoản tổng hợp được chọn.
Ví dụ: Khi chọn tài khoản tổng hợp là 133 => Danh sách tài khoản chi tiết sẽ gồm 2 tài khoản chi tiết là 1331 và 1332 như trong hình:
Mục đích khá rõ ràng phải không nào? Chúng ta cùng tìm hiểu cách làm là sử dụng Advanced Filter trong Excel nhé.
Advanced Filter có đặc điểm là giúp chúng ta có thể kết hợp đồng thời việc lọc và trích xuất dữ liệu. Các bước thực hiện Advanced Filter như sau:
Bước 1: Tạo vùng điều kiện
Advanced Filter khá đặc biệt ở việc thiết lập vùng điều kiện. Nguyên tắc là: Mỗi điều kiện sẽ gắn với 1 tên tiêu đề cột dữ liệu.
Do đó vùng điều kiện chúng ta thiết lập như sau:
Do tài khoản chi tiết là những tài khoản có các ký tự đầu giống như tài khoản tổng hợp (khác ở các ký tự phía sau), do đó điều kiện là Số tài khoản tổng hợp gắn thêm dấu *
Bước 2: Thao tác Advanced Filter
Thực hiện Advanced Filter như sau:
Khi bấm OK, chúng ta có kết quả như sau:
Bước 3: Sử dụng kết quả của Advanced Filter
Chúng ta thấy trong kết quả trên, danh mục tài khoản được lọc ra gồm cả tài khoản tổng hợp và tài khoản chi tiết. Trong đó tài khoản tổng hợp luôn nằm ở dòng đầu tiên. Các dòng tiếp theo là tài khoản chi tiết.
Chúng ta thiết lập Data Validation trong ô chọn tài khoản chi tiết (ô F3) như sau:
=OFFSET($H$9,0,0,COUNTA($H$9:$H$26))
Hàm OFFSET là 1 hàm trả về kết quả mảng linh động:
=> kết quả của công thức chính là giá trị trong những ô không phải ô trống trong cột H, bắt đầu từ dòng 9 (ô H9). Đây chính là danh sách tài khoản chi tiết chúng ta cần lấy.
Xem thêm: Hướng dẫn cách tạo danh sách động trong Excel với hàm OFFSET
Bước 4: Tự động hóa Advanced Filter mỗi khi thay đổi tài khoản tổng hợp
Để có thể tự động hóa cho thao tác Advanced Filter, chúng ta sử dụng thêm tính năng Record Macro và Sử dụng Macro trong VBA như sau:
Đầu tiên ghi lại macro sử dụng Advanced Filter: Mở thẻ Developer > chọn Record > Thực hiện lại thao tác Advanced Filter
Kết quả thu được Macro có nội dung như sau:
Sub Macro1()
Range(“A2:B232”).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range(“H3:H4”), CopyToRange:=Range(“H7:I7”), Unique:=False
End Sub
Trong đó chú ý các vùng Range chính là tọa độ của các đối tượng của Advanced Filter mà chúng ta vừa chọn:
Tiếp theo chúng ta gọi sự kiện Worksheet_Change tại Sheet chứa Sổ chi tiết, gọi tên Macro1 (là macro ghi lại thao tác Advanced Filter vừa thu được ở trên)
Khi đó mỗi khi thay đổi giá trị tại ô tài khoản tổng hợp, chúng ta cũng thu được danh sách tài khoản chi tiết tương ứng theo tài khoản tổng hợp đó.
Các bạn tham khảo thêm trong bài viết:
Hướng dẫn cách sử dụng chức năng Advanced Filter trong VBA
Tải về file mẫu theo bài viết: http://bit.ly/2FDWlnJ