Chỉ dùng một hàm BS_SQL chạy lệnh SQL để tạo báo cáo chi tiết lọc nhiều điều kiện. Khi giá trị điều
kiện thay đổi trên bảng tính báo cáo cập nhật ngay, tự động co giãn dòng, tốc độ chạy nhanh. Cách làm chỉ dùng chuột kéo thả với SQL Builder để tạo công thức.
Trước khi thực hành theo video này bạn cần download và cài đặt Add-in A-Tools tại đây.
Video hướng dẫn dùng hàm BS_SQL để tạo báo cáo chi tiết - Dùng chuột kéo thả với SQL Builder.
Cách làm như sau
Bước 1: Đặt tên vùng dữ liệu nguồn cần làm báo cáo DEFINE NAME "NL". Để đặt tên vùng ta làm như sau vào Fomulas/Define Name/Bôi đen vùng dữ liệu bao gồm cả tiêu đề.
Chú ý: Vùng đặt NAME phải gồm cả dòng tiêu đề. Nếu muốn lấy toán bộ sheet thì vị trí 1 của sheet phải là dòng tiêu đề.
Bước 2: Thiết kế form báo cáo bao gồm
- Tiêu đề báo cáo
- Điều kiện trích lọc dữ liệu, ở ví dụ này là lọc theo Mã Khách hàng
- Thiết kế vùng dữ liệu để lấy ra, vùng này ta thiết kế ở dạng bảng với nội dung như sau:
+ Dòng đầu tiên tiêu đề bảng
+ Cần tối thiểu 2 dòng tiếp theo lập công thức để lấy dữ liệu sang
+ Dòng thứ tư mô tả tổng cộng, tại đây có thể sử dụng các hàm Excel thông thường.
+ Phần cuối cùng của báo cáo ta gọi là footer. Chúng ta mô tả thông tin về chữ ký Giám đốc, người lập báo cáo, thời gian lập.
Bước 3 tạo công thức:
Chọn ô đầu tiên trong vùng báo cáo để tạo công thức Vào A-Tools/ SQL Builder. Tại cửa sổ bên phải bảng tính kéo Bảng nguồn có tên “NL”, lựa chọn các thông tin cần lấy như: Số CT, Ngày CT, Mã HH, Tên Hàng, ĐVT, Số Lượng, Đơn Giá, Tiền Thuế, Tiền Hàng, Thành tiền
Bây giờ chúng ta làm điều kiện đặt con trỏ vào dòng Ma KH kéo sang bên phải ở cột Criteria ta bấm vào. Khi đó xuất hiện một cái nút ba chấm ta bấm vào nút ba chấm chọn RANGE. Bây giờ chúng ta hãy chỉ vào cái ô mà chúng ta muốn lọc đó là C4 nơi chứa mã khách hàng.
Để thêm số thứ tự ngay sau từ khóa SELECT ta thêm hàm RECNO()
Sau khi hoàn thành công thức ta được báo cáo như sau:
Bước 4: Để tạo bảng chọn mã khách hàng tự động theo Mã KH, Tên KH, MST...ta làm như sau:
- Tạo một sheet Danh Mục Khách Hàng và đặt tên "DMKH"
Ta quay về báo cáo. Tôi sẽ chọn hai ô C4 và D4, vào menu A-Tools/chọn nhập liệu nâng cao. Chương trình hỏi là bạn có muốn thiết lập vùng nhập liệu cho nhiều cột hay không? Ta chọn "đồng ý".
- Dữ liệu nguồn chọn tới tên mà chúng ta đã tạo đó là DMKH. Tại đây cột nhận giá trị và kiểm tra giá trị tích vào là cột mã khách hàng chứa giá trị duy nhất. Thứ tự điền vào sẽ là C4 sẽ là nhận mã khách hàng, D4 sẽ là nhận tên. Và bây giờ chúng ta bấm vào thêm, cuối cùng chúng ta bấm vào đóng.
Như vậy là chúng ta đã có một cái nút combo để chọn danh sách mã khách hàng. Nhấp đúp chuột vào cái ô mã khách hàng này là chúng ta đã có một cái cửa sổ để gõ giá trị và tìm kiếm.
Ngoài ra nếu không muốn dùng SQL Builder chúng ta có thể gõ tay công thức như sau:
=BS_SQL("SELECT RECNO(), SO_CT, NGAY_CT, MA_HH, TEN_HH, DVT, SLG, DON_GIA, TIEN_HANG, TIEN_THUE, THANH_TIEN
FROM NL
WHERE MA_KH =RANGE(C4)","HR=NO; INSERT=YES;")
Xem thêm Video Thẻ kho với công thức tính dồn trong Excel và Add-in A-Tools:
Các hỏi đáp, hỗ trợ:
+ Nhóm cộng đồng: https://web.facebook.com/groups/hocexcel
+ Zalo: 096.555.6989 - Email: support@bluesofts.net