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

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

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

Кадровые специалисты, бухгалтеры и руководители HR-отделов часто сталкиваются с задачей подсчёта стажа для начисления надбавок, оформления пенсий или составления отчётов. В этой статье вы найдёте готовые формулы, примеры с пояснениями и даже шаблоны таблиц, которые можно скачать и адаптировать под свои нужды. А если вы никогда не работали с датами в Excel — не беспокойтесь: мы разберём всё с нуля.

Важно: методы из этой статьи подходят для Excel 2010–2023 и Excel Online. Для более старых версий (например, Excel 2007) могут потребоваться корректировки.

📊 Как часто вам приходится считать стаж сотрудников?
Ежедневно
Раз в неделю
Раз в месяц
Реже
Никогда

Базовый метод: функция ДАТАРАЗН (DATEDIF)

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

=ДАТАРАЗН(нач_дата; кон_дата; единица)

Где:

  • 📅 нач_дата — дата приёма на работу (например, "15.05.2018" или ссылка на ячейку A2)
  • 📅 кон_дата — текущая дата или дата увольнения (например, СЕГОДНЯ())
  • 🔢 единица — формат вывода:
    • "y" — полные годы
    • "m" — полные месяцы
    • "d" — дни
    • "ym" — месяцы без учёта годов
    • "yd" — дни без учёта годов

Пример: чтобы посчитать стаж в годах между датами в ячейках A2 (дата приёма) и B2 (дата увольнения), используйте:

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

Продвинутый расчёт: стаж в годах, месяцах и днях

Функция ДАТАРАЗН выдаёт только одно значение (годы, месяцы или дни). Чтобы получить полный стаж в формате "X лет Y месяцев Z дней", придётся комбинировать несколько формул. Вот универсальный шаблон:

=ДАТАРАЗН(A2; B2; "y") & " г. " & ДАТАРАЗН(A2; B2; "ym") & " мес. " & ДАТАРАЗН(A2; B2; "md") & " дн."

Разберём по частям:

  • 📊 ДАТАРАЗН(A2; B2; "y") — считает полные годы
  • 📅 ДАТАРАЗН(A2; B2; "ym") — месяцы, оставшиеся после вычета полных лет
  • ДАТАРАЗН(A2; B2; "md") — дни, оставшиеся после вычета лет и месяцев
  • 🔗 & " г. " — оператор конкатенации (&) соединяет результаты с текстовыми метками

Критичный нюанс: параметр "md" (дни без учёта месяцев и лет) работает только в Excel 2013 и новее. В старых версиях используйте обходной путь с функцией ДАТА (см. следующий раздел).

Почему иногда ДАТАРАЗН выдаёт отрицательные значения?

Это происходит, если конечная дата раньше начальной. Например, при вводе =ДАТАРАЗН("01.01.2026"; "01.01.2020"; "y") результат будет -5. Чтобы избежать ошибки, используйте функцию ЕСЛИОШИБКА или проверку ЕСЛИ на корректность дат.

Альтернативный способ: формула с ГОД, МЕСЯЦ и ДЕНЬ

Если ДАТАРАЗН кажется неудобной, попробуйте этот метод. Он основан на вычитании компонентов дат:

=ГОД(B2)-ГОД(A2)-ЕСЛИ(ИЛИ(МЕСЯЦ(B2)<МЕСЯЦ(A2); И(МЕСЯЦ(B2)=МЕСЯЦ(A2); ДЕНЬ(B2)<ДЕНЬ(A2))); 1; 0) & " г. " &

ЕСЛИ(МЕСЯЦ(B2)>=МЕСЯЦ(A2); МЕСЯЦ(B2)-МЕСЯЦ(A2); 12+МЕСЯЦ(B2)-МЕСЯЦ(A2))-ЕСЛИ(ДЕНЬ(B2)<ДЕНЬ(A2); 1; 0) & " мес. " &

ЕСЛИ(ДЕНЬ(B2)>=ДЕНЬ(A2); ДЕНЬ(B2)-ДЕНЬ(A2); ДЕНЬ(EOMONTH(B2;-1))+ДЕНЬ(B2)-ДЕНЬ(A2)) & " дн."

Эта формула учитывает:

  • 🔄 Переход через границу месяца (например, если дата увольнения 15.03.2023, а приёма — 20.02.2020, то февраль 2023 года не засчитывается как полный месяц)
  • 🗓️ Високосные годы (автоматически корректирует количество дней в феврале)
  • 📉 Отрицательные значения (если конечная дата раньше начальной, результат будет некорректным — добавьте проверку ЕСЛИ)
⚠️ Внимание: Если в вашей таблице даты хранятся как текст (например, "15.05.2018" вместо 15.05.2018), Excel воспримет их как строки, а не как даты. Чтобы исправить это, используйте функцию ДАТАЗНАЧ или преобразуйте столбец в формат Дата через Главная → Формат → Формат ячеек.

