Расчет возраста в Excel: от простых лет до точного стажа

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

Чтобы вычислить точный возраст в Excel по дате рождения, используйте функцию =DATEDIF(ячейка_с_датой; СЕГОДНЯ(); "Y"). Она автоматически считает полные годы, учитывая високосные дни и текущую дату. Для более детального расчета (месяцы, дни) или работы со старыми версиями программы существуют альтернативные методы, которые мы разберем ниже.

Самый надежный способ: функция DATEDIF

Функция DATEDIF (от англ. Date Difference) — скрытый, но стандартный инструмент Excel для вычисления разницы между двумя датами. Она идеально подходит для кадрового учета и официальных отчетов, так как возвращает именно количество полных прошедших периодов.

Базовая формула для получения возраста в годах:

=DATEDIF(A2; СЕГОДНЯ(); "Y")

Где:

  • A2 — ячейка с датой рождения.
  • СЕГОДНЯ() — функция, подставляющая текущую дату (обновляется при каждом открытии файла).
  • "Y" — параметр, указывающий на расчет полных лет (Years).

Защита от ошибок ввода. Если в ячейку случайно попадет дата из будущего, формула выдаст ошибку #ЧИСЛО!. Чтобы этого избежать, оберните расчет в проверку:

=ЕСЛИ(A2>СЕГОДНЯ(); "Ошибка"; DATEDIF(A2; СЕГОДНЯ(); "Y"))

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

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

Таблица параметров функции

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

Формула полного возраста

Что получить строку вида «40 лет 5 мес. 12 дней», сцепите три функции через амперсанд (&):

=DATEDIF(A2; СЕГОДНЯ(); "Y") & " лет " & DATEDIF(A2; СЕГОДНЯ(); "YM") & " мес. " & DATEDIF(A2; СЕГОДНЯ(); "MD") & " дн."

Альтернативный метод: математический расчет

В очень старых версиях Excel или специфических настройках функция DATEDIF может быть недоступна. В таком случае можно использовать математическое вычитание дат. В Excel даты хранятся как числа (порядковый номер дня), поэтому их можно вычитать.

Формула для приблизительного расчета полных лет:

=ЦЕЛОЕ((СЕГОДНЯ()-A2)/365,25)
  • Разность СЕГОДНЯ()-A2 дает количество прожитых дней.
  • Деление на 365,25 учитывает високосные годы (в среднем).
  • Функция ЦЕЛОЕ (или INT в англ. версии) отбрасывает дробную часть, оставляя только полные годы.

Избегайте простой разницы годов. Формула =ГОД(СЕГОДНЯ())-ГОД(A2) неверна. Она игнорирует месяц и день. Если человек родился 31 декабря 2000 года, а сегодня 1 января 2026 года, эта формула покажет 26 лет, хотя человеку исполнился только 25 лет и 1 день.

Пошаговая инструкция по созданию таблицы

Для автоматического расчета возраста в списке сотрудников или клиентов выполните следующие действия:

  1. Подготовьте шапку таблицы. В ячейку A1 напишите «Дата рождения», в B1 — «Возраст (полных лет)».
  2. Проверьте формат данных. Выделите столбец с датами, нажмите Ctrl+1, выберите формат «Дата». Убедитесь, что Excel распознает записи как даты, а не как текст.
  3. Введите формулу. В ячейку B2 вставьте: =DATEDIF(A2; СЕГОДНЯ(); "Y").
    • Примечание: В русской версии Excel разделителем аргументов является точка с запятой (;).
  4. Протяните формулу. Наведите курсор на правый нижний угол ячейки B2 (появится черный крестик) и дважды кликните или протяните вниз до конца списка.

Расчет возраста на конкретную дату

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

Пример расчета возраста на 31 декабря 2026 года:

=DATEDIF(A2; ДАТА(2026; 12; 31); "Y")

Или, если целевая дата записана в ячейке C1:

=DATEDIF(A2; C1; "Y")

Группировка по возрастным категориям

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

Пример формулы для определения статуса:

=ЕСЛИ(B2<18; "Несовершеннолетний"; ЕСЛИ(B2<65; "Трудоспособный"; "Пенсионер"))

Эту логику удобно применять для фильтрации баз данных или создания сводных таблиц.

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

  • #ИМЯ? (или #NAME?)

    • Причина: Опечатка в названии функции или использование английской версии функции в русском Excel (и наоборот).
    • Решение: Проверьте написание DATEDIF (работает в любой локали) или используйте русское название, если оно отображается в мастере функций. Убедитесь, что разделители аргументов соответствуют настройкам системы (обычно ;).
  • #ЧИСЛО! (или #NUM!)

    • Причина: Дата рождения больше текущей даты (человек еще не родился).
    • Решение: Используйте проверку ЕСЛИ, описанную выше.
  • Формула возвращает 0 или неверное значение

    • Причина: Ячейка с датой рождения имеет текстовый формат (например, "15.05.1985" воспринимается как текст).
    • Решение: Преобразуйте текст в дату через «Текст по столбцам» или измените формат ячейки и перепроверьте данные.

FAQ

Можно ли посчитать возраст в месяцах? Да, используйте код "M" вместо "Y": =DATEDIF(A2; СЕГОДНЯ(); "M"). Это вернет общее количество полных месяцев жизни.

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

Работает ли это в Google Таблицах? Да, функция DATEDIF полностью поддерживается в Google Sheets с тем же синтаксисом.