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

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

Ключевой момент: Excel хранит даты как последовательные числа (начиная с 1 января 1900 года), поэтому простое вычитание даты рождения из текущей даты даст количество дней, а не лет. Например, если сегодня 15 мая 2026 года, а сотрудник родился 10 марта 1990 года, формула =ТДАТА()-B2 вернёт ~12420 дней, а не 34 года. Чтобы избежать ручного деления на 365 (что не учитывает високосные годы), используйте специализированные функции или комбинацию ЦЕЛОЕ с ДОЛЯГОДА.

1. Базовый метод: функция ДАТАРАЗН

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

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

Где:

  • 📅 B2 — ячейка с датой рождения сотрудника;
  • 🔄 ТДАТА() — текущая дата (обновляется автоматически при пересчёте таблицы);
  • 🔢 "Y" — флаг для возврата разницы в полных годах.

После расчёта возраста для каждого сотрудника примените СРЗНАЧ к столбцу с результатами. Например, если возрасты посчитаны в диапазоне C2:C100, формула будет:

=СРЗНАЧ(C2:C100)

2. Альтернативный способ: комбинация ГОД + ДОЛЯГОДА

Если ДАТАРАЗН недоступна (например, в Excel Online), используйте формулу:

=ЦЕЛОЕ(ДОЛЯГОДА(ТДАТА(); B2; 1))

Здесь:

  • 🔄 ДОЛЯГОДА вычисляет дробную разницу между датами;
  • 🔢 ЦЕЛОЕ округляет результат до полных лет;
  • 🔢 1 — метод расчёта (точный по дням).

Этот метод точнее учитывает високосные годы, но может давать погрешность ±1 год для дат рождения в конце декабря. Например, если сотрудник родился 30 декабря 1990 года, а сегодня 1 января 2026 года, формула вернёт 33 вместо 34.

Почему ДОЛЯГОДА иногда ошибается на 1 год?

Функция ДОЛЯГОДА считает дробную часть года от даты рождения до текущей даты. Если на момент расчёта не прошёл день рождения сотрудника в текущем году, результат будет меньше 1, и ЦЕЛОЕ округлит его в меньшую сторону. Например, для даты рождения 15 июля 1990 года и текущей даты 10 мая 2026 года формула вернёт 33, хотя фактически человеку ещё 32.

3. Расчёт среднего возраста без промежуточного столбца

Если не хотите создавать дополнительный столбец с возрастами, используйте формулу массива:

=СРЗНАЧ(ДАТАРАЗН(B2:B100; ТДАТА(); "Y"))

Введите её как формулу массива (в старых версиях Excel нажмите Ctrl+Shift+Enter). Это сработает, если:

  • ✅ Все даты рождения в одном столбце (например, B2:B100);
  • ✅ Нет пустых ячеек или текста в диапазоне;
  • ❌ Не подходит для Excel Online (там формулы массива ограничены).

Функция ДАТАРАЗН|Комбинация ГОД + ДОЛЯГОДА|Формула массива|Другой вариант-->

4. Типичные ошибки и как их избежать

Даже опытные пользователи допускают ошибки при расчёте среднего возраста. Вот самые распространённые:

ОшибкаПричинаРешение
Результат в формате даты (например, "15.05.1989")Excel интерпретирует разницу как дату, а не числоПримените формат ячеек Общий или Числовой
Средний возраст = 43256 летПопытка усреднить даты рождения напрямую через СРЗНАЧСначала рассчитайте возраст для каждой строки
Округление до ближайшего года (например, 33.99 → 34)Использована функция ОКРУГЛ вместо ЦЕЛОЕДля полных лет используйте ЦЕЛОЕ или ДАТАРАЗН
#ИМЯ? в ячейкеОпечатка в названии функции или английская локализацияПроверьте регистр и язык функции (например, DATEDIF вместо ДАТАРАЗН)
⚠️ Внимание: Если в данных есть сотрудники, родившиеся после текущей даты (например, опечатка в году рождения как "2050" вместо "1950"), функция ДАТАРАЗН вернёт отрицательное значение. Это исказит средний возраст. Добавьте проверку:
=ЕСЛИ(ДАТАРАЗН(B2; ТДАТА(); "Y")<0; "Ошибка"; ДАТАРАЗН(B2; ТДАТА(); "Y"))

5. Автоматизация: динамический расчёт с Power Query

Для больших таблиц (1000+ строк) удобнее использовать Power Query:

  1. Выделите исходные данные → ДанныеИз таблицы/диапазона;
  2. В редакторе Power Query добавьте настраиваемый столбец с формулой:
=Date.Year(DateTime.LocalNow()) - Date.Year([Дата рождения]) - If(DateTime.LocalNow().Month < [Дата рождения][Month] Or (DateTime.LocalNow().Month = [Дата рождения][Month] And DateTime.LocalNow().Day < [Дата рождения][Day]), 1, 0)

