Как в Excel посчитать, сколько лет человеку исполняется в этом году: 5 проверенных способов

Вы когда-нибудь сталкивались с задачей быстро рассчитать возраст десятков или сотен людей по их датам рождения? Ручное вычитание года из текущего — утомительное и чреватое ошибками занятие, особенно если нужно учитывать, прошёл ли уже день рождения в этом году. К счастью, Microsoft Excel предлагает несколько автоматизированных способов решить эту задачу — от простейших формул до универсальных функций, которые учитывают месяцы и дни.

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

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

Самый быстрый, но и самый неточный способ — просто вычесть год рождения из текущего года. Этот метод подходит, если вам нужны приблизительные данные (например, для статистики) и не важно, отметил ли человек день рождения в 2026 году.

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

=ГОД(СЕГОДНЯ()) - ГОД(A2)

Где A2 — ячейка с датой рождения. Например, если в A2 указана дата 15.07.1990, формула вернёт 34 (2026 - 1990).

  • Плюсы: максимально простая формула, работает даже в старых версиях Excel.
  • Минусы: не учитывает, прошёл ли день рождения в текущем году. Например, если сегодня 10.01.2026, а день рождения 15.07.1990, формула покажет 34, хотя человеку ещё 33.
⚠️ Внимание: Этот метод даёт завышенные результаты для тех, кто ещё не отметил день рождения в текущем году. Используйте его только для ориентировочных расчётов!

Метод 2: Точный расчёт с учётом месяца и дня (функция ДАТАРАЗН)

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

Синтаксис функции:

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

Где:

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

Пример: если сегодня 10.01.2026, а дата рождения 15.07.1990, формула вернёт 33 (поскольку день рождения ещё не наступил). После 15.07.2026 результат автоматически обновится до 34.

Дата рождения Текущая дата Формула Результат
15.07.1990 10.01.2026 =ДАТАРАЗН(A2; СЕГОДНЯ(); "Y") 33
15.07.1990 16.07.2026 =ДАТАРАЗН(A2; СЕГОДНЯ(); "Y") 34
29.02.2000 01.03.2026 =ДАТАРАЗН(A2; СЕГОДНЯ(); "Y") 24

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

Почему функция ДАТАРАЗН скрыта в Excel?

Функция ДАТАРАЗН не отображается в мастер-функций Excel, так как является наследием программы Lotus 1-2-3. Однако она полностью работоспособна и поддерживается Microsoft для обеспечения совместимости.

Метод 3: Универсальная формула с ЕСЛИ и И

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

Пример формулы, которая возвращает возраст и добавляет пометку для лиц младше 18 лет:

=ЕСЛИ(ДАТАРАЗН(A2; СЕГОДНЯ(); "Y")<18; ДАТАРАЗН(A2; СЕГОДНЯ(); "Y") & " (несовершеннолетний)"; ДАТАРАЗН(A2; СЕГОДНЯ(); "Y"))

Как это работает:

  1. Сначала рассчитывается возраст с помощью ДАТАРАЗН.
  2. Функция ЕСЛИ проверяет, меньше ли результат 18.
  3. Если да — добавляет текст " (несовершеннолетний)".

Эту формулу можно адаптировать для других целей, например:

  • 🎂 Выделение юбиляров (=ЕСЛИ(ОСТАТ(ДАТАРАЗН(A2; СЕГОДНЯ(); "Y"); 5)=0; "Юбилей!"; "")).
  • 👶 Отметка новорождённых (=ЕСЛИ(ДАТАРАЗН(A2; СЕГОДНЯ(); "Y")=0; "Новорождённый"; "")).
  • 🎓 Фильтрация выпускников (=ЕСЛИ(ДАТАРАЗН(A2; СЕГОДНЯ(); "Y")>=17; "Выпускник"; "")).
📊 Какой метод расчёта возраста вы используете чаще?
Ручной подсчёт
Функция ДАТАРАЗН
Вычитание года
Другие формулы
Не знаю, как считать

