O EOMONTH função no Google Sheets significa“End Of MÊS“, e com razão. Retorna a última data do calendário de um mês que está um número especificado de meses antes ou depois de uma determinada data.
Sintaxe
- data_inicial – é a data a partir da qual a função FIMMES calcula a última data de um mês.
- meses é o número de meses que a função deve retroceder ou avançar no tempo, correspondendo a um valor positivo ou negativo, respectivamente.
Como usar a função EOMONTH
Eu demonstrarei a função usando alguns exemplos. Por favor, considere a imagem abaixo.
Observe que a coluna Resultado foi formatada para “dd-mmm-aaaa” para evitar ambiguidades (visto que as notações de data variam entre os países).
No primeiro exemplo, o parâmetro start_date recebe como saída o valor retornado pela função DATE(). E eu defini o parâmetro months como ‘0’, o que significa que a função não moverá a data para frente ou para trás no tempo. Portanto, a função avalia a data final dentro do mês como 31 de março de 2020.
Vamos dar uma olhada no segundo caso. Na época da escrita, a data era 14/11/2020 (que a função HOJE() avaliou no segundo exemplo). Fatorando um deslocamento de 15 dias adicionado à função HOJE(), juntamente com um valor de 12 para o parâmetro de meses, resulta na última data do mês como 30/11/2021.
O terceiro exemplo é bem parecido, exceto que para o parâmetro start_date eu dei uma referência à célula que contém a data.
Diferentemente dos três casos anteriores, a start_date para o quarto caso é um número absoluto. Eu também inseri um valor negativo para o parâmetro months. A função EOMONTH calcula a data final deslocando o tempo do valor de data 42.846 (equivalente a 21 de abril de 2017) nove meses para trás.
Casos de interesse
Vamos experimentar um pouco mais e inserir valores de data baseados em texto para o data_inicial parâmetro.
No primeiro exemplo, a função trunca os valores decimais e utiliza apenas os valores inteiros. Sendo assim, ela avalia a última data do mês. Claro, ela não pode aceitar números negativos, pois não há interpretação de data para tais valores.
A partir dos três exemplos a seguir, você pode ver que a função EOMONTH aceita strings de data de entrada nos formatos “dd-mmm-aaaa” e “dd-mm-aaaa”. Mas ela gerará um erro com strings de formato de data “mm-dd-aaaa”.
Caso de uso: Alguém para o BOMONTH?
Existe uma função equivalente à EOMONTH, algo como BOMONTH (que significa BInício Of MÊS)? Aparentemente, não! Mas felizmente, você pode aproveitar a função EOMONTH para criar uma função BOMONTH virtual, como mostrado na imagem abaixo.
Neste exemplo, adicionei um +1 ao final da função. Isso adiciona 1 dia, empurrando a data do último dia do mês para o primeiro dia do mês seguinte. Como isso leva a data para o próximo mês, você também precisa adicionar -1 como parâmetro de meses. Isso deslocará a função 1 mês para trás e fornecerá a data do primeiro dia do mês atual. A fórmula aqui é =FIMMÊS(HOJE();-1)+1.
Caso de uso: última segunda-feira do mês
Como a semana de trabalho geralmente vai de segunda a sexta-feira, pode ser útil em alguns casos poder encontrar a última segunda-feira de cada mês. Na captura de tela abaixo, fiz exatamente isso.
A função DIA.DA.SEMANA é usada aqui para obter o dia da semana em que cai o último dia do mês. Usei os números de 1 a 7 (1 sendo segunda-feira, 2 é terça-feira, etc.). Ao subtrair o dia da semana e adicionar 1, você pode obter a última segunda-feira do mês. A fórmula para isso é =FIMMES(“05-dez-2020”;0)-(DIATRABALHO(FIMMES(“05-dez-2020”;0);2))+1.
Se precisarmos saber a data de um número especificado de meses antes ou depois de uma data determinada, usamos a Função DATAM in Google Sheets.
Nota do editor: Esta é uma versão revisada de uma postagem anterior que foi atualizada para maior precisão e abrangência.

