Để làm báo cáo tháng trong Excel, bạn nên lưu giao dịch trong một Table, tạo danh sách ngày đầu tháng rồi dùng SUMIFS cộng số tiền từ đầu tháng đến trước tháng kế tiếp. Cách này phân biệt được tháng cùng số ở hai năm khác nhau và lấy đủ giao dịch có giờ trong ngày cuối tháng. Bài dưới đây hướng dẫn một mẫu doanh thu 12 tháng có lọc cửa hàng, so sánh tháng trước và số kiểm tra để bạn tự đối chiếu.
Chốt cấu trúc báo cáo trước khi viết công thức
Một báo cáo tháng dễ dùng cần trả lời ba câu: tháng này đạt bao nhiêu, tăng giảm thế nào và cửa hàng nào đóng góp. Bạn có thể dành một sheet GiaoDich cho dữ liệu gốc, một sheet BaoCao cho bảng tổng hợp; không tạo riêng mỗi tháng một sheet để rồi cộng thủ công.
Mẫu này tính doanh thu theo ngày ghi nhận giao dịch, đơn vị đồng. Số tiền là giá trị đã thống nhất trước khi tổng hợp; nếu nguồn có VAT, chiết khấu hoặc hàng trả lại, bạn cần xác định quy tắc riêng. Tổng doanh thu không đồng nghĩa với tiền đã thu hay lợi nhuận.
Nếu đang theo dõi biến động từng ngày, bạn có thể đọc thêm cách làm báo cáo Excel theo ngày. Ở đây, trọng tâm là bảng 12 tháng, chọn năm và so sánh giữa các kỳ.
Bước 1: Chuẩn bị bảng giao dịch có thể mở rộng
Nhập bảng giả lập sau vào sheet GiaoDich, chọn toàn bộ vùng rồi dùng Insert > Table, xác nhận bảng có tiêu đề. Trong Table Design, đặt tên bảng là tblBanHang. Giữ đúng các tên cột MaGD, Ngay, CuaHang, DoanhThu để dùng công thức bên dưới.
| MaGD | Ngay | CuaHang | DoanhThu |
|---|---|---|---|
| GD01 | 01/09/2026 09:00 | Hà Nội | 1000000 |
| GD02 | 30/09/2026 18:00 | Hà Nội | 2000000 |
| GD03 | 01/10/2026 08:00 | Hà Nội | 1500000 |
| GD04 | 15/10/2026 10:00 | Đà Nẵng | 2500000 |
| GD05 | 31/10/2026 20:30 | Hà Nội | 3000000 |
| GD06 | 01/11/2026 00:00 | Hà Nội | 4000000 |
| GD07 | 20/10/2025 12:00 | Hà Nội | 9000000 |
Đây hoàn toàn là dữ liệu minh hoạ, không phải kết quả kinh doanh của khách hàng. Nhập DoanhThu dưới dạng số, sau đó mới định dạng có dấu phân cách hàng nghìn. Với Ngay, hãy kiểm tra bằng ISNUMBER: ô chứa ngày giờ hợp lệ phải trả TRUE. Đổi định dạng hiển thị không tự chuyển một chuỗi văn bản thành ngày.
=DATE(2026,10,31)+TIME(20,30,0)
Bạn có thể dùng công thức trên để nhập chính xác giao dịch GD05, tránh phụ thuộc máy hiểu ngày theo tháng/ngày hay ngày/tháng. Các ví dụ dùng dấu phẩy ngăn đối số; nếu Excel trên máy yêu cầu dấu chấm phẩy, thay dấu phân cách tương ứng.

