Мастер работы с датами в Excel
Чтобы рассчитать количество дней между двумя датами в 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 < СЕГОДНЯ(). Выберите красный цвет заливки для просроченных дат.