Метод 4: Автоматическое обновление возраста при открытии файла

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

Шаги для настройки автоматического обновления:

  1. Вставьте формулу =ДАТАРАЗН(A2; СЕГОДНЯ(); "Y") в нужную ячейку.
  2. Перейдите в Файл → Параметры → Формулы.
  3. В разделе Параметры вычислений выберите Автоматически, кроме таблиц.
  4. Поставьте галочку Пересчитывать книгу при сохранении.

Теперь возраст будет обновляться:

  • 📅 При каждом открытии файла.
  • 💾 При сохранении (Ctrl + S).
  • 🔄 При ручном пересчёте (F9).
⚠️ Внимание: Если файл открыт постоянно (например, на сервере), Excel не будет обновлять СЕГОДНЯ() в реальном времени. Для этого потребуется VBA-скрипт или Power Query.

Вставить формулу с ДАТАРАЗН и СЕГОДНЯ|Открыть Параметры Excel (Файл → Параметры)|Выбрать "Автоматически, кроме таблиц"|Включить "Пересчитывать книгу при сохранении"|Сохранить файл-->

Метод 5: Расчёт возраста с учётом месяцев и дней (полный разбор)

Иногда недостаточно знать только полные годы — например, для медицинских карт или кадрового учёта требуется указать возраст в формате 33 года 5 месяцев 10 дней. Для этого модифицируем функцию ДАТАРАЗН, добавив параметры "YM" (месяцы) и "MD" (дни).

Формула для полного разбора:

=ДАТАРАЗН(A2; СЕГОДНЯ(); "Y") & " г. " & ДАТАРАЗН(A2; СЕГОДНЯ(); "YM") & " м. " & ДАТАРАЗН(A2; СЕГОДНЯ(); "MD") & " д."

Расшифровка параметров ДАТАРАЗН:

  • "Y" — полные годы.
  • "YM" — месяцы с учётом полных лет (например, если разница 1 год и 2 месяца, вернёт 2).
  • "MD" — дни с учётом полных лет и месяцев.

Пример результата для даты рождения 15.07.1990 при текущей дате 10.01.2026:

33 г. 5 м. 26 д.

Эту формулу можно адаптировать под нужный формат:

  • 📅 Для краткости: =ДАТАРАЗН(A2; СЕГОДНЯ(); "Y") & " лет".
  • 📊 Для отчётов: =ДАТАРАЗН(A2; СЕГОДНЯ(); "Y") & " г., " & ДАТАРАЗН(A2; СЕГОДНЯ(); "YM") & " м.".
  • 🩺 Для медицины: добавьте проверку на неполные месяцы (ЕСЛИ(ДАТАРАЗН(A2; СЕГОДНЯ(); "MD")>0; " + дней"; "")).

Распространённые ошибки и как их избежать

Даже с правильными формулами в расчёте возраста можно допустить ошибки. Вот TOP-5 проблем и их решения:

  1. Ошибка #1: Формат ячейки с датой рождения не распознан.

    Excel может воспринимать дату как текст (например, 15.07.1990 отображается как 15-Июл). Решение: выделите столбец → Формат ячеек → Дата.

  2. Ошибка #2: Формула не обновляется.

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

  3. Ошибка #3: Неправильный результат для 29 февраля.

    ДАТАРАЗН корректно обрабатывает високосные годы, но если дата введена как текст ("29.02.2000"), формула вернёт ошибку. Решение: используйте функцию ДАТАЗНАЧ для преобразования текста в дату:

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

  4. Ошибка #4: Формула копируется с ошибками.

    При протягивании формулы вниз Excel может неправильно изменить ссылки. Решение: используйте абсолютные ссылки ($A2) или таблицы Excel.

  5. Ошибка #5: Разница в часовых поясах.

    Если даты рождения вводятся в разных часовых поясах, СЕГОДНЯ() может дать неточный результат. Решение: используйте фиксированную дату (=ДАТА(2026; 1; 1)) вместо СЕГОДНЯ() для отчётов.

