Создание дат с помощью DATE и EDATE
Составляйте даты и сдвигайте их на нужное количество месяцев
«Создание дат с помощью DATE и EDATE» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.
Обратное преобразование
На прошлом уроке Вы разбирали даты на части. Теперь Вы научитесь собирать их обратно. Иногда год, месяц и день представлены отдельными числами, и их нужно объединить в одну настоящую дату.
Функция DATE делает именно это. А когда нужно переместить дату вперёд или назад на целое число месяцев, функция EDATE сама выполняет сложные расчёты с разной длиной месяцев.
Это основные инструменты для планирования, расчёта сроков и создания дат из импортированных составляющих.
Синтаксис функции DATE
Функция DATE принимает три аргумента в фиксированном порядке: год, месяц, день.
Формула =DATE(2026, 6, 18) создаёт настоящее значение даты для 18 июня 2026 года. Затем электронная таблица отображает его в соответствии с выбранным форматом даты.
Это особенно важно, когда данные поступают по частям. Если год находится в A2, месяц — в B2, а день — в C2, их можно объединить в одну дату.
=DATE(2026,6,18)Создание даты из отдельных ячеек
Настоящая ценность DATE проявляется, когда составляющие находятся в разных ячейках. Предположим, в A2 хранится год, в B2 — месяц, а в C2 — день.
Формула объединяет их в одну полноценную дату, которую затем можно сортировать, вычитать или форматировать. Это часто требуется после импорта данных, в которых дата была разделена по столбцам.
=DATE(A2,B2,C2)DATE корректно обрабатывает выход за диапазон
У функции DATE есть удобная особенность: она нормализует значения, выходящие за допустимый диапазон. Если указать месяц 13, функция перейдёт к следующему году. Если указать день 0, она вернёт последний день предыдущего месяца.
Например, формула =DATE(2026, 1, 0) возвращает 31 декабря 2025 года. А формула =DATE(2026, 13, 1) возвращает 1 января 2027 года.
Это можно использовать намеренно для вычисления последнего дня месяца, как Вы скоро увидите.
=DATE(2026,1,0)Определение последнего дня месяца
Этот приём с выходом за диапазон даёт удобный шаблон: чтобы получить последний день месяца, запросите день 0 следующего месяца.
Если в A2 находится любая дата, формула =DATE(YEAR(A2), MONTH(A2)+1, 0) возвращает последний день месяца этой даты и правильно обрабатывает месяцы длиной 28, 29, 30 и 31 день.
Существует также специальная функция EOMONTH, которая делает то же самое более прямым способом. С ней Вы познакомитесь далее.
=DATE(YEAR(A2),MONTH(A2)+1,0)Функция EDATE
Функция EDATE сдвигает дату на целое число месяцев. Она принимает два аргумента: начальную дату и количество месяцев, на которое нужно выполнить сдвиг.
Положительное число перемещает дату вперёд, а отрицательное — назад. Поэтому =EDATE(A2, 3) возвращает дату через три месяца после A2, а =EDATE(A2, -1) — дату на месяц раньше.
По возможности функция сохраняет тот же день месяца — именно это нужно для ежемесячного выставления счетов.
=EDATE(A2,3)Почему бы просто не добавить 30 дней
Возможно, Вы думаете, что добавление 30 сдвигает дату на месяц, но месяцы имеют разную длину. Если добавить 30 дней к 31 января, получится начало марта, а не февраль.
EDATE учитывает реальные календарные месяцы. Для даты 31 января формула =EDATE(A2, 1) возвращает 28 февраля или 29 февраля в високосном году, потому что в феврале нет 31-го числа.
Именно поэтому EDATE — правильный инструмент для ежемесячного планирования.
=EDATE(A2,1)EOMONTH для последних дней месяца
Дополнительная функция для EDATE — это EOMONTH. Она возвращает последний день месяца, отстоящего на заданное число месяцев от указанной даты.
Формула =EOMONTH(A2, 0) возвращает последний день месяца самой даты в A2. Формула =EOMONTH(A2, 1) возвращает последний день следующего месяца.
Это удобный способ определить даты закрытия выписок или крайние даты отчётов на конец месяца.
=EOMONTH(A2,0)Практический пример: дата продления подписки
Клиент оформляет подписку в дату, указанную в A2, по плану на 12 месяцев. Вам нужно определить дату продления.
Используйте EDATE, чтобы точно переместиться на год вперёд с учётом календарных месяцев. Если подписка была оформлена 29 февраля високосного года, EDATE корректно вернёт 28 февраля следующего года.
Эта одна формула обрабатывает все крайние случаи, в которых ручные расчёты даты могли бы дать неверный результат.
=EDATE(A2,12)Более подробный пример: первый день следующего месяца
Объедините EOMONTH с простым сложением, чтобы решить ещё одну распространённую задачу: получить первый день следующего месяца.
EOMONTH возвращает последний день текущего месяца, поэтому добавление 1 дня приводит к первому дню следующего месяца.
Таким образом, формула =EOMONTH(A2, 0)+1 всегда возвращает первый день следующего месяца, независимо от длины текущего месяца. Такие инструменты позволяют создавать надёжные формулы для планирования.
=EOMONTH(A2,0)+1Создание последовательности первых дней месяцев
Объедините EDATE с начальной датой, чтобы создать целое расписание. Поместите начальную дату в A2, затем в следующей ячейке добавьте один месяц, в следующей — ещё один и так далее.
Например, формулы =EDATE($A$2, 1), =EDATE($A$2, 2), =EDATE($A$2, 3) выводят один и тот же календарный день в последовательных месяцах. Знаки $ фиксируют начальную ячейку, поэтому формулу можно протянуть вниз.
Так из одной опорной даты создаётся аккуратное расписание ежемесячных платежей или выставления счетов.
=EDATE($A$2,2)Проверьте себя
Проверьте свои навыки создания дат.
Итоги: создание дат
Вы научились создавать даты и сдвигать их:
DATE(year, month, day)создаёт настоящую дату из трёх чисел и даже нормализует значения, выходящие за допустимый диапазон.DATE(YEAR(d), MONTH(d)+1, 0)находит последний день месяца с помощью приёма с нулевым днём.EDATE(date, months)сдвигает дату на целое число календарных месяцев, правильно учитывая разную длину месяцев.EOMONTH(date, months)возвращает последние дни месяцев, а добавление 1 даёт первый день следующего месяца.
Далее Вы научитесь определять промежуток между двумя датами.
Изучай Excel с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Создание дат с помощью DATE и EDATE» бесплатный?
Да — полный текст урока «Создание дат с помощью DATE и EDATE» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.
Чему я научусь в уроке «Создание дат с помощью DATE и EDATE»?
Составляйте даты и сдвигайте их на нужное количество месяцев Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Excel Formulas Academy?
Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Создание дат с помощью DATE и EDATE»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Excel Formulas Academy?
Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- TODAY и NOW для текущих дат
- Разбор дат с помощью YEAR, MONTH, DAY
- Создание дат с помощью DATE и EDATE
- Подсчёт дней между датами