Как рассчитать возраст в Excel, зная дату рождения: формулы и примеры

Введение: зачем считать возраст в Excel?

Расчет возраста по дате рождения — одна из самых востребованных задач в Microsoft Excel. Она актуальна для HR-специалистов, которые ведут кадровый учет, для медицинских работников при анализе пациентов, для педагогов при формировании классных журналов. Даже в личных целях — например, при составлении генеалогического древа — умение автоматически вычислять возраст экономит часы ручной работы.

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

1. Базовый расчет: только полные годы

Самый простой способ — вычесть дату рождения из текущей даты и разделить на 365. Но этот метод неточен: он игнорирует високосные годы и может давать погрешность до ±1 дня. Тем не менее, для приблизительных расчетов его достаточно.

Формула выглядит так:

=ЦЕЛОЕ((СЕГОДНЯ()-A2)/365)

где A2 — ячейка с датой рождения. Функция ЦЕЛОЕ() отбрасывает дробную часть, оставляя только полные годы.

  • ✅ Простота: подходит для новичков
  • ✅ Быстро работает с большими массивами данных
  • ❌ Погрешность: не учитывает високосные годы (29 февраля)
  • ❌ Не показывает месяцы и дни
📊 Какой метод расчета возраста вы используете чаще?
Ручной подсчет
Формулы Excel
Онлайн-калькуляторы
Специальные программы

2. Точный расчет с функцией РАЗНДАТ

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

Синтаксис:

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

где:

  • A2 — дата рождения,
  • "Y" — код для вывода полных лет ("M" — полные месяцы, "D" — дни).

Код Значение Пример результата
"Y" Полные годы 25
"M" Полные месяцы (без учета лет) 305
"D" Полные дни (без учета месяцев) 9280
"YM" Месяцы с вычетом полных лет 7
"MD" Дни с вычетом полных месяцев 15
⚠️ Внимание: Функция РАЗНДАТ не документирована в официальной справке Excel, но работает во всех версиях программы. В Excel 2019 и новее ее можно найти через автозаполнение.

3. Расчет возраста с месяцами и днями

Чтобы получить возраст в формате "X лет Y месяцев Z дней", потребуется комбинировать несколько функций. Вот универсальная формула:

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

Пример результата: 25 лет, 7 мес., 15 дн.. Если нужно вывести только годы и месяцы, удалите последнюю часть формулы.

Убедиться, что дата рождения в формате ДД.ММ.ГГГГ|

Проверить отсутствие ошибок #ИМЯ? или #ЗНАЧ!|

Сравнить результат с ручным подсчетом для 2-3 дат|

Отформатировать ячейку как "Общий" или "Текст"-->

Для автоматического склонения слов ("год", "года", "лет") потребуется вложенная функция ЕСЛИ:

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

ЕСЛИ(ИЛИ(РАЗНДАТ(A2;СЕГОДНЯ();"Y")=1;ПРАВСИМВ(РАЗНДАТ(A2;СЕГОДНЯ();"Y");1)="1");" год";ЕСЛИ(И(ПРАВСИМВ(РАЗНДАТ(A2;СЕГОДНЯ();"Y");1)>1;ПРАВСИМВ(РАЗНДАТ(A2;СЕГОДНЯ();"Y");1)<5);" года";" лет"))

4. Динамический расчет с учетом будущих дат

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

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

где B2 — ячейка с целевой датой (например, 01.09.2026).

Для анализа возрастной структуры команды можно построить сводную таблицу:

  1. Выделите столбец с возрастом.
  2. Перейдите на вкладку Вставка → Сводная таблица.
  3. Перетащите поле "Возраст" в область строк и значений.
  4. Настройте группировку по диапазонам (18-25, 26-35 и т.д.).

5. Продвинутый метод: возраст в годах с десятичной частью

Для аналитических задач иногда требуется возраст в формате 25.5 (25 с половиной лет). Это можно сделать с помощью формулы:

=РАЗНДАТ(A2;СЕГОДНЯ();"Y") + (РАЗНДАТ(A2;СЕГОДНЯ();"YM") + РАЗНДАТ(A2;СЕГОДНЯ();"MD")/30)/12

Эта формула:

  1. Считает полные годы (РАЗНДАТ(...;"Y")).
  2. Добавляет дробную часть: месяцы делятся на 12, а дни — на 360 (12×30).

⚠️ Внимание: При таком расчете 1 месяц всегда равен 30 дням, что может давать погрешность до ±2 дней для месяцев с 28 или 31 днем. Для точных медицинских или юридических расчетов используйте специализированное ПО.
Как округлить результат до 1 знака после запятой?

Используйте функцию ОКРУГЛ():

=ОКРУГЛ(РАЗНДАТ(A2;СЕГОДНЯ();"Y") + (РАЗНДАТ(A2;СЕГОДНЯ();"YM") + РАЗНДАТ(A2;СЕГОДНЯ();"MD")/30)/12;1)

Это даст результат вида 25.6 вместо 25.583...

6. Автоматизация: создание выпадающего календаря

Чтобы упростить ввод дат рождения, добавьте в ячейку выпадающий календарь:

  1. Выделите ячейку (например, A2).
  2. Перейдите на вкладку Данные → Работа с данными → Проверка данных.
  3. В поле "Тип данных" выберите Дата.
  4. Укажите диапазон (например, с 01.01.1900 по 31.12.2050).

Теперь при клике на ячейку будет появляться календарь для удобного выбора даты. Это снижает риск ошибок при ручном вводе (например, 31.02.2020).

7. Ошибки и их решения

Даже с правильными формулами можно столкнуться с ошибками. Рассмотрим типовые проблемы:

  • 🔴 #ИМЯ? — опечатка в названии функции. Проверьте регистр: РАЗНДАТ, а не разндат.
  • 🔴 #ЗНАЧ! — неверный формат даты. Преобразуйте текст в дату с помощью ДАТАЗНАЧ():
    =РАЗНДАТ(ДАТАЗНАЧ(A2);СЕГОДНЯ();"Y")
  • 🔴 Неправильный возраст — проверьте региональные настройки. В американском формате сначала идет месяц: MM/DD/YYYY.

Если формула возвращает отрицательное значение, значит дата рождения в будущем (опечатка в годе). Используйте проверку:

=ЕСЛИ(A2>СЕГОДНЯ();"Ошибка даты";РАЗНДАТ(A2;СЕГОДНЯ();"Y"))

FAQ: Частые вопросы

Можно ли рассчитать возраст в Google Таблицах?

Да, все формулы работают и в Google Sheets, но функция называется DATEDIF (без перевода). Пример:

=DATEDIF(A2;TODAY();"Y")

Также в Google Таблицах есть функция =YEARFRAC() для дробного возраста.

Как посчитать возраст для даты смерти (например, исторических личностей)?

Замените СЕГОДНЯ() на дату смерти:

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

где A2 — дата рождения, B2 — дата смерти.

Почему формула показывает на 1 год меньше?

Скорее всего, человек еще не отпраздновал день рождения в этом году. Функция РАЗНДАТ считает только полные годы. Например, если сегодня 10 января 2026, а день рождения 15 декабря 1998, возраст будет 25 лет, а не 26.

Как посчитать средний возраст группы людей?

Используйте функцию СРЗНАЧ для столбца с возрастом:

=СРЗНАЧ(B2:B100)

где B2:B100 — диапазон с возрастом в годах.

Можно ли сделать так, чтобы возраст обновлялся автоматически?

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