Để làm báo cáo trong Excel theo ngày, bạn nên lưu giao dịch trong một Table rồi dùng SUMIFS cộng doanh thu từ đầu ngày đến trước đầu ngày kế tiếp. Cách đặt điều kiện này lấy đủ giao dịch có giờ phút, đồng thời tránh tính trùng đơn lúc nửa đêm. Dưới đây là quy trình với dữ liệu giả lập để bạn tự kiểm tra kết quả.
1. Chốt ngày báo cáo và cách ghi nhận doanh thu
Trước khi viết công thức, hãy thống nhất bạn đang báo cáo theo ngày đặt hàng, ngày giao thành công hay ngày thu tiền. Ba mốc này có thể khác nhau. Bài này dùng ngày ghi nhận bán hàng, chỉ cộng giao dịch có trạng thái “Hoàn tất”; đây không phải báo cáo dòng tiền hoặc hướng dẫn ghi nhận doanh thu kế toán.
Mỗi dòng ví dụ là một đơn, số tiền là doanh thu của cả đơn bằng đồng Việt Nam. Nếu file nguồn có nhiều dòng hàng cho một đơn, bạn cần cộng tiền từng dòng hàng; không lặp lại tổng tiền đơn trên tất cả các dòng. Việc đếm số đơn khi đó cũng cần xử lý riêng.
2. Chuẩn bị bảng giao dịch dùng xuyên suốt
Tạo sheet DuLieu, nhập bảng sau vào A1:E7. Các tên cửa hàng và giao dịch đều là giả lập. Nhập tiền dưới dạng số nguyên, chẳng hạn 1200000; dấu phân cách hàng nghìn trong bảng dưới chỉ để dễ đọc.
| MaDon | NgayGio | CuaHang | TrangThai | DoanhThu |
|---|---|---|---|---|
| DH001 | 26/10/2026 08:15 | Hà Nội | Hoàn tất | 1.200.000 |
| DH002 | 26/10/2026 23:59 | Hà Nội | Hoàn tất | 800.000 |
| DH003 | 27/10/2026 00:00 | Hà Nội | Hoàn tất | 500.000 |
| DH004 | 27/10/2026 09:30 | Đà Nẵng | Hoàn tất | 1.500.000 |
| DH005 | 27/10/2026 15:00 | Hà Nội | Hủy | 300.000 |
| DH006 | 28/10/2026 10:00 | Hà Nội | Hoàn tất | 700.000 |
Chọn vùng A1:E7, vào Insert → Table, xác nhận có hàng tiêu đề. Trong Table Design, đổi Table Name thành BanHang. Tên cột cần giữ đúng như bảng để công thức bên dưới tham chiếu được.
Cột NgayGio phải là giá trị ngày giờ thật. Để dựng mẫu không phụ thuộc cách máy hiểu ngày/tháng, bạn có thể nhập B2 bằng công thức sau, rồi tạo tương tự cho các dòng còn lại:
=DATE(2026,10,26)+TIME(8,15,0)
Định dạng cột B thành dd/mm/yyyy hh:mm. Định dạng chỉ thay cách hiển thị; nó không biến chuỗi văn bản thành ngày thật. Kiểm tra bằng =ISNUMBER(B2): kết quả cần là TRUE với dữ liệu mẫu này. Các công thức dùng dấu phẩy; nếu Excel yêu cầu dấu chấm phẩy, hãy đổi dấu phân cách đối số.
3. Tạo bảng doanh thu từng ngày bằng SUMIFS
Tạo sheet BaoCao. Điền A1 là Ngay, B1 là DoanhThu; tại A2 nhập =DATE(2026,10,26), tại A3 nhập =A2+1 rồi kéo xuống A4. Định dạng A2:A4 theo ngày/tháng/năm. Tại B2, nhập:
=SUMIFS(BanHang[DoanhThu],BanHang[NgayGio],">="&A2,BanHang[NgayGio],"<"&(A2+1),BanHang[TrangThai],"Hoàn tất")
Sao chép B2 xuống B4. SUMIFS cộng cột DoanhThu khi đồng thời thỏa ba điều kiện: thời điểm không sớm hơn A2, sớm hơn A2 cộng một ngày và trạng thái là Hoàn tất. Bạn có thể xem cú pháp tại tài liệu SUMIFS của Microsoft.

