La tua formula è composta correttamente. Il risultato imprevisto è dovuto al modo in cui Excel archivia diversi tipi di dati.
Esistono due sistemi simili che Excel utilizza per la memorizzazione delle date, in base a un'impostazione a livello di cartella di lavoro.
Il sistema di datazione del 1900
Nel sistema di data 1900, il primo giorno supportato è il 1 ° gennaio 1900. Quando si immette una data, la data viene convertita in un numero seriale che rappresenta il numero di giorni trascorsi dal 1 ° gennaio 1900. Ad esempio, se si inserire il 5 luglio 1998, Excel converte la data nel numero seriale 35981.
Per impostazione predefinita, Microsoft Excel per Windows utilizza il sistema di data 1900. Il sistema di data 1900 consente una migliore compatibilità tra Excel e altri programmi di fogli di calcolo, come Lotus 1-2-3, progettati per essere eseguiti in MS-DOS o Microsoft Windows.
Il sistema di data del 1904
Nel sistema di data del 1904, il primo giorno supportato è il 1 ° gennaio 1904. Quando si immette una data, la data viene convertita in un numero seriale che rappresenta il numero di giorni trascorsi dal 1 ° gennaio 1904. Ad esempio, se si inserire il 5 luglio 1998, Excel converte la data nel numero seriale 34519.
Per impostazione predefinita, Microsoft Excel per Macintosh utilizza il sistema di data 1904. A causa della progettazione dei primi computer Macintosh, le date precedenti al 1 gennaio 1904 non erano supportate. Questo progetto aveva lo scopo di prevenire i problemi legati al fatto che il 1900 non era un anno bisestile. Se si passa al sistema di data 1900, Excel per Macintosh supporta le date già dal 1 ° gennaio 1900.
Questi estratti sono stati presi da: https://support.microsoft.com/en-us/help/214330/differences-b Between-the-1900-and-the-1904-date- system-in - excel
Il numero di serie è un semplice conteggio progressivo del numero di date dal 1 ° gennaio 1900, inclusa la data fittizia 29 febbraio 1900. La funzione GIORNO, tuttavia, può essere considerata come una funzione di conversione del tipo di dati. Prende un numero seriale della data come input e restituisce un numero intero come output. Nel tuo esempio, se pensiamo che 18 rappresenti una data seriale e contiamo 18 giorni in avanti dal 1 ° gennaio 1900, finiremo con il 18 gennaio 1900.
La semplice soluzione sul front-end è quella di cambiare il formato della tua cella in qualcos'altro come Numero o Generale . Questo dirà ad Excel di mostrartelo come un numero intero, piuttosto che provare a interpretarlo come una data seriale. Sul retro, è tutto a posto. Il risultato intero può essere utilizzato in qualsiasi altra formula e si comporterà correttamente.
Ad esempio, supponiamo che volessimo creare una formula condizionale che ci dicesse se il 15 è passato o meno nel mese corrente. Possiamo farlo usando:
=IF(DAY(TODAY())>15,"The 15th has passed","It is not yet the 15th")
Sarebbe molto più difficile ottenere lo stesso risultato usando una data seriale, quindi la funzione GIORNO che restituisce un numero intero risulta più utile nel contesto dei casi d'uso comuni di Excel.