Критическая ошибка: если дата рождения в будущем (например, опечатка 15.07.2030 вместо 1990), формула вернёт отрицательное значение. Добавьте проверку: =ЕСЛИ(ДАТАРАЗН(A2; СЕГОДНЯ(); "Y")<0; "Ошибка даты"; ДАТАРАЗН(A2; СЕГОДНЯ(); "Y")).

Практические примеры применения

Расчёт возраста в Excel полезен не только для личных нужд, но и в профессиональных задачах. Вот несколько реальных кейсов с готовыми решениями:

Задача Формула Пример результата
Определение возрастной группы (до 18, 18–30, 30+) =ЕСЛИ(ДАТАРАЗН(A2;СЕГОДНЯ();"Y")<18;"Детская";ЕСЛИ(ДАТАРАЗН(A2;СЕГОДНЯ();"Y")<=30;"Молодёжь";"Взрослые")) "Молодёжь"
Расчёт стажа работы (даты приёма и увольнения) =ДАТАРАЗН(B2; C2; "Y") & " лет " "5 лет 2 месяца"
Проверка на юбилей (кратный 5 годам) =ЕСЛИ(ОСТАТ(ДАТАРАЗН(A2;СЕГОДНЯ();"Y");5)=0;"Юбилей!";"") "Юбилей!"
Фильтрация пенсионеров (женщины 55+, мужчины 60+) =ЕСЛИ(И(ДАТАРАЗН(A2;СЕГОДНЯ();"Y")>=55; B2="Ж");"Пенсионер";ЕСЛИ(И(ДАТАРАЗН(A2;СЕГОДНЯ();"Y")>=60; B2="М");"Пенсионер";"")) "Пенсионер"

Для автоматизации рутинных задач (например, ежемесячной рассылки поздравлений) комбинируйте формулы с условным форматированием:

  1. Выделите столбец с возрастом.
  2. Перейдите в Главная → Условное форматирование → Создать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. Установите условие: Значение равно = "Юбилей!" и задайте цвет (например, золотой).

FAQ: Ответы на частые вопросы

Можно ли посчитать возраст без функции ДАТАРАЗН?

Да, например, так:

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

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

Как посчитать возраст на конкретную дату (не сегодня)?

Замените СЕГОДНЯ() на фиксированную дату, например:

=ДАТАРАЗН(A2; ДАТА(2026;12;31); "Y")

Эта формула покажет, сколько лет человеку будет на 31.12.2026.

Почему Excel показывает ошибку #ИМЯ? вместо возраста?

Ошибка #ИМЯ? возникает, если:

  • Функция ДАТАРАЗН введена с опечаткой (проверьте регистр: ДАТАРАЗН, а не ДатаРазн).
  • Ячейка с датой рождения пустая или содержит текст (например, "15 июля" вместо 15.07.1990).
  • В вашей версии Excel отключена поддержка скрытых функций (решается обновлением программы).
Как посчитать возраст в Google Таблицах?

В Google Sheets используйте ту же функцию DATEDIF (она там официально поддерживается):

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

Альтернатива — формула:

=YEAR(TODAY()) - YEAR(A2) - IF(OR(MONTH(TODAY())
Можно ли автоматически отправлять поздравления по дате рождения?

Да, для этого:

  1. Создайте столбец с формулой, проверяющей совпадение месяца и дня:
    =И(МЕСЯЦ(A2)=МЕСЯЦ(СЕГОДНЯ()); ДЕНЬ(A2)=ДЕНЬ(СЕГОДНЯ()))
  2. Настройте условное форматирование для выделения строк с ИСТИНА.
  3. Используйте Power Automate (Microsoft) или Apps Script (Google) для автоматической отправки email.