Как посчитать возраст по дате рождения
Важно: под «возрастом» обычно понимают полные годы. Если нужен точный разбор (годы, месяцы, дни или дни с учётом времени), выбирайте соответствующую формулу или инструмент.
Короткая памятка
- Если нужен только возраст в полных годах — достаточно разницы годов с проверкой месяца/дня.
- Для точного разбиения используйте DATEDIF или комбинации YEAR/TODAY/NOW.
- Для дней — DAYS, DAYS360 или простая арифметика дат.
Excel: формулы для расчёта возраста

Ниже — несколько практичных формул для Excel. Предположим, что дата рождения хранится в ячейке A1.
1) Возраст в полных годах (простой вариант)
Используйте сочетание YEAR и TODAY (или NOW):
=YEAR(TODAY())-YEAR(A1)
Этот вариант даёт разницу годов, но не учитывает, прошёл ли уже день/месяц рождения в текущем году. Чтобы исправить это и получить точный возраст в полных годах, используйте выражение:
=YEAR(TODAY())-YEAR(A1)-IF(OR(MONTH(TODAY())
Примечание: в регионах, где используется формат даты ДД.ММ.ГГГГ, Excel корректно распознаёт даты при правильных региональных настройках. Если формула не показывает число, отформатируйте ячейку как «Число» (Ctrl+1 / ⌘+1).
2) Точный разбор: годы, месяцы, дни (DATEDIF)
Функция DATEDIF — простая и надёжная для разбиения возраста:
=DATEDIF(A1,TODAY(),"Y") & " лет, " & DATEDIF(A1,TODAY(),"YM") & " мес., " & DATEDIF(A1,TODAY(),"MD") & " дн."
Примеры параметров DATEDIF:
- “Y” — полные годы между датами
- “M” — полные месяцы между датами
- “D” — дни между датами
- “YM” — месяцы, оставшиеся после вычитания полных лет
- “MD” — дни, оставшиеся после вычитания полных месяцев
3) Возраст в днях
Если нужен точный счёт дней между двумя датами:
=DAYS(TODAY(),A1)
Альтернатива (совместимость со старыми версиями Excel):
=TODAY()-A1
Также есть функция DAYS360(start,end,method) для расчёта по 360-дневному году (используется в бухгалтерии):
=DAYS360(A1,TODAY(),TRUE)
4) Форматирование и местные настройки
- Если Excel отображает дату вместо числа — измените формат ячейки на Число.
- В разных локалях даты вводят по-разному (MM/DD/YYYY vs DD.MM.YYYY). Убедитесь в правильных региональных настройках Excel.
Быстро в браузере: онлайн-калькуляторы
Если не хочется писать формулы — используйте онлайн-инструменты. Они дают готовый разбор — годы, месяцы, дни, часто с дополнительными вычислениями (например, дни жизни, часы).
Популярные типы сервисов:
- Age Calculator (точный разбор лет/мес/дн)
- Калькуляторы с визуализацией и дополнительными оценками (например, условное число сердечных сокращений и т. п.)
Важно: проверяйте политику приватности при вводе реальных дат рождения на сторонних сайтах.
Примеры в коде (для разработчиков)
Python (используя datetime):
from datetime import date
def age_in_years(birthdate: date, on_date: date = date.today()) -> int:
years = on_date.year - birthdate.year
if (on_date.month, on_date.day) < (birthdate.month, birthdate.day):
years -= 1
return yearsJavaScript (используя Date):
function ageInYears(birthDate, onDate = new Date()) {
const bd = new Date(birthDate);
let years = onDate.getFullYear() - bd.getFullYear();
if (onDate.getMonth() < bd.getMonth() || (onDate.getMonth() === bd.getMonth() && onDate.getDate() < bd.getDate())) {
years -= 1;
}
return years;
}Шпаргалка: полезные формулы
- Возраст в годах (DATEDIF):
=DATEDIF(A1,TODAY(),"Y") - Полный разбор лет/мес/дней:
=DATEDIF(A1,TODAY(),"Y") & " лет " & DATEDIF(A1,TODAY(),"YM") & " мес " & DATEDIF(A1,TODAY(),"MD") & " дн" - Возраст в днях:
=TODAY()-A1или=DAYS(TODAY(),A1) - 360-дневный год:
=DAYS360(A1,TODAY(),TRUE)
Когда расчёт может быть неверным — распространённые случаи
- Високосный день рождения (29 февраля): при вычислении «полных лет» учитывайте, что в невисокосные годы «день рождения» официально отмечают 28.02 или 01.03, в зависимости от правила.
- Часовые пояса и время рождения: если нужен возраст в секундах/часах, учитывайте часовой пояс и точное время рождения.
- Неправильный формат даты: если Excel не распознал дату, вычисления будут некорректны.
- Отсутствие времени: если сравнивают даты с учётом времени (NOW), используйте соответствующие функции.
Альтернативные подходы
- Онлайн-калькуляторы — быстро и удобно, но передаваемые данные покидают ваш компьютер.
- Мобильные приложения — могут хранить и визуализировать историю.
- Библиотеки в языках программирования (Moment.js, date-fns, Python dateutil) — для сложных подсчётов и учёта локалей.
Ментальные модели и эвристики
- Если нужна только порядковая оценка — разница годов даёт быстрое приближение, но подтверждайте месяц/день.
- Для массовых вычислений (таблица с тысячами дат) используйте векторные формулы в Excel/Google Sheets или скрипт на Python для скорости и повторяемости.
Чек-лист перед публикацией/использованием результата
- Дата рождения распознана корректно (проверьте формат).
- Указан нужный тип результата: годы / годы+месяцы+дни / дни.
- Учтены особые случаи (29 февраля, часовой пояс при необходимости).
- Если данные отправляются на сервер — проверена конфиденциальность.
Критерии приёмки
- Для одного примера: формула или скрипт возвращает ожидаемое количество полных лет по контрольным датам (включая случаи 28.02/29.02).
- Для разбиения: сумма лет, месяцев и дней корректно складывается до разницы между датами.
- Для массовой обработки: скрипт/формула корректно работает на наборе тестовых дат (минимум 100 строк).
Краткое резюме
- Используйте
DATEDIFдля удобного и корректного разбиения на годы/месяцы/дни; - Для простых задач достаточно YEAR/TODAY с проверкой месяца/дня;
- Учтите локальные форматы дат, високосные годы и часовые пояса при необходимости;
- Онлайн-инструменты удобны, но проверяйте политику приватности.
Дополнительно: если нужно, могу подготовить готовую таблицу Excel с примерами формул и тестовыми датами или скрипт на Python/JavaScript для интеграции в ваш проект.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента