Twoja formuła jest poprawnie skomponowana. Nieoczekiwany wynik wynika z tego, jak różne typy danych są przechowywane przez Excel.
Istnieją dwa podobne systemy używane przez program Excel do przechowywania dat na podstawie ustawienia poziomu skoroszytu.
System daty 1900
W systemie daty 1900 pierwszy obsługiwany dzień to 1 stycznia 1900 r. Po wprowadzeniu daty data jest konwertowana na numer seryjny, który reprezentuje liczbę dni, które upłynęły od 1 stycznia 1900 r. Na przykład, jeśli wprowadź 5 lipca 1998, Excel konwertuje datę na numer seryjny 35981.
Domyślnie program Microsoft Excel dla systemu Windows używa systemu daty 1900. System daty 1900 umożliwia lepszą kompatybilność między programem Excel a innymi programami do obsługi arkuszy kalkulacyjnych, takimi jak Lotus 1-2-3, które są zaprojektowane do pracy w systemie MS-DOS lub Microsoft Windows.
System daty 1904
W systemie daty 1904 pierwszy obsługiwany dzień to 1 stycznia 1904 r. Po wprowadzeniu daty data jest konwertowana na numer seryjny, który reprezentuje liczbę dni, które upłynęły od 1 stycznia 1904 r. Na przykład, jeśli wprowadź 5 lipca 1998, Excel konwertuje datę na numer seryjny 34519.
Domyślnie program Microsoft Excel dla komputerów Macintosh używa systemu daty 1904. Ze względu na konstrukcję wczesnych komputerów Macintosh daty sprzed 1 stycznia 1904 r. Nie były obsługiwane. Ten projekt miał zapobiec problemom związanym z faktem, że rok 1900 nie był rokiem przestępnym. Jeśli przełączysz się na system daty 1900, Excel dla komputerów Macintosh obsługuje daty już od 1 stycznia 1900 roku.
Te fragmenty pochodzą z: https://support.microsoft.com/en-us/help/214330/differences-between-the-1900-and-the-1904-date-system-in-excel
Numer seryjny to prosta liczba uruchomień liczby dat od 1 stycznia 1900 r., W tym fikcyjna data 29 lutego 1900 r. Funkcję DZIEŃ można jednak dodatkowo traktować jako funkcję konwersji typu danych. To trwa numer seryjny daty jako wejście i zwraca liczba całkowita jako wyjście. W twoim przykładzie, jeśli pomyślimy 18 jako reprezentujący datę szeregową i licząc 18 dni do przodu od 1 stycznia 1900 roku, kończymy na 18 stycznia 1900 roku.
Prostą poprawką na froncie jest zmiana formatu komórki na coś innego Numer lub Generał . Dzięki temu program Excel wyświetli go jako liczbę całkowitą, zamiast próbować interpretować go jako numer seryjny daty. Z tyłu wszystko jest dobre. Wynik całkowity może być użyty w dowolnej innej formule i zachowuje się poprawnie.
Jako przykład, powiedzmy, że chcieliśmy stworzyć formułę warunkową, która poinformowałaby nas, czy 15-ty minął w bieżącym miesiącu. Możemy to zrobić za pomocą:
=IF(DAY(TODAY())>15,"The 15th has passed","It is not yet the 15th")
Znacznie trudniej byłoby osiągnąć ten sam rezultat, używając daty seryjnej, więc funkcja DAY zwracająca liczbę całkowitą staje się bardziej użyteczna w kontekście typowych przypadków użycia programu Excel.