Эта формула учитывает, прошёл ли день рождения в текущем году. После загрузки данных в Excel средний возраст можно посчитать стандартной функцией СРЗНАЧ.

📌 Убедитесь, что столбец с датами рождения имеет формат "Дата"|📌 Удалите пустые строки и ячейки с текстом ("Н/Д", "неизвестно")|📌 Проверьте отсутствие дат рождения в будущем (год > текущего)|📌 Сохраните исходную таблицу как "Умную таблицу" (Ctrl+T) для автоматического обновления-->

6. Визуализация результатов: гистограмма распределения возрастов

Средний возраст — полезная метрика, но для HR-анализа важно увидеть распределение сотрудников по возрастным группам. Создайте гистограмму:

  1. Рассчитайте возраст каждого сотрудника (см. методы выше);
  2. Добавьте столбец с возрастными группами (например, "18-25", "26-35") с помощью ВПР или ЕСЛИМН:
=ЕСЛИМН(C2<18; "До 18"; C2<=25; "18-25"; C2<=35; "26-35"; ...)
  1. Постройте Гистограмму (ВставкаДиаграммыГистограмма) по столбцу с группами.

Пример распределения для компании из 50 сотрудников:

Возрастная группаКоличество сотрудников% от общего числа
18–25510%
26–352244%
36–451530%
46–55612%
56+24%
⚠️ Внимание: При построении гистограммы Excel может автоматически группировать данные по интервалам (например, "20-25", "25-30"). Если границы групп важны для анализа (например, по трудовому законодательству), настройте интервалы вручную через Формат осиПараметры осиИнтервал между делениями.

7. Продвинутый анализ: медиана, мода и квартили

Средний возраст чувствителен к выбросам (например, 1-2 сотрудника предпенсионного возраста могут значительно увеличить среднее). Для более точного анализа рассчитайте:

  • 📊 Медиану (возраст "серединного" сотрудника): =МЕДИАНА(C2:C100);
  • 📈 Моду (самый частый возраст): =МОДА.ОДН(C2:C100) (в Excel 2019+);
  • 📉 Квартили (границы 25% самых молодых/старших сотрудников): =КВАРТИЛЬ(C2:C100; 1) и =КВАРТИЛЬ(C2:C100; 3).

Пример интерпретации:

  • 🔹 Средний возраст = 34 года;
  • 🔹 Медиана = 32 года → половина сотрудников младше 32 лет;
  • 🔹 Нижний квартиль (25%) = 27 лет → четверть сотрудников младше 27;
  • 🔹 Верхний квартиль (75%) = 40 лет → четверть старше 40.

FAQ: Частые вопросы о расчёте среднего возраста

Можно ли посчитать средний возраст без Excel, например в Google Таблицах?

Да, в Google Sheets используйте те же формулы, но с английскими названиями:

  • =AVERAGE(ARRAYFORMULA(DATEDIF(B2:B100; TODAY(); "Y"))) — аналог формулы массива;
  • =DATEDIF(B2; TODAY(); "Y") — для отдельной ячейки.

Обратите внимание: в Google Таблицах DATEDIF всегда доступна, в отличие от Excel.

Как обновить средний возраст автоматически каждый день?

Функция ТДАТА() обновляется при каждом открытии файла или пересчёте (F9). Чтобы принудительно обновить данные:

  1. Нажмите ФормулыВычислить сейчас (F9);
  2. Или настройте автоматический пересчёт в ФайлПараметрыФормулыАвтоматически.

Для ежедневного обновления без открытия файла используйте Power Automate (Microsoft 365) или макрос VBA с таймером.

Что делать, если в данных есть только год рождения (без месяца и дня)?

Если известен только год, используйте приблизительный расчёт:

=ТДАТА()-ДАТА(GOD(B2); 1; 1)

Затем разделите результат на 365:

=ЦЕЛОЕ((ТДАТА()-ДАТА(GOD(B2); 1; 1))/365)

Этот метод даёт погрешность ±1 год, так как не учитывает точную дату рождения.

Как посчитать средний возраст по отделам?

Используйте функцию СРЗНАЧЕСЛИ:

=СРЗНАЧЕСЛИ(Диапазон_возрастов; Диапазон_отделов; "Отдел1")

Пример: если возрасты в столбце C, а отделы в D, формула для отдела "Маркетинг":

=СРЗНАЧЕСЛИ(C2:C100; D2:D100; "Маркетинг")

Для нескольких условий (например, отдел + пол) используйте СРЗНАЧЕСЛИМН.

Почему средний возраст в Excel отличается от ручного расчёта?

Разница обычно возникает из-за:

  • 🗓 Неучёта високосных годов: Excel точнее считает дни между датами;
  • 🔢 Округления: функции ЦЕЛОЕ и ОКРУГЛ дают разные результаты;
  • Времени суток: если текущая дата — 15 мая 2026, 23:59, а дата рождения — 16 мая 1990, Excel ещё не засчитает +1 год.

Для проверки вручную используйте калькулятор разницы дат (например, PlanetCalc).