Quản lý công việc theo tuần trong Excel thường gặp vấn đề khi cần tổng hợp dữ liệu từ hàng trăm dòng ngày tháng khác nhau. Lọc thủ công từng tuần tốn thời gian, dễ nhầm lẫn, và phải làm lại mỗi khi có thêm dữ liệu mới. Hàm WEEKNUM giải quyết chính xác vấn đề này bằng cách tự động chuyển đổi bất kỳ ngày nào thành số thứ tự tuần trong năm.

Cú pháp cơ bản và hai tham số quan trọng
Hàm WEEKNUM thuộc nhóm hàm ngày tháng trong Excel với cú pháp đơn giản: =WEEKNUM(serial_number, [return_type]). Tham số đầu tiên là serial_number – đại diện cho ngày cần tính, có thể nhập trực tiếp dưới dạng ngày tháng trong ô hoặc kết quả từ các hàm như DATE hoặc TODAY. Tham số thứ hai là return_type, tùy chọn xác định ngày nào trong tuần được coi là ngày đầu tiên.
Ví dụ cơ bản:
=WEEKNUM("1/1/2025") Trả về 1
=WEEKNUM("15/3/2025", 1) Trả về 11
=WEEKNUM(DATE(2025,6,20), 2) Trả về 25
Excel lưu trữ ngày tháng dưới dạng số sê-ri liên tiếp, trong đó ngày 1/1/1900 được gán giá trị 1. Mỗi ngày tiếp theo tăng thêm 1 đơn vị. Điều này giúp WEEKNUM tính toán chính xác khoảng cách giữa các ngày và xác định tuần tương ứng. Kết quả trả về là số nguyên từ 1 đến 54, đại diện cho số thứ tự của tuần trong năm.
So sánh hai hệ thống đếm tuần quan trọng
WEEKNUM hỗ trợ hai hệ thống đếm tuần khác biệt về cách xác định tuần đầu tiên của năm. System 1 – hệ thống mặc định – coi tuần có chứa ngày 1 tháng 1 là tuần số 1, bất kể ngày đó rơi vào thứ mấy trong tuần. System 2 theo chuẩn ISO 8601 của châu Âu, quy định tuần đầu tiên phải chứa ngày thứ Năm đầu tiên của năm, thường được dùng trong các tổ chức quốc tế và doanh nghiệp đa quốc gia.
Sự khác biệt thực tế:
Với ngày 1/1/2025 rơi vào thứ Tư:
- System 1: Tuần số 1 bắt đầu từ Chủ Nhật 29/12/2024
- System 2 (ISO 8601): Tuần số 1 bắt đầu từ thứ Hai 30/12/2024
Sự khác biệt này ảnh hưởng đến báo cáo tài chính quý đầu năm và thống kê kinh doanh theo tuần. Các công ty châu Âu thường dùng ISO 8601, trong khi doanh nghiệp Bắc Mỹ ưu tiên System 1. Khi làm việc với dữ liệu quốc tế, việc xác định đúng hệ thống tránh sai lệch số liệu giữa các chi nhánh.
Bảng return_type đầy đủ từ 1 đến 21
Return_type xác định ngày nào trong tuần được tính là ngày bắt đầu và hệ thống đếm tuần nào được áp dụng. Excel 2010 trở lên hỗ trợ 18 giá trị khác nhau, mỗi giá trị phục vụ nhu cầu báo cáo cụ thể.
System 1 – Tuần chứa ngày 1/1:
- 1 hoặc 17: Chủ Nhật là ngày đầu tuần
- 2 hoặc 11: Thứ Hai là ngày đầu tuần
- 12: Thứ Ba là ngày đầu tuần
- 13: Thứ Tư là ngày đầu tuần
- 14: Thứ Năm là ngày đầu tuần
- 15: Thứ Sáu là ngày đầu tuần
- 16: Thứ Bảy là ngày đầu tuần
System 2 – ISO 8601:
- 21: Thứ Hai là ngày đầu tuần, tuần 1 chứa thứ Năm đầu tiên
Các giá trị 1 và 17 cho kết quả giống nhau, tương tự 2 và 11. Microsoft giữ cả hai để tương thích ngược với Excel 2007 và các phiên bản cũ hơn sử dụng Analysis ToolPak. Khi bỏ trống return_type, Excel mặc định dùng giá trị 1 – tuần bắt đầu Chủ Nhật theo System 1.
Kết hợp WEEKNUM với TODAY và DATE
Sức mạnh thực sự của WEEKNUM xuất hiện khi kết hợp với các hàm ngày tháng khác. Hàm TODAY trả về ngày hiện tại, cho phép tính tuần hiện tại tự động cập nhật mỗi ngày. Hàm DATE tạo giá trị ngày từ ba thành phần năm, tháng, ngày, hữu ích khi cần tính tuần cho ngày được xây dựng động.
Công thức tự động cập nhật:
=WEEKNUM(TODAY(), 2)
Công thức này tính số tuần hiện tại với tuần bắt đầu vào thứ Hai. Mỗi lần mở file Excel, giá trị tự động cập nhật theo ngày hiện tại của hệ thống. Phù hợp để hiển thị tuần hiện tại trên dashboard hoặc báo cáo theo dõi tiến độ.
Tính tuần cho ngày được xây dựng động:
=WEEKNUM(DATE(2025, A2, B2), 11)
Trong đó A2 chứa tháng và B2 chứa ngày. Công thức này linh hoạt khi người dùng nhập tháng và ngày trong các ô riêng biệt, Excel tự động tính số tuần tương ứng. Return_type là 11 đảm bảo tuần bắt đầu từ thứ Hai theo chuẩn thông dụng tại Việt Nam.
So sánh tuần giữa hai ngày:
=WEEKNUM(D2, 2) - WEEKNUM(C2, 2)
Công thức trả về số tuần chênh lệch giữa hai mốc thời gian. Hữu ích trong quản lý dự án để tính thời gian hoàn thành tính theo tuần, hoặc phân tích khoảng cách thời gian giữa các sự kiện.
Ứng dụng SUMIFS để tổng hợp theo tuần
Trong thực tế, WEEKNUM thường được dùng làm cột phụ để tổng hợp dữ liệu theo tuần bằng hàm SUMIFS. Thay vì lọc thủ công từng tuần, công thức tự động tính tổng tất cả các giá trị trong cùng tuần.
Cấu trúc tổng hợp cơ bản:
Giả sử cột B chứa ngày giao dịch, cột C chứa doanh thu, cần tính tổng doanh thu tuần 15:
=SUMIFS(C:C, B:B, ">="&DATE(2025,1,1), B:B, "<"&DATE(2025,12,31), WEEKNUM(B:B,2), 15)
Tuy nhiên, công thức trên không hoạt động vì WEEKNUM không chấp nhận tham số dạng dải ô. Giải pháp hiệu quả là tạo cột phụ tính số tuần cho mỗi dòng.
Phương pháp với cột phụ:
- Tại cột D2, nhập:
=WEEKNUM(B2, 2) - Kéo công thức xuống toàn bộ dữ liệu
- Tổng hợp bằng SUMIFS:
=SUMIFS(C:C, D:D, 15)
Cột D giờ chứa số tuần cho mỗi giao dịch. SUMIFS duyệt cột D, tìm tất cả dòng có giá trị 15, và cộng dồn các giá trị tương ứng trong cột C. Phương pháp này xử lý hàng nghìn dòng trong vài mili-giây.
Tổng hợp nhiều điều kiện:
=SUMIFS(C:C, D:D, 15, E:E, "Hoàn thành")
Công thức lọc cả theo tuần 15 và trạng thái hoàn thành. Kết hợp WEEKNUM với nhiều điều kiện khác tạo báo cáo phân tích đa chiều mà không cần Pivot Table.
Xử lý các lỗi thường gặp với WEEKNUM
Hàm WEEKNUM trả về hai loại lỗi chính khi dữ liệu đầu vào không hợp lệ. Hiểu rõ nguyên nhân giúp khắc phục nhanh chóng.
Lỗi #VALUE:
Xuất hiện khi serial_number không phải giá trị ngày hợp lệ hoặc nằm ngoài phạm vi từ 1/1/1900 đến 31/12/9999. Ô trống cũng gây lỗi này nếu công thức WEEKNUM tham chiếu trực tiếp.
=WEEKNUM("abc") Lỗi #VALUE
=WEEKNUM("40/12/2025") Lỗi #VALUE
=WEEKNUM(A2) Lỗi #VALUE nếu A2 trống
Giải pháp xử lý ô trống:
=IFERROR(WEEKNUM(A2, 2), "")
IFERROR bọc WEEKNUM, nếu A2 trống hoặc không hợp lệ, trả về chuỗi rỗng thay vì lỗi. Giữ bảng tính sạch sẽ khi làm việc với dữ liệu có khoảng trống.
Lỗi #NUM:
Xảy ra khi return_type không nằm trong các giá trị cho phép từ 1 đến 17 hoặc 21. Excel 2007 và cũ hơn chỉ hỗ trợ return_type 1 và 2, sử dụng giá trị khác sẽ gây lỗi.
=WEEKNUM("1/5/2025", 25) Lỗi #NUM
=WEEKNUM("1/5/2025", 18) Lỗi #NUM
Kiểm tra phiên bản Excel:
Return_type từ 11 đến 17 và 21 chỉ khả dụng từ Excel 2010 trở lên. File tạo trong Excel 365 có return_type 11 khi mở trong Excel 2007 sẽ hiển thị lỗi #NUM. Sử dụng return_type 1 hoặc 2 đảm bảo tương thích với tất cả phiên bản.
Lựa chọn giữa WEEKNUM và ISOWEEKNUM
Excel 2013 giới thiệu hàm ISOWEEKNUM riêng biệt, chuyên dụng cho chuẩn ISO 8601. Sự khác biệt quan trọng nằm ở cách đếm tuần đầu năm.
ISOWEEKNUM luôn tuân thủ ISO 8601:
- Tuần 1 là tuần chứa ngày thứ Năm đầu tiên của năm
- Tuần luôn bắt đầu từ thứ Hai
- Không có tham số return_type
So sánh với WEEKNUM:
=WEEKNUM("1/1/2025", 21) Tuần 1
=ISOWEEKNUM("1/1/2025") Tuần 1
=WEEKNUM("1/1/2025", 1) Tuần 1
=ISOWEEKNUM("1/1/2025") Tuần 1
Với năm 2025, cả hai cho kết quả giống nhau vì ngày 1/1/2025 là thứ Tư, tuần chứa thứ Năm đầu tiên cũng chứa ngày 1/1. Nhưng với năm khác, kết quả có thể khác biệt đáng kể.
Năm 2026 – sự khác biệt rõ rệt:
=WEEKNUM("1/1/2026", 21) Tuần 1
=WEEKNUM("1/1/2026", 1) Tuần 1
=ISOWEEKNUM("1/1/2026") Tuần 53 của năm 2025
Ngày 1/1/2026 là thứ Năm, nhưng theo ISO 8601, tuần này thuộc năm 2025 vì phần lớn các ngày (thứ Sáu, Bảy, Chủ Nhật) nằm trong năm 2025. ISOWEEKNUM trả về tuần 53 của năm trước, trong khi WEEKNUM với return_type 1 vẫn coi đó là tuần 1 của năm 2026.
Doanh nghiệp làm việc với đối tác châu Âu hoặc tuân thủ chuẩn quốc tế nên dùng ISOWEEKNUM. Công ty địa phương hoặc không yêu cầu chuẩn ISO có thể dùng WEEKNUM với return_type phù hợp theo quy định nội bộ.
Tương thích và khuyến nghị triển khai
WEEKNUM khả dụng từ Excel 2003 trở lên khi cài đặt Analysis ToolPak, và trở thành hàm tích hợp sẵn từ Excel 2007. Return_type mở rộng từ 11 đến 17 và 21 chỉ hoạt động từ Excel 2010 trở lên. Excel 365 và Excel 2021 hỗ trợ đầy đủ tất cả tính năng.
Khi xây dựng file Excel chia sẻ cho nhiều người, sử dụng return_type 1 hoặc 2 đảm bảo tương thích rộng nhất. Nếu tổ chức yêu cầu chuẩn ISO 8601, Excel 2013 trở lên với hàm ISOWEEKNUM là lựa chọn tối ưu. Tránh trộn lẫn cả hai hệ thống trong cùng một file báo cáo để ngăn sự nhầm lẫn và sai lệch dữ liệu.
Bắt đầu với công thức đơn giản =WEEKNUM(TODAY(), 2) để làm quen với kết quả trả về. Sau đó mở rộng sang các ứng dụng phức tạp hơn như tổng hợp theo tuần bằng SUMIFS hoặc kết hợp với Conditional Formatting để highlight các dòng trong tuần hiện tại. Hàm WEEKNUM tích hợp tốt với Pivot Table và Power Query cho phân tích dữ liệu quy mô lớn.
