Возврат даты конца месяца - советы по Excel

Содержание

Тони написал вопрос, который выглядит простым, но требует довольно сложной формулы:

Я использую Excel 97 и хочу, чтобы некоторые ячейки с датой в столбце «K» возвращали дату, являющуюся концом месяца, когда я ввожу любой день этого месяца в столбец «G». Я пробовал EMONTH из ранней версии excel, но не смог заставить его работать в этой версии.

Есть несколько способов решить многие проблемы в Excel. Уверен, что кто-то придумает что-нибудь попроще, но на данный момент на ум приходит такая формула:

=DATE(YEAR(E1),1+MONTH(E1),1)-1

Функция DATE () обычно принимает три аргумента: год, месяц и день. Итак, 13 декабря 2001 года можно было ввести как =DATE(2001,12,13).

Функция даты также довольно щадящая. Если вы укажете недопустимое количество месяцев, например 13, будет указана правильная дата. =DATE(2001,13,1)будет 1 января 2002 года. Это очень удобно, когда вам нужно прибавить или вычесть текущую дату.

При решении этой задачи проще найти первый день следующего месяца, а затем вычесть один день. Это проще, потому что мы знаем, что часть дня первого числа следующего месяца всегда равна 1. В то время как, если вы попытаетесь найти последний день этого месяца, вам придется проверить високосные годы и т. Д. - обычно это будет беспорядок.

Если у вас есть дата в E1, то YEAR (E1) вернет часть даты в году. Месяц (E1) +1 вернет месячную часть даты и переместит ее на следующий месяц. Последний аргумент, 1, выберет первый день следующего месяца. Затем, наконец, я вычитаю единицу из этой даты, чтобы преобразовать 01.01.2002 в 31.12.2001.

Обновить

Спасибо Стиву Х. за этот нестандартный ответ. Считать «0» месяца непривычно, но это работает!

=DATE(YEAR(E1),1+MONTH(E1),0)

Интересные статьи...