Bước 2: Tạo danh sách 12 tháng theo năm lựa chọn
Trong sheet BaoCao, nhập năm 2026 tại B1. Đặt tiêu đề A4 là Tháng, B4 là Doanh thu; tại A5 nhập công thức đầu tiên, tại A6 nhập công thức kế tiếp rồi kéo A6 xuống A16.
A5: =DATE($B$1,1,1)
A6: =EDATE(A5,1)
Định dạng A5:A16 thành mm/yyyy. Mỗi ô vẫn là ngày đầu tháng thực, chỉ thay cách hiển thị. Không nhập riêng số 1, 2, 3 hoặc chuỗi “Tháng 10”: chúng thiếu thông tin năm và khó làm ranh giới tính toán.
EDATE dịch một ngày đi số tháng chỉ định. Vì bắt đầu từ ngày 1, bạn luôn nhận được đầu tháng tiếp theo, kể cả khi chuyển từ tháng 12 sang tháng 1 năm sau. Có thể xem cú pháp tại tài liệu EDATE của Microsoft.
Bước 3: Tính doanh thu từng tháng bằng SUMIFS
Tại B5 nhập công thức sau rồi kéo đến B16. SUMIFS cộng DoanhThu cho các dòng đồng thời thoả hai điều kiện ngày. Các vùng điều kiện và vùng cộng đều lấy từ cùng Table nên có cùng số dòng.
=SUMIFS(tblBanHang[DoanhThu],tblBanHang[Ngay],">="&A5,tblBanHang[Ngay],"<"&EDATE(A5,1))
Quy tắc cần nhớ là lớn hơn hoặc bằng đầu tháng, nhỏ hơn đầu tháng sau. Với tháng 10/2026, GD05 lúc 20:30 ngày 31/10 vẫn nằm trong kỳ, còn GD06 lúc 00:00 ngày 01/11 nằm ngoài. GD07 của năm 2025 cũng không bị cộng nhầm.
Nếu dùng điều kiện nhỏ hơn hoặc bằng ngày 31/10 không có giờ, Excel hiểu mốc đó là đầu ngày 31/10; giao dịch phát sinh sau nửa đêm có thể bị bỏ sót. Khoảng nửa mở tránh việc phải tự ghép giờ 23:59:59 và áp dụng được cho tháng dài ngắn khác nhau.
Với bảng mẫu, tháng 9 trả 3.000.000 đồng, tháng 10 trả 7.000.000 đồng, tháng 11 trả 4.000.000 đồng. Các tháng còn lại của năm 2026 trả 0. Tham khảo cú pháp SUMIFS chính thức nếu cần bổ sung điều kiện.
Bước 4: Lọc doanh thu theo cửa hàng
Nhập Hà Nội vào E1. Đặt C4 là Doanh thu cửa hàng; tại C5 thêm cặp điều kiện CuaHang rồi kéo đến C16. Ô E1 nên dùng danh sách lựa chọn từ mã hoặc tên cửa hàng đã chuẩn hoá để tránh nhập khác chính tả.
=SUMIFS(tblBanHang[DoanhThu],tblBanHang[Ngay],">="&A5,tblBanHang[Ngay],"<"&EDATE(A5,1),tblBanHang[CuaHang],$E$1)
Kết quả Hà Nội trong tháng 10 phải là 4.500.000 đồng; Đà Nẵng là 2.500.000 đồng. Cộng hai cửa hàng sẽ khớp tổng tháng 7.000.000 đồng. Công thức này không hiểu lựa chọn “Tất cả” như một lệnh đặc biệt: nếu muốn xem toàn bộ, dùng cột B đã tính sẵn.
Khi dữ liệu đến từ nhiều file cửa hàng, hãy thống nhất tên cột trước khi tổng hợp. Hướng dẫn gộp nhiều file Excel bằng Power Query phù hợp khi bạn đang lặp thao tác sao chép mỗi tháng.

