Không có gì sai với công thức của bạn, nhưng có lẽ nó không phải là công thức bạn muốn sử dụng. Có một công thức Excel khác:
=WEEKNUM(serial_num, [return_type])
Điều đó sẽ trả về kết quả mà bạn mong đợi nhận được. Tuy nhiên, trước tiên bạn nên kiểm tra loại số tuần nào phù hợp hơn với ứng dụng của bạn.
Hãy để tôi giải thích thêm:
Hàm ISOWEEKNUM (ngày) hoạt động trên cơ sở một tuần luôn bắt đầu vào thứ Hai và kết thúc vào Chủ nhật và sau đó đặt ra tiêu chuẩn rằng tuần đầu tiên của năm là tuần có ngày thứ Năm đầu tiên trong tuần. Điều này có nghĩa là những ngày cuối cùng của năm trước có thể được dán nhãn là tuần 1 của năm tiếp theo.
Hàm WEEKNUM (ngày, start_day) bắt đầu tính vào tuần có ngày 1 tháng 1. Vì vậy, ngày 01 tháng 1 là ngày đầu tiên của Tuần 1. Theo mặc định, tuần mới bắt đầu vào Chủ nhật nên Tuần 2 bắt đầu vào Chủ nhật đầu tiên sau ngày 1 tháng 1. Bạn có thể thay đổi ngày bắt đầu bằng cách sử dụng tham số thứ hai trong hàm. Nói cách khác, tuần đầu tiên có thể có 1 ngày trong đó nếu ngày 1 tháng 1 là thứ bảy và ngày bắt đầu mặc định được sử dụng. <- đây là cách hiểu chính đằng sau hàm WEEKNUM ().
Tôi đã tạo một bảng tính nhỏ chứa các giá trị ngày của bạn và thêm một vài chi tiết nữa để chứng minh sự khác biệt:
Lưu ý rằng không chỉ năm 2018 mà ngày cuối cùng trong năm là vào tuần đầu tiên của năm tiếp theo. Hàm ISOWEEKNUM () đang hoạt động tốt, nó chỉ có một cách hiểu khác nhau khi tuần đầu tiên bắt đầu.
Một cách khác để thấy điều này là bằng cách xem xét 2 chức năng trong khoảng thời gian một ngày diễn ra vào đầu tháng 1:
Trong năm 2015, đầu tiên của tháng một là thứ năm. Do đó, hàm tuần ISOWEEKNUM () bao gồm 3 ngày cuối tháng 12, trong khi hàm WEEKNUM () bắt đầu tuần vào ngày đầu tiên của tháng 1 nhưng sẽ chỉ có 3 ngày trong tuần đầu tiên cho Ngày bắt đầu mặc định của Chủ nhật.
Tôi hy vọng điều này giải thích sự khác biệt.