Công thức của bạn được sáng tác chính xác. Kết quả không mong muốn là do cách thức lưu trữ các loại dữ liệu khác nhau của Excel.
Có hai hệ thống tương tự mà Excel sử dụng để lưu trữ ngày, dựa trên cài đặt cấp độ của sổ làm việc.
Hệ thống ngày 1900
Trong hệ thống ngày 1900, ngày đầu tiên được hỗ trợ là ngày 1 tháng 1 năm 1900. Khi bạn nhập một ngày, ngày được chuyển đổi thành một số sê-ri đại diện cho số ngày trôi qua kể từ ngày 1 tháng 1 năm 1900. Ví dụ: nếu bạn nhập ngày 5 tháng 7 năm 1998, Excel chuyển đổi ngày thành số sê-ri 35981.
Theo mặc định, Microsoft Excel cho Windows sử dụng hệ thống ngày 1900. Hệ thống ngày 1900 cho phép tương thích tốt hơn giữa Excel và các chương trình bảng tính khác, như Lotus 1-2-3, được thiết kế để chạy trong MS-DOS hoặc Microsoft Windows.
Hệ thống ngày 1904
Trong hệ thống ngày 1904, ngày đầu tiên được hỗ trợ là ngày 1 tháng 1 năm 1904. Khi bạn nhập một ngày, ngày được chuyển đổi thành một số sê-ri đại diện cho số ngày trôi qua kể từ ngày 1 tháng 1 năm 1904. Ví dụ: nếu bạn nhập ngày 5 tháng 7 năm 1998, Excel chuyển đổi ngày thành số sê-ri 34519.
Theo mặc định, Microsoft Excel cho Macintosh sử dụng hệ thống ngày 1904. Do thiết kế của các máy tính Macintosh đời đầu, ngày trước ngày 1 tháng 1 năm 1904 không được hỗ trợ. Thiết kế này nhằm ngăn chặn các vấn đề liên quan đến thực tế rằng năm 1900 không phải là một năm nhuận. Nếu bạn chuyển sang hệ thống ngày 1900, Excel cho Macintosh sẽ hỗ trợ ngày sớm nhất là vào ngày 1 tháng 1 năm 1900.
Những trích đoạn này đã được lấy từ: https://support.microsoft.com/en-us/help/214330/differences-b between-the-1900-and-the-1904-date-system-in-excel
Số sê-ri là số lần chạy đơn giản của số ngày kể từ ngày 1 tháng 1 năm 1900, bao gồm cả ngày hư cấu ngày 29 tháng 2 năm 1900. Tuy nhiên, chức năng NGÀY có thể được coi là một hàm chuyển đổi loại dữ liệu. Nó lấy một số sê-ri ngày làm đầu vào và trả về một số nguyên làm đầu ra. Trong ví dụ của bạn, nếu chúng ta nghĩ 18 là đại diện cho một chuỗi ngày và tính 18 ngày chuyển tiếp từ ngày 1 tháng 1 năm 1900, thì chúng ta kết thúc vào ngày 18 tháng 1 năm 1900.
Cách khắc phục đơn giản ở mặt trước là thay đổi định dạng ô của bạn thành một thứ khác như Số hoặc Chung . Điều này sẽ bảo Excel hiển thị nó cho bạn dưới dạng một số nguyên, thay vì cố gắng diễn giải nó như một chuỗi ngày. Ở mặt sau, mọi thứ đều tốt để đi. Kết quả số nguyên có thể được sử dụng trong bất kỳ công thức nào khác và sẽ hoạt động chính xác.
Ví dụ, giả sử chúng tôi muốn tạo một công thức có điều kiện cho chúng tôi biết liệu ngày 15 đã trôi qua trong tháng hiện tại hay chưa. Chúng tôi có thể làm điều này bằng cách sử dụng:
=IF(DAY(TODAY())>15,"The 15th has passed","It is not yet the 15th")
Sẽ khó khăn hơn nhiều để thực hiện cùng một kết quả bằng cách sử dụng một chuỗi ngày, do đó, hàm NGÀY trả về một số nguyên cuối cùng sẽ hữu ích hơn trong bối cảnh các trường hợp sử dụng phổ biến của Excel.