Bước 5: So sánh tháng trước và trình bày kết quả
Đặt D4 là Tăng trưởng tháng. Bỏ trống D5 vì bảng chưa có tháng 12 năm trước; tại D6 nhập công thức dưới rồi kéo xuống. Cột này so tổng doanh thu ở B, không so doanh thu cửa hàng ở C.
=IF(B5=0,"",B6/B5-1)
Định dạng D6:D16 thành phần trăm, một chữ số thập phân. Tháng 10 so tháng 9 tăng 133,3%; tháng 11 so tháng 10 giảm 42,9%. Khi tháng trước bằng 0, công thức để trống vì tỷ lệ tăng trưởng không có mẫu số hợp lệ. Bạn có thể ghi chú “chưa có cơ sở so sánh” bên cạnh thay vì hiển thị 0% gây hiểu nhầm.
Để trực quan, tạo biểu đồ cột từ A4:B16 và đặt đơn vị tiền rõ ràng. Chỉ so tháng đã chốt với tháng đã chốt; tháng đang chạy nên ghi ngày cập nhật dữ liệu. Một tháng chưa kết thúc thường thấp hơn tháng đủ ngày, nhưng điều đó chưa chứng minh doanh thu đang suy giảm.
Nếu muốn phát triển thêm thẻ KPI và biểu đồ theo cửa hàng, xem cách làm dashboard bằng Excel. Bảng tổng hợp cần đúng trước khi bạn đầu tư vào màu sắc.
Checklist đối chiếu trước khi gửi báo cáo
- Lọc bảng gốc theo khoảng từ 01/10/2026 đến trước 01/11/2026, kiểm tra đúng ba giao dịch trong mẫu.
- Đối chiếu tổng năm 2026 là 14.000.000 đồng; không đưa 9.000.000 đồng của năm 2025 vào.
- Kiểm tra giao dịch có giờ ở cuối tháng và đúng nửa đêm đầu tháng sau.
- Thêm một giao dịch thử vào dòng mới của Table, xác nhận báo cáo đổi đúng rồi xoá dòng thử.
- Kiểm tra mã giao dịch trùng và quy tắc hàng trả lại trước khi kết luận doanh thu.
SUMIFS không tự loại trùng và không thay đổi theo việc bạn ẩn dòng bằng bộ lọc trên bảng nguồn. Vì vậy, dữ liệu sai vẫn có thể cho ra một báo cáo nhìn rất hợp lý. Hãy lưu bản dữ liệu đã chốt và ghi thời điểm cập nhật để người nhận biết báo cáo đang phản ánh phiên bản nào.
Câu hỏi thường gặp
Có thể dùng MONTH để cộng doanh thu theo tháng không?
Có thể xây công thức khác dựa trên MONTH, nhưng chỉ so số tháng sẽ lẫn các năm. Với SUMIFS, hai mốc ngày đầy đủ giúp điều kiện rõ ràng mà không cần tạo thêm cột tháng và năm.
Vì sao báo cáo tháng trả về 0 dù có giao dịch?
Kiểm tra Ngay có phải số ngày Excel, DoanhThu có phải số và năm ở B1 có khớp dữ liệu không. Với báo cáo cửa hàng, kiểm tra thêm khoảng trắng thừa hoặc tên không thống nhất ở E1.
Dùng PivotTable thay SUMIFS được không?
Được, đặc biệt khi cần kéo thả nhiều chiều phân tích. Nếu nhóm ngày, cần giữ cả năm và tháng để tránh gộp khác năm; sau khi thêm dữ liệu, làm mới PivotTable. SUMIFS phù hợp khi muốn giữ bố cục 12 tháng cố định.
Mẫu này có dùng được trên Excel 2016 không?
Có, các công thức sử dụng Table, SUMIFS, DATE, EDATE và IF, không phụ thuộc hàm mảng động mới. Bạn cần điều chỉnh dấu phân cách đối số theo thiết lập Excel trên máy.
Nếu cần chuyển báo cáo tháng thành dashboard Power BI với dữ liệu nhiều cửa hàng, bạn có thể xem báo giá làm Power BI và chuẩn bị bảng giao dịch cùng quy tắc chốt kỳ để freelancer đánh giá phạm vi công việc.
Sẵn sàng xây dựng dashboard Power BI?
Kết nối với freelancer Power BI phù hợp, xem báo cáo nhúng ngay trên trình duyệt và tải file .pbix về sau khi thanh toán.
Đào Ngọc Tú
Cộng tác viên chuyên gia tại SenData. Chia sẻ kiến thức về phát triển Power BI, trực quan hóa dữ liệu và best practice business intelligence.

