Мастер работы с датами в Excel

Иван Корнев·11.04.2026·4 мин

Чтобы рассчитать количество дней между двумя датами в Excel, просто вычтите одну дату из другой (например, =B2-A2). Для вычисления полного возраста человека используйте функцию =DATEDIF(дата_рождения; TODAY(); "y"). Эти базовые операции позволяют автоматизировать учет сроков, стажировок и возрастных категорий за секунды.

Excel хранит даты как порядковые номера (где 1 — это 1 января 1900 года), что делает их обычными числами для математических операций. Понимание этого принципа и знание специализированных функций превращает работу с календарем из рутины в точный инструмент аналитики.

Быстрый старт Если ячейка с результатом показывает странный номер (например, 45392) вместо даты, измените формат ячейки на «Дата» или «Общий» в зависимости от того, что вы хотите увидеть: конкретную дату или количество дней.

Базовые функции и форматирование

Прежде чем приступать к сложным расчетам, убедитесь, что Excel правильно распознает ваши данные. Если программа считает дату текстом, формулы вернут ошибку #ЗНАЧ!.

Ключевые функции для работы со временем:

  • СЕГОДНЯ() — возвращает текущую дату (обновляется при каждом открытии файла).
  • ТДАТА() — возвращает текущую дату и время.
  • ДАТА(год; месяц; день) — собирает дату из отдельных числовых значений.
  • ГОД(), МЕСЯЦ(), ДЕНЬ() — извлекают соответствующие части из даты.
  • КОНМЕСЯЦА(нач_дата; месяцев) — находит последний день месяца через указанное количество месяцев.

Для отображения даты в нужном виде (например, «11 апреля 2026») используйте функцию ТЕКСТ: =ТЕКСТ(СЕГОДНЯ(); "дд мммм гггг")

Расчет разницы между датами

Самая частая задача — узнать, сколько дней прошло между двумя событиями.

Простое вычитание

Если в ячейке A2 дата начала, а в B2 — дата конца: =B2 - A2 Результат покажет количество дней. Если дата окончания раньше даты начала, результат будет отрицательным.

Рабочие дни без выходных

Для бизнес-задач часто нужно исключить субботы и воскресенья. Используйте функцию ЧИСТРАБДНИ: =ЧИСТРАБДНИ(нач_дата; кон_дата)

Если в вашей компании другие выходные (например, только воскресенье) или есть список праздников, примените ЧИСТРАБДНИ.ИНТЛ: =ЧИСТРАБДНИ.ИНТЛ(нач_дата; кон_дата; 11; диапазон_праздников) (Код 11 указывает, что выходной только воскресенье).

Учет праздников Создайте отдельный список дат государственных праздников в диапазоне ячеек (например, F2:F10) и укажите этот диапазон последним аргументом в функции ЧИСТРАБДНИ. Это сделает расчет стажа или сроков проекта максимально точным.

Вычисление возраста и стажа

Функция РАЗНДАТ (в английской версии DATEDIF) — главный инструмент для подсчета полных лет, месяцев и дней. Она скрыта в мастере функций, но работает во всех версиях Excel.

Полный возраст в годах

=РАЗНДАТ(A2; СЕГОДНЯ(); "г") Где A2 — дата рождения. Аргумент "г" возвращает количество полных лет.

Точный возраст (годы, месяцы, дни)

Чтобы получить формат «35 лет 4 мес. 12 дн.», объедините несколько вызовов функции: =РАЗНДАТ(A2; СЕГОДНЯ(); "г") & " лет " & РАЗНДАТ(A2; СЕГОДНЯ(); "м") & " мес. " & РАЗНДАТ(A2; СЕГОДНЯ(); "д") & " дн."

Разбор кодов единиц измерения:

  • "г" — полные годы.
  • "м" — полные месяцы (игнорируя годы).
  • "д" — полные дни (игнорируя месяцы и годы).
  • "гм" — остаток месяцев после вычета полных лет.
  • "гд" — остаток дней после вычета полных лет.

Манипуляции с датами: прибавление и вычитание

Часто требуется рассчитать дату окончания договора или срок годности.

ЗадачаФормулаПример
Прибавить дни=Дата + Число=A2 + 30 (через 30 дней)
Прибавить месяцы=ДАТАМЕСЯЦ(Дата; Число)=ДАТАМЕСЯЦ(A2; 6) (через полгода)
Прибавить годы=ДАТА(ГОД(Дата)+N; МЕСЯЦ(Дата); ДЕНЬ(Дата))=ДАТА(ГОД(A2)+1; МЕСЯЦ(A2); ДЕНЬ(А2))
Конец месяца=КОНМЕСЯЦА(Дата; 0)Последний день текущего месяца
След. месяц=КОНМЕСЯЦА(Дата; 1)Последний день следующего месяца

Функция ДАТАМЕСЯЦ (англ. EDATE) умно учитывает високосные годы и разное количество дней в месяцах. Например, прибавление 1 месяца к 31 января корректно даст 28 (или 29) февраля.

Частые ошибки и решения

Даже опытные пользователи сталкиваются с типичными проблемами при работе с датами.

  • Ошибка #ЗНАЧ!

    • Причина: Одна из дат записана как текст (например, "10.01.2026" с лишним пробелом или в формате, не понятном системе).
    • Решение: Используйте «Текст по столбцам» на вкладке «Данные» или функцию ДАТАЗНАЧ, чтобы преобразовать текст в настоящий формат даты.
  • Отрицательный возраст или дата

    • Причина: Дата рождения указана позже текущей даты или перепутаны ячейки в формуле вычитания.
    • Решение: Проверьте порядок аргументов: сначала более ранняя дата, затем более поздняя.
  • Неверный расчет дней в месяце

    • Причина: Попытка посчитать месяцы простым делением дней на 30.
    • Решение: Всегда используйте РАЗНДАТ или ДАТАМЕСЯЦ, так как длина месяцев варьируется от 28 до 31 дня.

FAQ

Как посчитать возраст на конкретную дату в прошлом? Замените функцию СЕГОДНЯ() на ссылку на ячейку с нужной датой или запишите дату вручную: =РАЗНДАТ(A2; "31.12.2025"; "г").

Можно ли суммировать промежутки времени? Да. Если у вас есть столбец с количеством дней, просто используйте функцию СУММ. Если нужно сложить даты (что редко имеет смысл), убедитесь, что формат результата установлен как «Дата».

Почему функция РАЗНДАТ не появляется в подсказках? Это особенность Excel. Функция полностью рабочая, просто введите её название вручную. В новых версиях она может называться DATEDIF в английской локализации.

Как выделить цветом даты, которые уже прошли? Используйте условное форматирование. Правило: «Формула» -> =A2 < СЕГОДНЯ(). Выберите красный цвет заливки для просроченных дат.