| Ngày | Đơn được cộng | Doanh thu kỳ vọng |
|---|---|---|
| 26/10/2026 | DH001, DH002 | 2.000.000 |
| 27/10/2026 | DH003, DH004 | 2.000.000 |
| 28/10/2026 | DH006 | 700.000 |
Đừng dùng điều kiện bằng ngày khi nguồn có giờ. Giá trị 26/10/2026 lúc 08:15 khác ngày 26/10/2026 lúc 00:00. Ngược lại, nếu dùng “nhỏ hơn hoặc bằng A2+1”, đơn DH003 lúc 00:00 ngày 27 sẽ bị tính vào ngày 26 và có thể xuất hiện lại ở ngày 27.
Ô A2 phải chỉ chứa ngày, không kèm giờ. Nếu bạn sao chép một thời điểm 08:00 vào đó, khoảng lọc sẽ thành từ 08:00 hôm nay đến trước 08:00 hôm sau. Công thức vẫn chạy nhưng ý nghĩa báo cáo đã đổi.
4. Thêm cửa hàng và khoảng ngày cần xem
Lọc riêng một cửa hàng
Tại D1 nhập CuaHang, D2 nhập Hà Nội. Nếu muốn B2 chỉ cộng cửa hàng này, thay công thức bằng:
=SUMIFS(BanHang[DoanhThu],BanHang[NgayGio],">="&A2,BanHang[NgayGio],"<"&(A2+1),BanHang[TrangThai],"Hoàn tất",BanHang[CuaHang],$D$2)
Kéo xuống B4, bạn sẽ nhận lần lượt 2.000.000, 500.000 và 700.000 đồng. Khóa $D$2 giữ nguyên ô cửa hàng khi sao chép; A2 vẫn dịch thành A3, A4. Có thể dùng Data Validation dạng danh sách để hạn chế nhập sai tên cửa hàng.
Tổng hợp cả khoảng ngày
Tại F1 nhập TuNgay, F2 nhập =DATE(2026,10,26); tại G1 nhập DenNgay, G2 nhập =DATE(2026,10,27). Đặt công thức tổng tại H2:
=SUMIFS(BanHang[DoanhThu],BanHang[NgayGio],">="&F2,BanHang[NgayGio],"<"&(G2+1),BanHang[TrangThai],"Hoàn tất")
Kết quả là 4.000.000 đồng cho tất cả cửa hàng trong hai ngày. F2 và G2 cần là ngày không có giờ, đồng thời F2 không lớn hơn G2. Nếu cần riêng Hà Nội, thêm cặp điều kiện cửa hàng như ví dụ trước; kết quả sẽ là 2.500.000 đồng.
5. Kiểm tra trước khi đưa số liệu lên biểu đồ
Đối chiếu tổng ba ngày với toàn bộ năm đơn hoàn tất: 4.700.000 đồng. Tổng số tiền ở nguồn, kể cả đơn hủy, là 5.000.000 đồng. Chênh lệch 300.000 đồng có lý do cụ thể là DH005; đừng cố sửa công thức để hai tổng bằng nhau khi phạm vi ghi nhận khác nhau.

- Ngày lưu dạng chữ: ISNUMBER trả FALSE; kiểm tra cách nhập hoặc chuyển kiểu với vùng phù hợp trước khi tính.
- Tiền lưu dạng chữ: kiểm tra vài ô bằng ISNUMBER; làm sạch dấu phân cách theo quy ước nguồn, không chỉ đổi định dạng Number.
- Trạng thái hoặc cửa hàng thừa khoảng trắng: chuẩn hóa danh mục đầu vào để không mất giao dịch hợp lệ.
- Thêm dòng nhưng tổng không đổi: xác nhận dòng mới nằm trong Table BanHang và chế độ tính toán là Automatic.
- Số tăng gấp đôi: kiểm tra trùng MaDon và xem nguồn đã lặp tổng đơn ở cấp dòng hàng hay chưa.
Với file CSV có ngày dạng văn bản, bạn có thể dùng Power Query và chọn Change Type → Using Locale để chuyển theo quy ước nguồn. Microsoft Learn mô tả tham số vùng trong Table.TransformColumnTypes. Đừng mặc định mọi file đều dùng ngày/tháng/năm; hãy đối chiếu một ngày không thể hiểu theo hai cách.
6. Từ bảng ngày đến báo cáo dễ bàn giao
Giữ bảng giao dịch làm nguồn, còn sheet BaoCao chỉ chứa ô chọn, công thức và biểu đồ. Dùng biểu đồ cột với ngày ở trục ngang, doanh thu ở trục dọc; ghi rõ đơn vị đồng và cửa hàng đang lọc. Bạn có thể tham khảo cách làm dashboard bằng Excel để tổ chức phần trình bày.
Thử thêm một đơn hoàn tất vào ngày đã có và một đơn vào ngày mới. Table nguồn có thể mở rộng, nhưng danh sách ngày A2:A4 trong ví dụ vẫn là vùng bạn tạo thủ công: cần bổ sung ngày mới và sao chép công thức tương ứng. Nếu đầu vào là nhiều file, hãy gộp file bằng Power Query trước khi tổng hợp.
Câu hỏi thường gặp
Excel 2016 có dùng được công thức này không?
Có. Ví dụ dùng SUMIFS và Table, không phụ thuộc hàm mảng động. Bạn cần giữ đúng tên Table, tên cột và dấu phân cách đối số mà máy đang dùng.
Vì sao đã đổi định dạng ngày mà báo cáo vẫn bằng 0?
Giá trị gốc có thể vẫn là văn bản, hoặc điều kiện trạng thái không khớp. Kiểm tra ISNUMBER cho ngày và tiền, rồi lọc thủ công một ngày để so từng dòng.
Ngày không bán hàng nên bỏ trống hay hiện số 0?
Nên giữ ngày đó trong danh sách báo cáo. SUMIFS trả 0 khi không có giao dịch phù hợp; cách này giúp phân biệt ngày không bán với ngày chưa được đưa vào báo cáo.
Ca bán hàng kết thúc lúc 2 giờ sáng thì tính thế nào?
Cần thống nhất ngày kinh doanh với người sử dụng. Nếu một ngày tính từ 02:00 đến trước 02:00 hôm sau, hãy dịch cả hai mốc lọc thêm TIME(2,0,0), rồi thử giao dịch ngay trước và đúng mốc giao ca.
Khi báo cáo cần nối nhiều nguồn và phân quyền xem theo cửa hàng, bạn có thể cân nhắc Power BI. Nếu cần người hỗ trợ dựng và kiểm tra báo cáo, hãy xem báo giá làm Power BI và gửi mô tả dữ liệu cùng cách tính chỉ tiêu để trao đổi phạm vi phù hợp.
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.

