Con nói kèm năm là nói chung chung, vì data ko được biết trước nên dateifd +1 nó tự ràng dc việc cross năm trong khi hàm bác, muốn thì phải ràng thêm tùm lum nên con nói dở hơn.
DateDif +1 vẫn sai khi tháng cuối không đủ tháng (minh chứng ở cột E hình 606). Cộng 1 rồi vẫn thiếu. Vì DateDif còn quan tâm đến số ngày của từng tháng trong khi hàm Month chỉ ngó đến tháng. Thêm yếu tố năm thì phải tính thêm. không ràng thêm thì DateDif sai tè le, ở đó mà xài được.
Nói thêm: Mi viết tiếng Việt dở hơn tiếng Anh thì phải. Không kéo xuống được, nghĩa là không kéo fill down được. Thế mới nổi xung. Muốn nói ý của mi thì phải nói: Công thức chưa phù hợp với tất cả trường hợp của dữ liệu. Cụ thể là trường hợp abc, xyz. Lại còn sửa công thức gốc (không cộng 1) rồi la lên sai!
Đừng học vẹt nữa, đọc kỹ lý thuyết đây:
DateDif với tham số ngày (d)
Cái này dễ, là khoảng thời gian tính bằng ngày giữa 2 mốc ngày. Lưu ý quy ước ngày của Excel trong vài bài gần đây bác có nhắc.
DateDif với tham số tháng (m)
Nó tính số tháng nguyên trong khoảng thời gian giữa 2 ngày bất kỳ, đủ tháng mới tính, dù 30/ 31 ngày cũng trở thành 0. Thế nên từ ngày 01/01 đến ngày 31/01 theo quy ước ngày chỉ có 30 ngày, nên sẽ là 0 tháng.
Vậy thì xem hình sau đây
Cột E cộng 1 vì muốn tính cả tháng đầu thì không nói. Nhưng cột D thuần DateDif cũng từ tháng 2 đến tháng 9, nhưng lúc thì 6, lúc thì 7. Vì sau khi đủ 6 tháng thì tháng thứ 7 không đủ 30 hoặc 31 ngày sẽ không tính.
Để ý thì sẽ thấy nếu dùng hàm Day lấy ngày 1 > ngày 2 thì thường bị thiếu.
Đặc biệt:
Xem hình dưới đây:
Có khi 30 ngày là đủ tháng, cũng có khi phải 31 mới đủ. Lý do là nó xem ngày cuối tháng gần ngày kết thúc nhất là bao nhiêu, thì phải bằng đó mới đủ:
Dòng 1 và 2: ngày kết thúc là tháng 9, ngày cuối tháng 8 là 31, vậy phải 31 mới đủ.
Dòng 3 và 4: Ngày kết thúc là tháng 10, ngày cuối tháng 9 là 30, vậy chỉ cần 30 là đủ.
Còn nữa: Nếu ngày kết thúc là tháng 3, thì Excel lấy ngày cuối tháng 2. Nhưng nó còn xét năm nhuận hay không nữa
DateDif với tham số năm(y)
Tương tự như tham số m, phải đủ 12 tháng mới tính 1 năm, thiếu 1 tháng là thành zero. Mà tháng cũng phải đủ số ngày như tham số m. 11 tháng 30 ngày cũng là zero năm.