Как посчитать даты в Excel: полное руководство с формулами
Чтобы посчитать разницу между датами в Excel, просто вычтите одну ячейку из другой (например, =B1-A1). Для более сложных задач, таких как расчет стажа, добавление месяцев или исключение выходных, используйте встроенные функции ДАТА.РАЗН, РАБОЧДНИ и КОНМЕСЯЦА. Ниже приведены готовые решения для самых популярных сценариев работы с календарем.
Excel хранит даты как порядковые номера (где 1 — это 1 января 1900 года), что позволяет выполнять над ними арифметические операции. Главное условие успеха — правильный формат ячеек.
Настройка формата и проверка данных
Прежде чем применять формулы, убедитесь, что Excel воспринимает ваши данные как даты, а не как текст. Если ячейка отформатирована как текст, математические операции вернут ошибку или ноль.
Быстрая проверка: Введите формулу =ЕЧИСЛО(A1). Если результат ИСТИНА (TRUE), дата корректна. Если ЛОЖЬ (FALSE), измените формат ячейки на «Дата» через вкладку «Главная» → группа «Число».
Для ввода даты используйте стандартные разделители вашего региона (обычно точка или слэш), например: 10.04.2026 или 10/04/2026. Если данные импортированы из другого источника и выглядят как текст («10 апреля 2026»), преобразуйте их функцией ДАТАЗНАЧ.
Расчет разницы между датами
Самая частая задача — узнать количество дней, месяцев или лет между двумя событиями.
Простая разница в днях
Для получения количества дней достаточно вычесть дату начала из даты окончания:
=B1 - A1
Где A1 — начало, B1 — конец.
Не забудьте установить для ячейки с результатом формат «Общий» или «Числовой», иначе Excel может попытаться отобразить результат снова как дату.
Точный расчет стажа (годы, месяцы, дни)
Функция ДАТА.РАЗН (скрытая в мастере функций, но работающая во всех версиях) идеально подходит для расчета возраста или трудового стажа.
| Что считаем | Формула | Описание |
|---|---|---|
| Полных лет | =ДАТА.РАЗН(A1; B1; "Y") | Количество полных лет |
| Полных месяцев | =ДАТА.РАЗН(A1; B1; "M") | Количество полных месяцев |
| Дней без учета лет | =ДАТА.РАЗН(A1; B1; "MD") | Дни, оставшиеся после вычета полных месяцев |
| Дней без учета лет и месяцев | =ДАТА.РАЗН(A1; B1; "YM") | Дни, оставшиеся после вычета полных лет |
Пример комплексного вывода:
Чтобы получить строку вида «2 года 3 месяца 5 дней», используйте сцепку:
=ДАТА.РАЗН(A1;B1;"Y") & " г. " & ДАТА.РАЗН(A1;B1;"YM") & " мес. " & ДАТА.РАЗН(A1;B1;"MD") & " дн."
Добавление времени к дате
Часто требуется рассчитать дату окончания проекта или срок годности, прибавив определенное время к исходной дате.
- Прибавить дни:
=A1 + 30(добавит 30 дней). - Прибавить месяцы:
=ДАТА(ГОД(A1); МЕСЯЦ(A1) + 6; ДЕНЬ(A1))(добавит 6 месяцев). - Прибавить годы:
=ДАТА(ГОД(A1) + 1; МЕСЯЦ(A1); ДЕНЬ(A1))(добавит 1 год).
Внимание к високосным годам и длине месяца.
Если вы прибавляете месяц к дате 31 января, стандартная арифметика может дать ошибку. Функция ДАТА автоматически корректирует результат: 31 января + 1 месяц превратится в 28 (или 29) февраля, а не в несуществующее 31 февраля.
Для получения последнего дня месяца удобно использовать функцию КОНМЕСЯЦА:
=КОНМЕСЯЦА(A1; 0) — вернет последний день текущего месяца.
=КОНМЕСЯЦА(A1; 3) — вернет последний день месяца через 3 месяца.
Расчет рабочих дней
При планировании проектов важно учитывать только рабочие дни, исключая выходные (субботу и воскресенье).
Базовая формула:
=РАБОЧДНИ(Дата_начала; Дата_окончания)
С учетом праздников:
Если у вас есть список праздничных дней (например, в диапазоне E1:E10), добавьте его третьим аргументом:
=РАБОЧДНИ(A1; B1; E1:E10)
Для нестандартной рабочей недели (например, смена 2/2 или работа по субботам) используйте расширенную функцию РАБОЧДНИ.МЕЖД (доступна в новых версиях Excel), где можно явно указать коды выходных дней.
Вычисление возраста и дней до события
Точный возраст человека
Используйте связку с функцией СЕГОДНЯ(), чтобы возраст обновлялся автоматически при открытии файла:
=ДАТА.РАЗН(Дата_рождения; СЕГОДНЯ(); "Y")
Дней до дедлайна
Чтобы понять, сколько дней осталось до события:
=Дата_события - СЕГОДНЯ()
Если результат отрицательный, значит срок уже прошел.
Частые ошибки и способы их исправления
Даже опытные пользователи сталкиваются с типичными проблемами при работе с датами.
Проблема: Формула возвращает #####
Решение: Ячейка слишком узкая для отображения даты. Просто расширьте столбец.
Проблема: Результат вычитания равен 0 или ошибке Решение: Одна из дат записана как текст. Проверьте выравнивание: даты по умолчанию выравниваются по правому краю, текст — по левому. Используйте «Текст по столбцам» для конвертации.
Проблема: Неправильный разделитель в формуле
Решение: В русской локализации аргументы функций разделяются точкой с запятой (;), а не запятой. Пример: =ДАТА(2026;04;10).
Практический пример: Таблица контроля сроков
Вы можете создать простой трекер задач, скопировав эту структуру. Предположим:
- Столбец A: Название задачи
- Столбец B: Дата начала
- Столбец C: Дата окончания
| Задача | Старт | Финиш | Дней всего | Рабочих дней | Статус |
|---|---|---|---|---|---|
| Дизайн | 01.04.2026 | 10.04.2026 | =C2-B2 | =РАБОЧДНИ(B2;C2) | =ЕСЛИ(C2<СЕГОДНЯ();"Просрочено";"В работе") |
| Верстка | 11.04.2026 | 20.04.2026 | =C3-B3 | =РАБОЧДНИ(B3;C3) | =ЕСЛИ(C3<СЕГОДНЯ();"Просрочено";"В работе") |
Эта таблица автоматически подсветит просроченные задачи текстом «Просрочено», если текущая дата превысит дату финиша.
FAQ
Как выделить выходные дни цветом?
Используйте условное форматирование. Выделите столбец с датами, создайте правило с формулой =ИЛИ(ДЕНЬНЕД(A1;2)=6; ДЕНЬНЕД(A1;2)=7) и задайте красный цвет заливки. Функция ДЕНЬНЕД(...;2) возвращает 6 для субботы и 7 для воскресенья.
Можно ли складывать время и дату?
Да. В Excel сутки равны 1. Поэтому 12 часов — это 0,5. Формула =A1 + 0,5 прибавит к дате в A1 ровно 12 часов.
Почему функция ДАТА.РАЗН не появляется в подсказках? Это устаревшая, но полностью рабочая функция, оставленная для совместимости с Lotus 1-2-3. Она не имеет мастера функций, поэтому её нужно вводить вручную, но она работает во всех версиях Excel, включая 365.