Расчёт стажа в Excel на сегодняшний день: формулы, примеры и лайфхаки

Почему Excel — лучший инструмент для расчёта стажа?

Рассчитать трудовой стаж вручную — утомительное занятие, особенно если речь идёт о десятках сотрудников или сложных периодах с перерывами. Microsoft Excel автоматизирует этот процесс, сводя ошибки к минимуму. Программа умеет работать с датами как с числовыми значениями, что позволяет вычитать их, сравнивать и преобразовывать в годы, месяцы или дни. Главное преимущество — динамический расчёт: формула будет обновлять результат каждый раз, когда вы открываете файл, учитывая текущую дату.

Например, если сегодня 15 мая 2026 года, а сотрудник устроился 10 марта 2020 года, Excel мгновенно покажет, что его стаж составляет 4 года, 2 месяца и 5 дней. При этом не нужно пересчитывать данные вручную при каждом открытии файла — программа сделает это за вас. Это особенно ценно для кадровых служб, бухгалтеров и HR-специалистов, где точность и актуальность данных критически важны.

В этой статье мы разберём:

  • 📅 Базовые формулы для расчёта стажа в днях, месяцах и годах
  • 🔄 Как учитывать перерывы между периодами работы
  • ⚡ Автоматическое обновление стажа при открытии файла
  • 📊 Примеры готовых таблиц для кадрового учёта
📊 Как часто вам нужно рассчитывать стаж?
Ежемесячно
Ежеквартально
Раз в год
По запросу

Базовая формула: разница между датами в Excel

Самый простой способ посчитать стаж — вычесть дату начала работы из текущей даты. Для этого используется формула:

=СЕГОДНЯ()-A2

где A2 — ячейка с датой приёма на работу. Результат будет в днях. Например, если сегодня 15.05.2026, а дата приёма — 10.03.2020, формула вернёт 1528 (дней).

Но такой формат не всегда удобен. Чтобы преобразовать дни в годы, месяцы и дни, используйте функцию ДОЛЯГОДА:

=ДОЛЯГОДА(A2;СЕГОДНЯ();1)

Аргумент 1 указывает, что расчёт ведётся по фактическому количеству дней в месяце (а не по усреднённому значению). Результат будет в годах с дробной частью (например, 4,14 — 4 года и ~1,7 месяца).

⚠️ Внимание: Функция ДОЛЯГОДА не учитывает високосные годы при детальном разбиении на месяцы и дни. Для точного расчёта используйте комбинацию функций, описанную ниже.

Точный расчёт: годы, месяцы и дни отдельно

Для детального разбиения стажа на годы, месяцы и дни используйте комбинацию функций РАЗНДАТ, ГОД, МЕСЯЦ и ДЕНЬ. Формула выглядит так:

=РАЗНДАТ(A2;СЕГОДНЯ();"y") & " лет, " & РАЗНДАТ(A2;СЕГОДНЯ();"ym") & " мес., " & РАЗНДАТ(A2;СЕГОДНЯ();"md") & " дн."

Где:

  • "y" — возвращает полные годы разницы;
  • "ym" — возвращает месяцы без учёта годов;
  • "md" — возвращает дни без учёта месяцев и годов.

Пример результата: "4 лет, 2 мес., 5 дн.". Если нужно получить числовые значения в отдельных ячейках, используйте формулы:

ПараметрФормулаПример результата
Годы=РАЗНДАТ(A2;СЕГОДНЯ();"y")4
Месяцы=РАЗНДАТ(A2;СЕГОДНЯ();"ym")2
Дни=РАЗНДАТ(A2;СЕГОДНЯ();"md")5
⚠️ Внимание: Функция РАЗНДАТ доступна только в русской версии Excel. В английской версии используйте DATEDIF (например, =DATEDIF(A2,TODAY(),"y")).

Убедитесь, что даты введены в формате ДД.ММ.ГГГГ|Проверьте, что ячейки с датами имеют формат Дата (а не Текст)|Используйте функцию СЕГОДНЯ() для динамического обновления|Для статических отчётов замените СЕГОДНЯ() на фиксированную дату-->

Учёт перерывов в стаже

Если сотрудник имел перерывы в работе (например, декретный отпуск или увольнение с последующим возвращением), простая разница между датами не подойдёт. В этом случае нужно:

  1. Рассчитать стаж для каждого непрерывного периода отдельно.
  2. Сложить результаты.

Пример таблицы:

ПериодДата началаДата окончанияСтаж (дни)
Первый период10.03.202031.12.2021=КОНДАТА(B2)-A2
Перерыв01.01.202230.06.2022
Второй период01.07.2022СЕГОДНЯ()=СЕГОДНЯ()-C3
Итого=СУММ(D2:D3)

Для преобразования суммарных дней в годы/месяцы/дни используйте формулу из предыдущего раздела, заменив СЕГОДНЯ()-A2 на СУММ(D2:D3).

