Menu

Как посчитать возраст в Excel (эксель) по дате рождения

=РАЗНДАТ(B2;СЕГОДНЯ();"Y") возвращает возраст в полных годах человека, родившегося в дату из B2. Возраст на определённую дату, в годах, месяцах и днях и без РАЗНДАТ.

Каждая таблица на этой странице живая: измените число или формулу, и она пересчитается.

=РАЗНДАТ(B2;СЕГОДНЯ();"Y") возвращает возраст в полных годах человека, родившегося в дату из B2. РАЗНДАТ (по-английски DATEDIF) считает полные годы между двумя датами, а СЕГОДНЯ() (TODAY) даёт вторую дату, поэтому возраст увеличивается на единицу в каждый день рождения. В таблице ниже формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой.

Возраст по дате рождения
C2
ABC
1NameBornAge
2Ana1990-05-1436
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =РАЗНДАТ(B2;СЕГОДНЯ();"Y")

Возраст в столбце C считается от сегодняшней даты, поэтому он меняется в течение года. Измените дату рождения в столбце B, и возраст рядом изменится. У формулы три аргумента: начальная дата (дата рождения), конечная дата (сегодня) и единица, "Y" для полных лет.

Возраст на определённую дату

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

Возраст на заданную дату
C2
ABCDEF
1NameBornAgeAs of
2Ana1990-05-14362026-10-01
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =РАЗНДАТ(B2;$F$2;"Y")

На 2026-10-01 Ana 36 лет, а Dan 47: его день рождения 10 октября ещё не наступил. Замените F2 на 2026-10-10, и Dan исполнится 48. Этот вариант к тому же даёт одинаковый результат при каждом открытии файла, а это важно, когда возраст попадает в отчёт. Другие единицы описаны на странице РАЗНДАТ.

Возраст в годах, месяцах и днях

У РАЗНДАТ есть единицы для частей, которые остаются после полных лет: "YM" считает месяцы после последнего полного года, а "MD" дни после последнего полного месяца. Соедините все три через &, чтобы записать возраст текстом.

Годы, месяцы и дни
E2
ABCDEF
1BornYearsMonthsDaysAgeAs of
21990-05-143641736 years, 4 months, 17 days2026-10-01
31978-10-1047112147 years, 11 months, 21 days
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =B2&" years, "&C2&" months, "&D2&" days"

От 1990-05-14 до 2026-10-01 проходит 36 лет, 4 месяца и 17 дней. Microsoft не советует пользоваться единицей "MD", потому что в некоторых случаях, например при дате рождения 31-го числа, она может вернуть отрицательное или неверное число дней. Проверяйте число дней, когда дата рождения приходится на 29-е, 30-е или 31-е.

Возраст без РАЗНДАТ

РАЗНДАТ работает во всех версиях Excel, но её нет в списке функций и в автозавершении формул, поэтому некоторые предпочитают ДОЛЯГОДА (YEARFRAC). ДОЛЯГОДА(start;end;1) возвращает число лет между двумя датами как десятичную дробь, учитывая настоящую длину каждого года (базис 1). ЦЕЛОЕ (INT) отбрасывает дробную часть.

РАЗНДАТ и ДОЛЯГОДА рядом
D2
ABCD
1BornAs ofDATEDIFYEARFRAC
21990-05-142026-10-013636
31978-10-102026-10-014747
42010-07-042026-10-011616
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ЦЕЛОЕ(ДОЛЯГОДА(A2;B2;1))

Оба столбца совпадают: 36, 47 и 16. Без ЦЕЛОЕ ДОЛЯГОДА для последней строки возвращает около 16,24, и это удобно, когда возраст нужен десятичной дробью, например в статистической таблице.

Почему не делить на 365

Частое сокращение это =ЦЕЛОЕ((F2-B2)/365): число прожитых дней, делённое на число дней в году. Високосные годы добавляют день раз в четыре года, поэтому через несколько десятилетий формула доходит до следующего возраста раньше дня рождения: для 48-летия на 12 дней раньше.

Деление на 365 ошибается рядом с днём рождения
D2
ABCDE
1BornAs ofDays livedDivide by 365DATEDIF
21990-05-142026-10-01132893636
31978-10-102026-10-01175234847
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ЦЕЛОЕ(C2/365)

Для человека, родившегося 1978-10-10, деление на 365 говорит, что 2026-10-01 ему 48, за девять дней до 48-летия. РАЗНДАТ говорит 47. Деление на 365,25 исправляет большинство строк, но на некоторых датах всё равно ошибается, поэтому используйте РАЗНДАТ или ДОЛЯГОДА.

Практика: возраст в первый школьный день

Ваша очередь
C2
ABCDE
1NameBornAgeAs of
2Ana2012-04-172026-09-01
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В C2 посчитайте возраст Ana в полных годах на дату из E2.

Скрытые проверки меняют дату в E2, поэтому формула должна её читать.

Почему возраст показан как дата

Если ввести формулу возраста в ячейку, где уже стоит дата, или в столбец с форматом даты, Excel сохранит формат даты и покажет 36 как 1900-02-05 (36-й день системы дат Excel; при американских настройках 2/5/1900). Число под ним верное. Выделите ячейки и выберите Главная > Числовой формат > Общий (или нажмите Ctrl+Shift+~, на Mac Control+Shift+~), и появится возраст.

Часто задаваемые вопросы

Какая формула считает возраст в Excel?

=РАЗНДАТ(B2;СЕГОДНЯ();"Y"), где дата рождения стоит в B2. Она считает полные годы от даты рождения до сегодня, поэтому возраст увеличивается в сам день рождения, а не раньше.

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

Поставьте дату в ячейку и используйте её вместо СЕГОДНЯ(): =РАЗНДАТ(B2;$F$2;"Y") даёт возраст на дату в F2. Знаки $ закрепляют F2, когда формула протягивается вниз.

Как посчитать возраст в Excel без РАЗНДАТ?

Используйте =ЦЕЛОЕ(ДОЛЯГОДА(B2;СЕГОДНЯ();1)). ДОЛЯГОДА возвращает число лет между двумя датами как десятичную дробь, а ЦЕЛОЕ оставляет полные годы.

Почему формула возраста показывает дату вроде 1900-01-30?

У ячейки формат даты, поэтому возраст 30 показан как 30-й день календаря Excel. Выделите ячейку и выберите на вкладке Главная числовой формат Общий.

Почему делить на 365 для возраста неправильно?

Високосные годы добавляют день раз в четыре года, поэтому =ЦЕЛОЕ((СЕГОДНЯ()-B2)/365) засчитывает день рождения на несколько дней раньше: человеку, родившемуся 1978-10-10, по этой формуле 2026-10-01 уже 48, за девять дней до 48-летия. РАЗНДАТ считает календарные годы, и такой ошибки у неё нет.

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