Мастер работы с датами в Excel: от простого вычитания до расчета стажа

Иван Корнев·09.04.2026·6 мин

Чтобы посчитать разницу между двумя датами в Excel, используйте функцию =DAYS(конец; начало) для получения количества дней или простое вычитание =B1-A1. Для расчета стажа в годах и месяцах применяется скрытая функция =DATEDIF(начало; конец; "Y"), а для исключения выходных — =NETWORKDAYS. Все эти инструменты позволяют автоматизировать расчеты сроков, возрастов и длительности проектов за секунды.

Работа с временными интервалами — одна из самых частых задач в таблицах. Будь то расчет зарплаты, контроль дедлайнов или анализ длительности сделок, понимание механики дат сэкономит вам часы ручной работы. В этом руководстве мы разберем основные и продвинутые методы вычислений.

Как Excel понимает даты: фундамент расчетов

Прежде чем использовать формулы, важно понять, как программа хранит эту информацию. Для Excel дата — это не текст «10 января», а порядковый номер дня, начиная с 1 января 1900 года (это число 1).

  • 01.01.1900 = 1
  • 09.04.2026 ≈ 45756
  • Время хранится как дробная часть числа (0.5 — это полдень, 12:00).

Проверка формата: Если при вводе формулы вычисления не работают, а ячейка отображает странное число (например, 44927), измените формат ячейки на «Дата». Нажмите Ctrl+1 → вкладка «Число» → выберите нужный формат даты.

Если ячейка отформатирована как «Текст», математические операции с ней невозможны. Убедитесь, что даты выровнены по правому краю ячейки — это верный признак того, что Excel распознал их как числа.

Базовые способы вычисления разницы в днях

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

1. Функция DAYS

Эта функция появилась в Excel 2013 и стала стандартом для простых расчетов. Она возвращает целое количество дней.

Синтаксис: =DAYS(конечная_дата; начальная_дата)

Пример:

  • Ячейка A1: 01.01.2026
  • Ячейка B1: 09.04.2026
  • Формула: =DAYS(B1; A1)
  • Результат: 98

Обратите внимание на порядок аргументов: сначала дата окончания, затем начала. Если перепутать, результат будет отрицательным.

2. Прямое вычитание

Классический метод, работающий во всех версиях Excel. Поскольку даты — это числа, их можно просто вычесть.

Формула: =B1 - A1

Результат будет идентичен функции DAYS. Преимущество метода — универсальность. Недостаток — если в ячейках указано время (например, 09.01.2026 10:00 и 10.01.2026 09:00), результат может быть дробным (0.95 дня). Чтобы получить целое число дней, оберните формулу в функцию округления вниз: =ЦЕЛОЕ(B1 - A1).

Расчет стажа и возраста: магия DATEDIF

Когда нужно узнать не просто дни, а полный стаж («3 года 5 месяцев»), обычное вычитание не подойдет. Здесь на помощь приходит функция DATEDIF. Она официально не отображается в подсказках мастера функций, но полностью поддерживается программой.

Синтаксис: =DATEDIF(начальная_дата; конечная_дата; "единица_измерения")

Третий аргумент определяет, что именно считать:

КодЧто возвращаетПример использования
"Y"Полные годыВозраст человека
"M"Полные месяцыДлительность подписки
"D"Полные дниПросрочка платежа
"YM"Месяцы без учета летОстаток месяцев после полных лет
"MD"Дни без учета лет и месяцевОстаток дней после полных месяцев
"YD"Дни без учета летДней до следующего юбилея

Формула полного стажа: Чтобы получить красивую строку вида «5 лет 3 мес. 12 дн.», объедините три вызова функции: =DATEDIF(A1;B1;"Y") & " лет " & DATEDIF(A1;B1;"YM") & " мес. " & DATEDIF(A1;B1;"MD") & " дн."

Этот метод идеален для кадрового делопроизводства и расчета возраста на конкретную дату.

Учет выходных и праздников: NETWORKDAYS

В бизнес-планировании часто требуется знать количество рабочих дней, исключая субботы, воскресенья и государственные праздники.

Стандартная рабочая неделя (Пн–Пт)

Используйте функцию РАБДНИ (в английской версии NETWORKDAYS).