Как учесть неполный рабочий день?

Если сотрудник работал на 0,5 ставки, стаж считается пропорционально. Например, при стаже 2 года на 0,5 ставки эффективный стаж составит 1 год. В Excel это можно реализовать, умножив результат на коэффициент:

=РАЗНДАТ(A2;СЕГОДНЯ();"y") * 0,5

Автоматическое обновление стажа при открытии файла

По умолчанию Excel пересчитывает формулы с СЕГОДНЯ() только при открытии файла или принудительном обновлении (F9). Если вам нужно, чтобы стаж обновлялся в реальном времени (например, для дашборда), используйте VBA-макрос:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль листа:
    Private Sub Worksheet_Activate()
    

    Application.OnTime Now + TimeValue("00:01:00"), "UpdateDates"

    End Sub

    Sub UpdateDates()

    Application.Calculate

    Application.OnTime Now + TimeValue("00:01:00"), "UpdateDates"

    End Sub

  3. Сохраните файл как .xlsm (с поддержкой макросов).

Этот код будет обновлять все формулы каждую минуту.

⚠️ Внимание: Макросы работают только при открытом файле. Если закрыть Excel, автоматическое обновление остановится. Для постоянного мониторинга используйте Power Query или внешние скрипты.

Продвинутые приёмы: учёт выходных и праздников

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

=ЧИСТРАБДНИ(A2;СЕГОДНЯ())

Где A2 — дата начала периода. Чтобы исключить праздники, добавьте их список в диапазон (например, E2:E10):

=ЧИСТРАБДНИ(A2;СЕГОДНЯ();E2:E10)

Для расчёта стажа в рабочих годах (учитывая 250 рабочих дней в году) используйте формулу:

=ЧИСТРАБДНИ(A2;СЕГОДНЯ())/250

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

Готовые шаблоны таблиц для кадрового учёта

Чтобы сэкономить время, воспользуйтесь готовыми шаблонами:

  1. Таблица для одного сотрудника:
    • 📌 Столбцы: ФИО, Дата приёма, Стаж (годы/месяцы/дни).
    • 📌 Формулы: =РАЗНДАТ(B2;СЕГОДНЯ();"y") и т.д.
  2. Таблица для отдела (10+ сотрудников):
    • 📌 Дополнительные столбцы: Должность, Дата последнего повышения.
    • 📌 Условное форматирование: выделение сотрудников со стажем >5 лет.
  • Таблица с учётом перерывов:
    • 📌 Столбцы: Период 1 (начало/конец), Период 2 (начало/конец), Итоговый стаж.
    • 📌 Формулы: =СУММ(КОНДАТА(B2)-A2; КОНДАТА(D2)-C2).

    Скачать шаблоны можно по ссылкам:

    FAQ: Частые вопросы по расчёту стажа в Excel

    Как посчитать стаж, если дата приёма введена как текст (например, "10.03.2020")?

    Используйте функцию ДАТАЗНАЧ, чтобы преобразовать текст в дату:

    =РАЗНДАТ(ДАТАЗНАЧ(A2);СЕГОДНЯ();"y")

    Если формат текста нестандартный (например, "10 марта 2020"), сначала приведите его к виду ДД.ММ.ГГГГ с помощью функции ПОДСТАВИТЬ или Power Query.

    Почему функция РАЗНДАТ возвращает ошибку #ИМЯ?

    Это происходит в двух случаях:

    1. Вы используете английскую версию Excel — замените РАЗНДАТ на DATEDIF.
    2. Ошибка в синтаксисе: проверьте, что аргументы указаны в кавычках (например, "y", а не y).
    Можно ли посчитать стаж с учётом неполного рабочего дня?

    Да, умножьте результат на коэффициент ставки. Например, для 0,5 ставки:

    =РАЗНДАТ(A2;СЕГОДНЯ();"y") * 0,5

    Для точного расчёта используйте отдельные столбцы для ставки и фактического стажа.

    Как зафиксировать стаж на конкретную дату (например, для отчёта за квартал)?summary>

    Замените СЕГОДНЯ() на фиксированную дату в формате "ДД.ММ.ГГГГ":

    =РАЗНДАТ(A2;"31.03.2026";"y")

    Или создайте отдельную ячейку с датой отчёта (например, B1) и ссылайтесь на неё:

    =РАЗНДАТ(A2;B1;"y")
    Как посчитать стаж для большого количества сотрудников (1000+ строк)?

    Для больших массивов данных:

    1. Используйте Power Query (вкладка Данные → Получение данных).
    2. Создайте столбец с формулой и "протяните" её вниз (Excel оптимизирует расчёты).
    3. Для ускорения отключите автоматический пересчёт: Формулы → Параметры вычислений → Вручную.

    При работе с 10 000+ строк рассмотрите возможность переноса данных в Power BI или SQL.