Как получить дату окончания месяца в excel?
Иногда нам нужно получить дату окончания месяца, чтобы использовать ее в качестве даты завершения, срока выполнения, целевой даты, а иногда нам нужно, чтобы подсчитать количество дней между двумя датами.
Без каких-либо усилий мы можем легко добавить его вручную, но некоторые формулы могут помочь нам его вычислить.
Лучший способ вычислить последнее число месяца — использовать функцию ЭОМЕСЯЦ. Но помимо этого вы можете использовать и другие методы (VBA).
Преимущество использования формулы или другого динамического метода заключается в том, что вам не придется вычислять его снова и снова. Сегодня в этой статье я хотел бы поделиться с вами тремя простыми и динамичными способами получить дату окончания месяца в Excel.
Итак, давайте начнем и загрузите этот же файл отсюда, чтобы продолжить.
Получите последний день месяца, используя функцию EOMONTH.
ЭОМЕСЯЦ — моя любимая функция для расчета последнего дня месяца. Эта функция специально разработана для таких типов вычислений.
Все, что вам нужно сделать, это просто указать текущую дату и количество месяцев, в которых вы хотите рассчитать последнюю дату до и после даты начала. Вот синтаксис:
ЭОМЕСЯЦ(начальная_дата, месяц)
В этом синтаксисе датой начала будет текущая дата, а месяцами — число, обозначающее количество месяцев вперед или назад.
Дата окончания того же месяца
Допустим, у вас есть дата «06 февраля 2017 г.» и вы хотите получить последний день «февраля». В этом случае вам следует использовать следующие формулы:
=EOMONTH("22-Feb-2017",0)

В приведенном выше примере при использовании EOMONTH возвращается 28 февраля 2017 г., что является последней датой февраля.
Как это работает : Здесь вы использовали «0» в качестве числового аргумента, потому что использованная вами дата начала — февраль, и у вас не будет последнего дня того же месяца. Когда вы используете «0», он просто вернет последнюю дату того же месяца, для которого у вас есть дата начала.
Чтобы создать динамическую формулу, вы можете использовать функцию СЕГОДНЯ в аргументе start_date
.
Дата окончания будущего месяца
Теперь предположим, что из той же даты вы хотите получить последний день «апреля». В этом случае вам следует использовать следующие формулы:
=EOMONTH("22-Feb-2017",2)

В приведенном выше примере формула вернула дату 30 апреля 2017 г., которая является последней датой апреля.
Как это работает
Здесь вы использовали числовой аргумент «2», а использованная вами дата начала — февраль. Теперь, если вы посмотрите, апрель ровно через 2 месяца после февраля, поэтому он вернулся 30 апреля 2017 года.
Дата окончания предыдущего месяца
И если вы хотите получить последнюю дату предыдущего месяца, вы можете использовать для этого отрицательное число. Допустим, вам нужен последний день января. Итак, формула, которую вы должны использовать:
=EOMONTH("22-Feb-2017",-1)

В приведенном выше примере формула вернула дату 31 января 2017 г., которая является последней датой января.
Как это работает: здесь вы использовали «-1» в качестве числового аргумента, а до февраля ровно 1 месяц.
Функция ДАТА для получения последней даты месяца
Функция ДАТА — это еще один способ получить последний день в Excel. Функция даты помогает вам создать действительную дату Excel, указав год, месяц и день. Вот синтаксис:
ДАТА(год,месяц,день)
Как я уже упоминал, в функции даты вам нужно ввести год, месяц и день, и на основе этого она возвращает действительную дату. Теперь есть небольшой трюк, который вы можете проделать с сегодняшним спором.
И если вы хотите рассчитать последний день текущего месяца, формула будет такой:

=DATE(CurrentYear,CurrentMonth + 1,0)
Или, если у вас есть только дата, на которую можно ссылаться, формула будет такой:
=DATE(YEAR(date),MONTH(date)+1,0)
Получите последний день с UDF
Отличный пример VBA. Это макрокод для использования UDF VBA для получения последнего дня месяца. Просто скопируйте его в свой редактор VBA.
Function LastD(Optional sd As Date = 0) As Date If sd = 0 Then sd = VBA.DateLastD = VBA.DateSerial(VBA.Year(sd), VBA.Month(sd) + 1, 0) End Function

В электронной таблице введите «=LastD(» и вставьте дату месяца или ссылку на ячейку. А если вам нужен последний день текущего месяца, просто оставьте это поле пустым, используя круглые скобки.
Заключение
Как я уже сказал, последний день месяца может быть полезен вам при расчете целевых дат, сроков выполнения или дат завершения. И теперь у нас есть три разных способа получить его.
Если вы используете EOMONTH, очень легко создать динамическую формулу, которая поможет вам датировать прошлые или будущие месяцы, и я думаю, что это лучший способ сделать это.
Я надеюсь, что он оказался для вас полезным и поможет вам поднять свои навыки на новый уровень.
Теперь скажи мне одну вещь. Какой ваш любимый метод больше всего? Или у вас другой метод? Пожалуйста, поделитесь со мной в поле для комментариев, мне бы хотелось услышать ваше мнение. И не забудьте поделиться им с друзьями.