Автоматизация: динамический расчёт стажа с СЕГОДНЯ()

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

=ДАТАРАЗН(A2; СЕГОДНЯ(); "y") & " лет, " & ДАТАРАЗН(A2; СЕГОДНЯ(); "ym") & " месяцев"

Преимущества этого подхода:

  • Актуальность: стаж всегда соответствует текущей дате
  • 📈 Наглядность: можно сортировать сотрудников по стажу для анализа текучести кадров
  • 🔄 Автоматизация: не нужно вручную обновлять даты

Минусы:

  • 🐢 Производительность: если таблица большая (тысячи строк), пересчёт может замедлять работу файла
  • 📅 Неточности: при открытии файла завтра стаж всех сотрудников увеличится на 1 день, даже если они уволились вчера

Добавить столбец "Дата приёма" в формате Дата|

Добавить столбец "Стаж" с формулой =ДАТАРАЗН(...|

Установить формат ячеек со стажем как Общий|

Проверить, что функция СЕГОДНЯ() возвращает корректную дату|

Сохранить файл в формате .xlsx или .xlsm (для макросов)-->

Учёт неполных периодов и округление

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

Задача Формула Пример результата
Округлить до полных лет (в меньшую сторону) =ЦЕЛОЕ(ДАТАРАЗН(A2; B2; "y")) 5 (для стажа 5 лет 11 месяцев)
Округлить до полных лет (в большую сторону) =ОКРУГЛВВЕРХ(ДАТАРАЗН(A2; B2; "m")/12; 0) 6 (для стажа 5 лет 1 месяца)
Учесть неполный месяц как полный =ЕСЛИ(ДАТАРАЗН(A2; B2; "d")>0; ДАТАРАЗН(A2; B2; "m")+1; ДАТАРАЗН(A2; B2; "m")) 61 (для стажа 5 лет 1 день)
Преобразовать дни в месяцы (30 дней = 1 месяц) =ЦЕЛОЕ(ДАТАРАЗН(A2; B2; "d")/30) 1 (для 35 дней)

Для бухгалтерских расчётов часто используется правило: 15 и более дней округляются до полного месяца. Реализовать это можно так:

=ЕСЛИ(ДАТАРАЗН(A2; B2; "d")>=15; ДАТАРАЗН(A2; B2; "m")+1; ДАТАРАЗН(A2; B2; "m"))
⚠️ Внимание: При округлении стажа для начисления пенсии или пособий следуйте нормативным актам вашей страны. Например, в России согласно Постановлению Правительства №555 от 2002 года, периоды работы менее полумесяца исключаются из расчёта, а свыше — округляются до полного месяца.

Практические примеры: шаблоны для кадрового учёта

Ниже приведены готовые решения для типовых задач HR-специалистов. Скачайте шаблон Excel (ссылка в конце статьи) и адаптируйте под свои нужды.

1. Табель стажа с автоматическим обновлением

Создайте таблицу с колонками:

  • 👤 ФИО сотрудника
  • 📅 Дата приёма (формат Дата)
  • 🔄 Стаж на текущую дату (формула с СЕГОДНЯ())
  • 📊 Категория стажа (например, "До 1 года", "1–3 года", "Более 5 лет")

Формула для категории стажа:

=ЕСЛИ(ДАТАРАЗН(B2; СЕГОДНЯ(); "y")<1; "До 1 года";

ЕСЛИ(ДАТАРАЗН(B2; СЕГОДНЯ(); "y")<=3; "1–3 года";

ЕСЛИ(ДАТАРАЗН(B2; СЕГОДНЯ(); "y")<=5; "3–5 лет"; "Более 5 лет")))

2. Расчёт стажа для увольнения

Если нужно посчитать стаж на конкретную дату (например, дату увольнения в ячейке C2), используйте:

=ДАТАРАЗН(A2; C2; "y") & " лет, " & ДАТАРАЗН(A2; C2; "ym") & " мес."

3. Сводная таблица по стажу для отчётов

Чтобы проанализировать распределение сотрудников по стажу:

  1. Добавьте столбец с категориями стажа (как в примере выше).
  2. Выделите данные и создайте сводную таблицу (Вставка → Сводная таблица).
  3. Перетащите поле Категория стажа в область Строки, а поле ФИО — в область Значения (опция Количество).

Типичные ошибки и как их избежать

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

  • 🗓️ Текст вместо даты: Если дата введена как текст (например, "15.05.2018" вместо 15.05.2018), формулы не будут работать. Исправляйте формат через Главная → Формат → Формат ячеек → Дата.
  • 🔢 Неверный порядок дат: Если дата увольнения раньше даты приёма, ДАТАРАЗН вернёт отрицательное значение. Добавьте проверку:
    =ЕСЛИ(B2
  • 📅 Игнорирование високосных лет: Функция ДАТАРАЗН учитывает високосные годы автоматически, но при ручных расчётах (например, через вычитание дней) могут возникнуть ошибки. Используйте ДАТА для корректного подсчёта.
  • 🔄 Копирование формул: При копировании формулы вниз по столбцу убедитесь, что ссылки на ячейки относительные (например, A2, а не $A$2), иначе расчёт будет неверным.

Чтобы проверить корректность расчётов, сравните результат Excel с ручным подсчётом для 2–3 сотрудников. Например:

  • Дата приёма: 01.06.2020
  • Дата увольнения: 15.07.2023
  • Ручной расчёт: 3 года, 1 месяц, 14 дней
  • Excel: =ДАТАРАЗН("01.06.2020"; "15.07.2023"; "y") → 3 года; ДАТАРАЗН("01.06.2020"; "15.07.2023"; "ym") → 1 месяц; ДАТАРАЗН("01.06.2020"; "15.07.2023"; "md") → 14 дней
Как проверить, что дата в ячейке — это действительно дата, а не текст?

Введите в соседней ячейке формулу =ЕЧИСЛО(A2). Если результат ИСТИНА — это дата, если ЛОЖЬ — текст. Также можно использовать =ТИП(A2)=1 (1 — это код типа "число", к которому относятся даты в Excel).

FAQ: Ответы на частые вопросы

Можно ли посчитать стаж с учётом перерывов в работе?

Да. Для этого:

  1. Создайте столбцы с датами начала и конца каждого периода работы.
  2. Используйте формулу для суммирования стажа по всем периодам:
    =ДАТАРАЗН(B2; C2; "y") + ДАТАРАЗН(D2; E2; "y") + ...

    где B2:C2, D2:E2 — пары дат начала и конца периодов.

  3. Для учёта месяцев и дней используйте аналогичную логику с "ym" и "md".

Пример для двух периодов работы:

=ДАТАРАЗН(B2; C2; "y") + ДАТАРАЗН(D2; E2; "y") & " лет, " &

ДАТАРАЗН(B2; C2; "ym") + ДАТАРАЗН(D2; E2; "ym") & " мес."

Как посчитать стаж в Excel Online или Google Таблицах?

В Excel Online и Google Таблицах функция ДАТАРАЗН также работает, но с некоторыми нюансами:

  • 📱 В Google Таблицах функция называется DATEDIF (без перевода) и поддерживает те же параметры.
  • ☁️ В Excel Online синтаксис идентичен десктопной версии, но может отсутствовать автозаполнение имени функции.
  • ⚠️ В обоих сервисах СЕГОДНЯ() обновляется только при пересчёте таблицы (в Google Таблицах — при каждом открытии файла).

Пример для Google Таблиц:

=DATEDIF(A2; B2; "y") & " years, " & DATEDIF(A2; B2; "ym") & " months"
Что делать, если в стаж нужно включить только рабочие дни (без выходных)?

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

=ЧИСТРАБДНИ(A2; B2)

Чтобы перевести рабочие дни в месяцы (условно 21 рабочий день = 1 месяц):

=ЦЕЛОЕ(ЧИСТРАБДНИ(A2; B2)/21) & " мес. " & ОСТАТ(ЧИСТРАБДНИ(A2; B2); 21) & " дн."

Для учёта праздничных дней добавьте третий аргумент — диапазон с датами праздников:

=ЧИСТРАБДНИ(A2; B2; Праздники!A:A)
Как экспортировать расчёт стажа в Word или PDF для отчёта?

Способы экспорта:

  1. Копирование как картинки:
    • Выделите таблицу со стажем.
    • Нажмите Ctrl + C (копировать).
    • В Word или другом документе выберите Специальная вставка → Изображение.
  2. Экспорт в PDF:
    • Перейдите в Файл → Экспорт → Создать PDF/XPS.
    • Выберите область для экспорта (весь лист или выделенный диапазон).
  • Связь с Word:
    • В Word перейдите в Вставка → Объект → Текст из файла и выберите файл Excel.
    • При обновлении Excel данные в Word также обновятся (если включена связь).

    Для профессиональных отчётов рекомендуем использовать надстройку Power Query (в Excel 2016+) для предварительной обработки данных.

  • Где скачать готовый шаблон для расчёта стажа?

    Вы можете скачать наши шаблоны по ссылкам ниже (файлы в формате .xlsx, совместимы с Excel 2010 и новее):

    Все шаблоны содержат:

    • Готовые формулы для расчёта стажа в годах, месяцах и днях.
    • Условное форматирование для выделения сотрудников с юбилейными датами.
    • Инструкции по адаптации под ваши данные.
    ⚠️ Внимание: Перед использованием шаблонов проверьте региональные настройки дат в Excel (Файл → Параметры → Язык → Региональные параметры). В некоторых странах формат даты по умолчанию — ММ/ДД/ГГГГ, что может привести к ошибкам.