Извлечение месяца и расчет стажа в Excel

Иван Корнев·11.04.2026·4 мин

Чтобы получить номер месяца из даты, используйте функцию =МЕСЯЦ(ячейка), а для подсчета полных лет между двумя датами — =РАЗНДАТ(дата_начала; дата_конца; "Y"). Эти инструменты позволяют автоматизировать отчеты, расчет возраста и стажа без ручных вычислений. Ниже приведены точные синтаксисы, примеры использования и способы обработки частых ошибок.

Оглавление

Как получить номер месяца из даты

Основной инструмент для этой задачи — функция МЕСЯЦ (в английской версии — MONTH). Она возвращает целое число от 1 (январь) до 12 (декабрь), соответствующее месяцу в указанной дате.

Базовый синтаксис

Формула выглядит следующим образом: =МЕСЯЦ(A1) Где A1 — ссылка на ячейку, содержащую корректную дату.

Пример: Если в ячейке A1 содержится дата 15.06.2023, формула =МЕСЯЦ(A1) вернет значение 6.

Работа с текстовыми датами

Если дата записана как текст (например, импортирована из другой системы и не распознается Excel как дата), функция выдаст ошибку. В этом случае сначала преобразуйте текст в дату: =МЕСЯЦ(ДАТАЗНАЧ(A1)) Или создайте дату вручную внутри формулы: =МЕСЯЦ(ДАТА(2023;6;15))

Как получить название месяца? Если вам нужно не число, а название месяца (например, «Июнь» или «июн.»), используйте функцию ТЕКСТ:

  • Полное название: =ТЕКСТ(A1; "мммм")
  • Сокращенное название: =ТЕКСТ(A1; "ммм")

Расчет количества лет между датами

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

Метод 1: Функция РАЗНДАТ (Полные года)

Функция РАЗНДАТ (англ. DATEDIF) является скрытой, но стандартной для Excel. Она идеально подходит для расчета возраста или трудового стажа, так как учитывает только полные прошедшие периоды.

Синтаксис для лет: =РАЗНДАТ(начальная_дата; конечная_дата; "Y")

Пример:

  • Начальная дата (A1): 01.01.2020
  • Конечная дата (B1): 15.06.2025
  • Формула: =РАЗНДАТ(A1; B1; "Y")
  • Результат: 5 (так как полных 6 лет еще не прошло).

Другие полезные коды для этой функции:

  • "M" — количество полных месяцев.
  • "D" — количество дней.
  • "YM" — разница в месяцах без учета лет (полезно для уточнения стажа: «5 лет и 3 месяца»).

Метод 2: Функция ДОЛЯГОДА (Точность до долей)

Если требуется высокая точность (например, для финансовых расчетов процентов), используйте функцию ДОЛЯГОДА (англ. YEARFRAC). Она возвращает дробное число.

Синтаксис: =ДОЛЯГОДА(начальная_дата; конечная_дата)

Пример: Для тех же дат (01.01.2020 – 15.06.2025) результат составит приблизительно 5,458, что означает 5 лет и почти половину следующего года.

Метод 3: Простая разница годов (Грубый расчет)

Можно просто вычесть год из года: =ГОД(B1) - ГОД(A1). Внимание: Этот метод неточен. Для дат 31.12.2020 и 01.01.2021 он покажет разницу в 1 год, хотя прошел всего один день. Используйте его только для приблизительных оценок.

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

МетодФормулаРезультат (01.01.2020 – 15.06.2025)Когда применять
Полные года=РАЗНДАТ(A1;B1;"Y")5Расчет возраста, стажа, сроков гарантии
Точные года=ДОЛЯГОДА(A1;B1)~5,46Финансовые проценты, амортизация
Разница годов=ГОД(B1)-ГОД(A1)5Быстрая прикидка (не рекомендуется для отчетов)

Функция РАЗНДАТ не имеет всплывающих подсказок в строке формул. Ее необходимо вводить вручную. Также убедитесь, что начальная дата меньше конечной, иначе формула вернет ошибку #ЧИСЛО!.

Комбинированный расчет: годы и месяцы

Часто требуется вывести результат в читаемом формате, например: «5 лет и 3 месяца». Для этого объединяют два вызова функции РАЗНДАТ с текстовыми константами.

Формула:

=РАЗНДАТ(A1; B1; "Y") & " лет и " & РАЗНДАТ(A1; B1; "YM") & " мес."

Логика работы:

  1. Первая часть считает полные годы ("Y").
  2. Вторая часть считает оставшиеся месяцы, игнорируя уже посчитанные годы ("YM").
  3. Оператор & склеивает числа и текст.

Пример динамического расчета стажа: Чтобы считать стаж от даты приема на работу (ячейка A2) до сегодняшнего дня автоматически:

=РАЗНДАТ(A2; СЕГОДНЯ(); "Y") & " лет, " & РАЗНДАТ(A2; СЕГОДНЯ(); "YM") & " мес."

Функция СЕГОДНЯ() (англ. TODAY()) каждый день обновляет дату расчета.

Частые ошибки

При работе с датами пользователи часто сталкиваются со следующими проблемами:

  • Ошибка #ЗНАЧ! (#VALUE!): Возникает, если ячейка с датой хранится как текст.
    • Решение: Проверьте формат ячейки (Главная -> Число -> Дата). Если не помогло, используйте функцию ДАТАЗНАЧ или инструмент «Текст по столбцам».
  • Ошибка #ЧИСЛО! (#NUM!): Появляется в функции РАЗНДАТ, если дата начала позже даты окончания.
    • Решение: Оберните формулу в проверку: =ЕСЛИ(A1>B1; ""; РАЗНДАТ(A1; B1; "Y")).
  • Неверный разделитель: В русскоязычной версии Excel аргументы функций разделяются точкой с запятой (;), а не запятой.
    • Решение: Используйте =МЕСЯЦ(A1; ), а не =МЕСЯЦ(A1, ).

FAQ

Можно ли получить номер месяца в виде римской цифры? Да, комбинируйте функции: =РИМСКОЕ(МЕСЯЦ(A1)). Для даты в марте это вернет «III».

Как посчитать количество рабочих лет с учетом выходных? Стандартные функции дат не исключают выходные. Для точного расчета рабочего времени используйте функцию ЧИСТРАБДНИ (для дней) и разделите результат на среднее количество рабочих дней в году (обычно 247-250), либо используйте надстройки учета рабочего времени.

Почему формула возвращает число, а не дату? Функции МЕСЯЦ, ГОД, РАЗНДАТ возвращают числа. Если ячейка отформатирована как «Дата», число может отобразиться некорректно (например, как 01.01.1900). Измените формат ячейки на «Общий» или «Числовой».