Как вычислить последний день месяца в excel
Формулы для определения первого и последнего дней месяца от текущей или произвольной даты. Использовать можно в шаблонах различных документов и отчетов, при заполнении которых требуется отобразить интервал дат с участием первого и(или) последнего дня месяца.
Первый день месяца в Excel
Для формулы, преобразующей текущую или другую дату в первый день месяца, используем функции «ДАТА», «ГОД» и «МЕСЯЦ»:
- Первый день текущего месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());1)
- Первый день прошлого месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())-1;1)
- Первый день текущего месяца предыдущего года от текущей даты: =ДАТА(ГОД(СЕГОДНЯ())-1;МЕСЯЦ(СЕГОДНЯ());1)
- Первый день месяца от произвольной даты, записанной в ячейку «A1»: =ДАТА(ГОД(A1);МЕСЯЦ(A1);1)
Определить первый день месяца можно не только для прошедших периодов, но и для будущих, прибавив соответствующее количество лет или месяцев в формулу.
Последний день месяца в Excel
Для определения последнего месяца от текущей или произвольной даты в Excel, начиная с версии 2007 года, существует функция «КОНМЕСЯЦА» с двумя аргументами: «Начальная дата» и «Количество месяцев». Если «Количество месяцев» равно 0, то будет возвращен последний день того месяца, который содержится в аргументе «Начальная дата».
Примеры для Excel 2007-2016:
- Последний день текущего месяца от текущей даты: =КОНМЕСЯЦА(СЕГОДНЯ();0)
- Последний день прошлого месяца от текущей даты: =КОНМЕСЯЦА(СЕГОДНЯ();-1)
- Последний день текущего месяца предыдущего года от текущей даты: =КОНМЕСЯЦА(СЕГОДНЯ();-12)
- Последний день месяца от произвольной даты, записанной в ячейку «A1»: =КОНМЕСЯЦА(A1;0)
Функция «КОНМЕСЯЦА» возвращает значение в числовом виде, поэтому для правильного отображения последнего дня месяца следует к ячейке с формулой применить формат даты.
В версиях Excel по 2003 год функция «КОНМЕСЯЦА» по-умолчанию отсутствует, поэтому будем применять формулу, составленную, как и для первого дня месяца, из функций «ДАТА», «ГОД» и «МЕСЯЦ».
Примеры для Excel 2000-2003:
- Последний день текущего месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())+1;0)
- Последний день прошлого месяца от текущей даты: =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());0)
- Последний день текущего месяца предыдущего года от текущей даты: =ДАТА(ГОД(СЕГОДНЯ())-1;МЕСЯЦ(СЕГОДНЯ())+1;0)
- Последний день месяца от произвольной даты, записанной в ячейку «A1»: =ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;0)
Не перепутайте в этих формулах вычитаемое или добавляемое количество месяцев, так как для определения последнего дня месяца, содержащегося в исходной дате, приходится текущий месяц увеличивать на единицу, чтобы вернуться к последнему дню из следующего месяца, указав количество дней равное нулю.
Как вариант, для определения последнего дня месяца можно использовать формулу, возвращающую первый день следующего месяца, из значения которой вычитается единица: =ДАТА(ГОД(A1);МЕСЯЦ(A1)+1;1)-1
Определение первого и последнего дня месяца имеет большую актуальность для автоматического заполнения интервала дат в диалоговых формах с помощью VBA Excel.
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще. Меньше
Чтобы просмотреть более подробные сведения о функции, щелкните ее название в первом столбце.
Примечание: Маркер версии обозначает версию Excel, в которой она впервые появилась. В более ранних версиях эта функция отсутствует. Например, маркер версии 2013 означает, что данная функция доступна в выпуске Excel 2013 и всех последующих версиях.
Возвращает заданную дату в числовом формате.
Вычисляет количество дней, месяцев или лет между двумя датами. Эта функция полезна в формулах расчета возраста.
Преобразует дату из текстового формата в числовой.
Преобразует дату в числовом формате в день месяца.
ДНИ
Возвращает количество дней между двумя датами.
Вычисляет количество дней между двумя датами на основе 360-дневного года.
Возвращает дату в числовом формате, отстоящую на заданное число месяцев вперед или назад от начальной даты.
Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.
Преобразует дату в числовом формате в часы.
НОМНЕДЕЛИ.ISO
Возвращает номер недели по ISO для заданной даты.
Преобразует дату в числовом формате в минуты.
Преобразует дату в числовом формате в месяцы.
Возвращает количество полных рабочих дней между двумя датами.
ЧИСТРАБДНИ.МЕЖД
Возвращает количество полных рабочих дней в интервале между двумя датами, руководствуясь параметрами, указывающими выходные дни и их количество.
Возвращает текущую дату и время в числовом формате.
Преобразует дату в числовом формате в секунды.
Возвращает заданное время в числовом формате.
Преобразует время из текстового формата в числовой.
Возвращает текущую дату в числовом формате.
Преобразует дату в числовом формате в день недели.
Преобразует дату в числовом формате в число, которое указывает, на какую неделю года приходится дата.
Возвращает дату в числовом формате, отстоящую вперед или назад на заданное количество рабочих дней.
РАБДЕНЬ.МЕЖД
Возвращает числовое значение даты, предшествующей заданному количеству рабочих дней или следующей за ними, руководствуясь при этом параметрами, указывающими выходные дни и их количество.
Преобразует дату в числовом формате в год.
Возвращает долю года, которую составляет количество дней между начальной и конечной датами.
Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.
Часто в процессе работы с датами возникает необходимость динамического определения даты и последнего дня недели в месяце. Естественно можно просто посмотреть в обычный календарь, но для автоматизации некоторых задач в Excel с помощью формул нужно динамически получить дату последнего месяца особенно в феврале и определить день недели. Ведь у високосного года (366) месяц февраль имеет 29 дней, а в обычном году – 28.
Сколько дней в феврале для любого года и любой даты?
Для начала рассмотрим, как вычислить дату последнего дня февраля месяца для любого года, чтобы определить високосный год или нет:
Анализируя пример на данном рисунке, следует помнить, что данную формулу можно применять для любого месяца, чтобы получить дату последнего дня, а не только для февраля. Иначе она выглядела бы так:
Функция ДАТА позволяет генерировать дату на лету с помощью трех аргументов:
- Год – можно указать любое число только лишь в диапазоне от 1900 и до 9999.
- Месяц – любое положительное или отрицательное число.
- День – любое положительное или отрицательное число.
Например, если в третьем аргументе указано число 0 как номер дня, Excel вычислит дату последнего дня из предыдущего месяца. Для наглядного примера составим формулу с числом 0, которая возвращает 29 февраля 2000-го года:
В следующем примере формулы вместо ввода статических значений в первые 2 аргумента функции ДАТА (год и месяц), используется функция ГОД, которая возвращает годы с исходных дат. Аналогично используется функция МЕСЯЦ возвращающая порядковый номер месяца в году из исходной даты. К этому номеру в формуле добавляется число 1. Благодаря чему мы получаем номер следующего месяца. Так как в третьем аргументе стоит число 0, автоматически получаем порядковый номер последнего дня в текущем месяце, который нас интересует.
Какой день недели для последнего дня месяца?
На этом рисунке ниже показано, как вычислить день недели и дату последнего дня февраля для любого года:
Формула состоит из двух частей, разделенных соединяющим оператором амперсантом (&" - "&):
- В первой части функция ТЕКСТ преобразует числовое значение, которое возвращает функция ДАТА в формат даты. Он указано во втором аргументе функции – "дд.мм.гг"
- Во второй части функция ТЕКСТ определяет день недели для исходной даты в первом ее аргументе, с помощью формата ячеек "дддд" указанном во втором аргументе.
Пример использования функции КОНМЕСЯЦА
В новых версиях Excel предусмотрена функция КОНМЕСЯЦА, которая служит альтернативным решением для выше описанной формулы:
Благодаря функции КОНМЕСЯЦА можно определять дату для текущего, предыдущего или будущего месяца заполнив лишь только 2 аргумента:
- Нач_дата – исходная дата или ссылка на нее.
- Число_месяцев – порядковый номер месяца начиная от исходной даты. Может быть любое положительное или отрицательное число. Примеры заполнения аргументов для функции КОНМЕСЯЦА, которая возвращает дату 29 февраля 2000-го года:
Если же мы укажем во втором аргументе отрицательное число, тогда функция возвращает нам дату последнего дня для предыдущего месяца:
Разумеется, если мы указываем во втором аргументе число 0 тогда получим необходимое значение даты последнего дня для текущего месяца:
Как определить високосный год или нет в Excel?
Чтобы определить високосный год или нет в Excel существует множество решений. Вот несколько из них:
При работе с датами особую сложность предоставляет тот факт, что раз в 4-е года количество дней в году составляет 366, тогда как в обычных годах 365. Поэтому иногда приходится воспользоваться вышеописанными примерами и формулами для различных вычислений в Excel.
Функция КОНМЕСЯЦА в Excel предназначена для определения числа, соответствующего номеру последнего дня в месяце, который отстоит на определенное число месяцев относительно даты, указанной как точка отсчета в виде первого аргумента этой функции.
Как получить последний день месяца по дате в Excel
Поскольку каждый из месяцев года имеет определенное число дней (30 или 31), данная функция полезна для быстрого нахождения номера числа любого месяца. Единственным исключением является февраль – 28 дней. Однако, раз в 4 года этот месяц имеет 29 дней (если год високосный).
Пример 1. Вывести количество дней в каждом месяце 2019 года в отдельный столбец таблицы.
Вид таблицы данных:
Для расчета числа дней используем следующую формулу массива, предварительно выделив ячейки B2:B13:
В качестве даты как точки отсчета была указана 01.01.2019 (первый день текущего года). Для расчета числа дней первого и последующих месяцев была вычтена 1 (если второй аргумент функции КОНМЕСЯЦА принимает значение 0, определяется число дней текущего месяца). Функция ТЕКСТ используется для преобразования полученного значения и вывода только числа дней (формат «ДД»).
Важный момент! Чтобы выполнять арифметические операции со значениями, которые возвращает данная формула следует использовать функцию ЗНАЧЕН. Она позволит преобразовать текст в числовое значение:
На этот раз мы использовали формулу массива, которую следует вводить через комбинацию клавиш CTRL+SHIFT+Enter для подверженная. Таким образом перед суммированием функцией СУММ значение из каждой ячейки преобразуется в число с помощью функции ЗНАЧЕН.
Как определить последнее воскресенье мая месяца в Excel
Пример 2. Использовать формулы, включающие функцию КОНМЕСЯЦА, для определения следующих значений:
- Каким днем недели является последний день мая месяца текущего года?
- Какой номер дня соответствует последнему воскресению мая месяца в текущем году?
Для будущей проверки результатов вычисления формул сразу уточним, что на момент написания данного урока на дворе шел 2019-й год.
Для нахождения последнего дня мая месяца для текущего года используем следующую формулу:
Функция ТЕКСТ используется для преобразования данных (вывода текстового представления дня недели). Функция ДЕНЬНЕД возвращает числовое значение дня недели (от 1 до 7). Функция КОНМЕСЯЦА вычисляет дату последнего дня текущего месяца (аргументы СЕГОДНЯ и 0 соответственно).
Для нахождения дня, соответствующего последнему воскресению в мае месяце текущего года используем формулу:
Чтобы убедиться, что был получен корректный результат, используем формулу для проверки последнего понедельника мая месяца в текущем году. В ячейке B9 водим формулу:
Чтобы получить дату последнего дня месяца в Excel, используйте функцию EOMONTH (End of Month). В русской версии – КОНМЕСЯЦА (конец месяца).
-
Для примера попробуем получить дату последнего дня текущего месяца.
Примечание: функция EOMONTH (КОНМЕСЯЦА) возвращает порядковый номер даты. Примените формат даты для правильного отображения.
-
Теперь попытаемся вычислить дату последнего дня следующего месяца.
Примечание: Вычисления происходят примерно так: = 6 — 8 = -2 или -2 + 12 = 10, т.е. получается октябрь 2011 года.
Подпишитесь к нам в дзен-канал, для получения свежих новостей it мира:
Читайте также: