Sua fórmula é composta corretamente. O resultado inesperado é devido a como diferentes tipos de dados são armazenados pelo Excel.
Existem dois sistemas semelhantes que o Excel usa para armazenar datas, com base em uma configuração de nível de pasta de trabalho.
O sistema de datas de 1900
In the 1900 date system, the first day that is supported is January 1, 1900. When you enter a date, the date is converted into a serial number that represents the number of elapsed days since January 1, 1900. For example, if you enter July 5, 1998, Excel converts the date to the serial number 35981.
By default, Microsoft Excel for Windows uses the 1900 date system. The 1900 date system enables better compatibility between Excel and other spreadsheet programs, such as Lotus 1-2-3, that are designed to run under MS-DOS or Microsoft Windows.
O sistema de datas de 1904
In the 1904 date system, the first day that is supported is January 1, 1904. When you enter a date, the date is converted into a serial number that represents the number of elapsed days since January 1, 1904. For example, if you enter July 5, 1998, Excel converts the date to the serial number 34519.
By default, Microsoft Excel for the Macintosh uses the 1904 date system. Because of the design of early Macintosh computers, dates before January 1, 1904 were not supported. This design was intended to prevent problems related to the fact that 1900 was not a leap year. If you switch to the 1900 date system, Excel for the Macintosh does support dates as early as January 1, 1900.
Esses trechos foram extraídos de: link
O número de série é uma simples contagem do número de datas desde 1º de janeiro de 1900, incluindo a data fictícia de 29 de fevereiro de 1900. A função DAY, no entanto, também pode ser considerada como uma função de conversão de tipo de dados. Ele recebe um número de série de data como uma entrada e retorna um inteiro como uma saída. No seu exemplo, se pensarmos em 18 como representando uma série de data e contarmos em 18 dias a partir de 1º de janeiro de 1900, terminaremos em 18 de janeiro de 1900.
A correção simples no front-end é alterar o formato de sua célula para algo como Número ou Geral . Isso dirá ao Excel para exibi-lo como um número inteiro, em vez de tentar interpretá-lo como um serial de data. No final, tudo é bom para ir. O resultado inteiro pode ser usado em qualquer outra fórmula e se comportará corretamente.
Como exemplo, vamos dizer que queríamos criar uma fórmula condicional que nos informasse se o dia 15 passou ou não no mês atual. Nós podemos fazer isso usando:
=IF(DAY(TODAY())>15,"The 15th has passed","It is not yet the 15th")
Seria muito mais difícil realizar o mesmo resultado usando um serial de data, portanto, a função DAY que retorna um inteiro acaba sendo mais útil dentro do contexto dos casos de uso comuns do Excel.