Синтаксис: =РАБДНИ(начало; конец; [праздники])

  • Начало, Конец: Диапазон дат.
  • Праздники: Необязательный диапазон ячеек, где перечислены даты праздничных дней.

Пример: Рассчитаем рабочие дни с 1 марта по 9 мая 2026 года. В диапазоне D1:D3 записаны праздники: 08.03, 01.05, 09.05. Формула: =РАБДНИ("01.03.2026"; "09.05.2026"; D1:D3)

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

Нестандартный график (NETWORKDAYS.INTL)

Если ваши выходные — это, например, пятница и суббота (как в некоторых восточных странах) или только воскресенье, используйте РАБДНИ.ИНТЛ (NETWORKDAYS.INTL).

Синтаксис: =РАБДНИ.ИНТЛ(начало; конец; [код_выходных]; [праздники])

Аргумент [код_выходных] позволяет задать любой режим:

  • 1 или пропуск — Сб, Вс (стандарт)
  • 2 — Вс, Пн
  • 7 — Только Вс
  • 11 — Только Сб
  • И другие коды от 1 до 17.

Сравнение методов расчета

Выбор инструмента зависит от вашей конкретной задачи.

ЗадачаРекомендуемая функцияПочему
Простое кол-во днейDAYS или B1-A1Быстро, понятно, работает везде
Возраст / Стаж (годы, месяцы)DATEDIFЕдинственный способ получить разбивку по периодам
Срок выполнения проектаРАБДНИИсключает выходные, реалистичная оценка
Точность до часов/минутВычитание с форматом времениСохраняет дробную часть суток
Сложный график сменРАБДНИ.ИНТЛГибкая настройка выходных дней

Ловушка региональных настроек: В русской локализации разделитель аргументов в формулах — точка с запятой (;), а в английской — запятая (,). Также названия функций отличаются: DAYSКОЛВОДНЕЙ (в старых версиях) или остается DAYS, DATEDIFРАЗНДАТ. Если формула выдает ошибку #ИМЯ?, проверьте название функции на вашем языке интерфейса.

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

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

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

    • Причина: Одна из дат записана как текст (например, «10.01.2026 » с лишним пробелом или апострофом в начале).
    • Решение: Выделите столбец с датами → вкладка «Данные» → «Текст по столбцам» → кнопка «Готово». Это принудительно конвертирует текст в даты.
  2. Результат выглядит как число (44562)

    • Причина: Ячейке присвоен «Общий» числовой формат вместо «Дата».
    • Решение: Нажмите Ctrl+1 и выберите формат «Дата».
  3. Отрицательный результат при расчете возраста

    • Причина: Дата рождения стоит позже текущей даты (опечатка в годе) или аргументы в DATEDIF перепутаны местами.
    • Решение: Проверьте порядок ячеек: сначала ранняя дата, потом поздняя.
  4. Проблема 1900/1904 года

    • Причина: Файл создан на Mac (где отсчет идет с 1904 года), а открыт на Windows. Даты сдвигаются на 4 года (1462 дня).
    • Решение: Файл → Параметры → Дополнительно → раздел «При пересчете этой книги» → снимите галочку «Использовать систему дат 1904».

Ответы на популярные вопросы (FAQ)

Как посчитать количество полных месяцев между датами? Используйте формулу =DATEDIF(A1; B1; "M"). Она вернет целое число месяцев, игнорируя оставшиеся дни.

Можно ли прибавить к дате определенное количество дней? Да, это самая простая операция. Если в ячейке A1 дата, формула =A1 + 30 прибавит 30 дней. Не забудьте применить к ячейке с формулой формат «Дата».

Как выделить просроченные задачи цветом? Используйте условное форматирование. Выделите столбец с датами → Главная → Условное форматирование → Правила выделения ячеек → Меньше... → Введите формулу =СЕГОДНЯ(). Все даты, которые меньше сегодняшней (прошедшие), окрасятся в выбранный цвет.

Работает ли DATEDIF в новых версиях Excel 365? Да, функция продолжает работать, несмотря на то, что Microsoft не добавляет её в список подсказок. Она считается устаревшей, но надежной для обратной совместимости. Для новых проектов рекомендуется осваивать комбинации функций ГОД, МЕСЯЦ и ДЕНЬ, однако DATEDIF остается самым компактным решением для стажа.