Как рассчитать возраст в Excel (DATEDIF и YEARFRAC) + бесплатный шаблон
Пошаговые формулы Excel для расчета возраста по дате рождения с использованием РАЗДАТ, ДОЛЯ ГОДА и СЕГОДНЯ(). Включает практические примеры, советы по устранению неполадок и бесплатный онлайн-калькулятор возраста.
Вычисление возраста в Excel - одна из наиболее распространенных задач, связанных с электронными таблицами, независимо от того, управляете ли вы записями сотрудников, отслеживаете дни рождения клиентов или создаете школьную базу данных. В этом подробном руководстве описаны все необходимые вам методы: от простых расчетов по годам до точной разбивки по годам, месяцам и дням.
Оглавление
Перед началом: форматирование даты Основы
Метод 1: DATEDIF – Возраст в полных годах
Метод 2: Возраст в годах, месяцах, и дни
Метод 3: Рассчитать возраст на определенную дату
Метод 4: ДОЛЯ ГОДА – Возраст с десятичными дробями
Метод 5: вычисление возраста для нескольких строк
Бонус: дней до следующего День рождения
Таблица сравнения методов
Распространенные проблемы и Решения
Excel и Google Таблицы
Онлайн Альтернатива
Часто задаваемые вопросы
Перед началом: форматирование даты Основы
Прежде чем углубляться в формулы, убедитесь, что даты отформатированы правильно. Excel различает фактические даты и текст, похожий на даты, - и эта разница имеет значение.
Как проверить, содержит ли ячейка действительное число дата:
Нажмите на ячейку с вашей датой
Посмотрите на строку формул - если она есть показывает число (например, 45678), это реальная дата
Если отображается текст (например, «15.01.1990»), Excel воспринимает его как строка
Преобразование текста в даты:
Если ваша дата сохранена в виде текста, преобразуйте ее сначала:
=DATEVALUE(A2)Затем отформатируйте ячейку результата как дату (щелкните правой кнопкой мыши → Форматировать ячейки → Дата).
Важно: Различные локали интерпретируют форматы даты по-разному. «02.01.2000» может означать 2 января (США) или 1 февраля (Европа). Всегда проверяйте правильность синтаксического анализа дат.
Метод 1: РАЗДАТ – возраст в полных годах
Функция РАЗДАТ – это самый простой способ рассчитать возраст в Excel. Возвращает количество полных лет между двумя датами.
Формула:
=DATEDIF(A2, TODAY(), "Y")Где:
A2= ячейка, содержащая дату рожденияTODAY()= текущая дата (обновления автоматически)"Y"= возврат завершен лет
Пример:
[[[TA G_130]]]A
B[[[TAG_143]] ]
Дата из Рождение
Возраст
1990-03-15
=DATEDIF(A2, СЕГОДНЯ(), "Y")
=DATEDIF(A3, СЕГОДНЯ(), "Y")
=DATEDIF(A4, СЕГОДНЯ(), "Y")
Результат (по состоянию на январь 2026):
Дата из Рождение | Возраст [ [[TAG_206]]] |
|---|---|
15 марта 1990 г. | 35 [[[TAG_ 216]]] |
22 июля 1985[[[TAG_ 221]]] | 40 | [ [[TAG_227]]]
01 декабря 2000 г. [ [[TAG_232]]] | 25 | [[[TAG_2 37]]]
Примечание: РАЗНДАТ - это «скрытая» функция в Excel, она не отображается при автозаполнении, но работает отлично. Просто введите его вручную.
Метод 2: Возраст в годах, месяцах и днях
Для ситуаций, требующих точного возраста (медицинские записи, юридические документы, системы управления персоналом), вам понадобится полный разбивка.
Отдельные формулы:
Годы: =DATEDIF(A2, TODAY(), "Y")
Месяцы: =DATEDIF(A2, СЕГОДНЯ(), "ГМ")
Дни: =DATEDIF(A2, TODAY(), "MD")Второй параметр коды:
"Y"= всего завершено годы"YM"= оставшиеся месяцы после завершения годы"MD"= оставшиеся дни после завершения месяцев
Формула «все в одном» (одна ячейка):
=DATEDIF(A2,TODAY(),"Y") & " годы, " & DATEDIF(A2,TODAY(),"YM") & " месяцы, " & DATEDIF(A2,TODAY(),"MD") & " дней"Пример вывода: "35 лет, 10 месяцев, 12 дней"
Профессиональное форматирование с метками:
Для более четкого вывода можно добавить условное выражение форматирование:
=DATEDIF(A2,TODAY(),"Y") & IF(DATEDIF(A2,TODAY(),"Y")=1," год, "," годы, ") & DATEDIF(A2,TODAY(),"YM") & IF(DATEDIF(A2,TODAY(),"YM")=1," месяц, "," месяцы, ") & DATEDIF(A2,TODAY(),"MD") & IF(DATEDIF(A2,TODAY(),"MD")=1," день"," дни")Это обрабатывает правильное единственное/множественное число (например, «1 год» против «2 года»).
Метод 3: вычислить возраст на определенную дату
Иногда вам необходимо рассчитать возраст на конкретную дату, а не на сегодняшний день - например, возраст на момент события, возраст на момент регистрации или возраст на исторический дата.
Формула:
=DATEDIF(A2, B2, "Y")Где:
A2= дата рожденияB2= базовая дата (дата события, дата регистрации, и т. д.)
Пример: возраст сотрудника при приеме на работу дата
Имя | Дата рождения | Дата приема на работу | Возраст в Наймите |
|---|---|---|---|
Джона Смит | 20 мая 1988 | [[[ TAG_369]]]=DATEDIF(B2, C2, "Y") | |
Джейн Доу | 15 ноября 1992 г. | [[[T AG_387]]]=DATEDIF(B3, C3, "Y") |
Полная разбивка по конкретным date:
=DATEDIF(A2,B2,"Y") & " годы, " & DATEDIF(A2,B2,"YM") & " месяцы, " & DATEDIF(A2,B2,"MD") & " дней"Метод 4: YEARFRAC – Возраст с десятичными дробями
Если вам нужен возраст в виде десятичного числа (обычно используется в финансовых расчетах, актуарной работе или научных приложениях), используйте ДОЛЯ ГОДА.
Формула:
=YEARFRAC(A2, TODAY(), 1)Пример вывода: 35,87 (что означает 35 лет и около 10,5 месяцев)
Основные варианты (третий параметр):
| [[[ TAG_439]]]Метод | Лучший для | |
|---|---|---|
| 0 | США 30/360 | Финансовые расчеты (США) |
1 [[[TAG _465]]] | Факт/факт | Большинство точный по возрасту расчеты |
2 [[ [TAG_479]]] | Факт/360 | Банковские операции расчеты |
3 | [[[TAG_494]] ]Игнорируется прыжок лет | |
| [[ [TAG_505]]]4 | Европейский 30/360 | Финансовые расчеты (ЕС) |
Рекомендация: Использовать 1 (фактическое/фактическое) для расчета возраста - это наиболее точно.
Чтобы получить только целое число часть:
=INT(YEARFRAC(A2, TODAY(), 1))Чтобы получить возраст, округленный до одного десятичного знака:
=ROUND(YEARFRAC(A2, TODAY(), 1), 1)Метод 5: расчет возраста по нескольким строкам
При работе со списками людей (сотрудников, студентов, клиентов) вам нужны эффективные способы расчета возраста для всех в один раз.
Шаг 1. Настройте данные
A | [[ [TAG_562]]]B | C | [[[TAG_569 ]]]
|---|---|---|
Имя | Дата из Рождение | Возраст[[[TAG_581] ]] |
Алиса Джонсон | 22 марта 1985 | [[[TAG _593]]]|
Боб Уильямс | 14 июля 1990 г. | [[[TAG _607]]]|
Кэрол Дэвис | 30 ноября 1978 | [[[TAG_6 21]]]|
Дэвид Коричневый | 1995-02-08 | [ [[TAG_636]]] |
Шаг 2: Введите формулу в первую строку
В ячейке C2 введите:
=DATEDIF(B2, TODAY(), "Y")Шаг 3. Скопируйте вниз
Выберите C2
Двойной щелчок маленький квадрат в правом нижнем углу (дескриптор заполнения)
Excel автоматически копирует формулу во все строки с помощью data
Использование таблиц для автоматического расширение:
Выберите диапазон данных (A1:C5)
Нажмите Ctrl+T, чтобы создать таблицу
Сначала введите формулу данные роСтолбец w of Age
Excel автоматически применяет его ко всем строкам, а также к новым строкам, которые вы добавляете. позже
Формула возрастных категорий:
Для группировки возрастов по категориям (полезно для демографических данных) анализ):
=IF(DATEDIF(B2,TODAY(),"Y")<18,"Minor",IF (DATEDIF(B2,TODAY(),"Y")<65,"Взрослый","Сеньор"))Бонус: Дней до следующего дня рождения
Популярный вариант использования: напоминания о днях рождения или «дни до дня рождения» расчеты.
Формула:
=DATE(YEAR(TODAY()) + (ДАТА(ГОД(СЕГОДНЯ()),МЕСЯЦ(A2),ДЕНЬ(A2))<СЕГОДНЯ()), МЕСЯЦ(A2), ДЕНЬ(A2)) - СЕГОДНЯ()Как это работает:
Конструирует день рождения в этом году с момента рождения date
Если день рождения уже прошел в этом году, добавляется 1, чтобы получить следующий год.
Вычитает сегодняшняя дата, чтобы получить количество оставшихся дней
Пример вывода: 47 (дней до день рождения)
Альтернативный вариант: дата следующего дня рождения
Чтобы показать фактическую дату следующего дня рождения день рождения:
=ДАТА(ГОД(СЕГОДНЯ()) + (ДАТА(ГОД(СЕГОДНЯ()),МЕСЯЦ(A2),ДЕНЬ(A2))<СЕГОДНЯ()), МЕСЯЦ(A2), DAY(A2))Сравнение методов Таблица
Метод[[[ TAG_759]]] | Формула | [[[ TAG_765]]]Лучший Для | |
|---|---|---|---|
DATEDIF (годы) |
| 35 | Простой отображение возраста |
DATEDIF (полный) |
| 35 лет, 10 месяцев, 12 дней | Точный записи |
| [[[TAG_ 816]]]YEARFRAC |
| [[[TA G_826]]]35,87 | Финансы/наука актуально |
| [[[TAG_83 6]]]INT(YEARFRAC) | [[[TAG_841] ]]=INT(YEARFRAC(A2,TODAY(),1)) | [[[TAG_845] ]]Альтернатива чтобы DATEDIF |
[[[ TAG_857]]]Рекомендация:
В большинстве случаев используйте DATEDIF с параметром «Y»
Для точной разбивки используйте DATEDIF со всеми тремя параметрами
Для десятичных возрастов используйте YEARFRAC с основой 1
Распространенные проблемы и решения
Проблема: DATEDIF не отображается в автозаполнение
Решение: Это нормально. DATEDIF - это устаревшая функция, которую Microsoft никогда официально не документировала. Просто введите его вручную - он работает во всех версиях Excel, начиная с 2007 года.
Проблема: #VALUE! ошибка
Причины:
Одна или обе ячейки содержат текст вместо даты
Пустые ячейки в формуле диапазон
Решения ons:
Конвертировать текст на дату:
=DATEVALUE(A2)Проверьте наличие пустых ячеек:
=IF(A2="", "", DATEDIF(A2, TODAY(), "Y"))
Проблема: отрицательный результат или #NUM! ошибка
Причина: Конечная дата предшествует начальной дате (например, будущая дата рождения или неправильные даты порядок)
Решения:
Поменяйте местами аргументы:
=DATEDIF(B2, A2, "Y")вместо=DATEDIF(A2, B2, "Y")Добавить проверку:
=IF(A2>TODAY(), "Будущая дата", DATEDIF(A2, TODAY(), "Y"))
Проблема: в формуле вместо точек с запятой отображаются точки с запятой. запятые
Причина: В вашем Excel используются европейские региональные настройки
Решение: Замените запятые на точки с запятой:
=DATEDIF(A2; TODAY(); "Y")Проблема: возраст указан на единицу год
Причина: Обычно интерпретация формата даты проблема
Решение:
Проверьте правильность даты в формуле bar
Повторно введите даты в формате ISO (ГГГГ-ММ-ДД)
Использовать DATEVALUE для явного анализа даты
Проблема: формула работает, но отображается как текст
Решение: Удалите все апострофы в начале ячейки или повторно введите формулу без пробелов перед знаком равенства.
Excel vs Google Таблицы
И Excel, и Google Таблицы поддерживают формат DATEDIF, но есть некоторые тонкости. различия:
Функция | Excel | Google Листы |
|---|---|---|
DATEDIF поддержка | Да (скрыто) | Да (видно в автозаполнение) |
| [[[TAG_1 037]]]Да | Да[[[TAG_104 2]]] | |
Дата синтаксический анализ | Зависит от локали | Подробнее гибкий |
| [[ [TAG_1061]]]СЕГОДНЯ() | Да[[ [TAG_1066]]] | Да [[[TAG_10 71]]] |
Google Для отдельных листов:
DATEDIF отображается при автозаполнении (в отличие от Excel)
Разбор даты, как правило, более щадящий
То же синтаксис формулы работает в большинстве случаев
Совет: Для максимальной совместимости между обеими платформами всегда используйте:
формат даты ISO (ГГГГ-ММ-ДД)
Явные функции даты, а не текст даты
DATEDIF для расчета возраста (работает идентично в оба)
Альтернатива в Интернете
Предпочитаете не использовать электронные таблицы? Воспользуйтесь нашим бесплатным онлайн-калькулятором возраста, чтобы мгновенно рассчитать точный возраст в годах, месяцах, неделях и днях. Никаких формул не требуется - просто введите дату рождения и получите точные результаты.
Онлайн-калькулятор также предоставляет:
Возраст в нескольких единицах (годы, месяцы, недели, дней)
Обратный отсчет до следующего дня рождения
День недели, в который вы родились
Всего дней жил
Часто задаваемые вопросы
Точность DATEDIF для скачка лет?
Да. Если ваши ячейки содержат правильно отформатированные даты, Excel автоматически учитывает високосные годы и различную длину месяцев. Функция РАЗНДАТ правильно обрабатывает дни рождения 29 февраля и точно рассчитывает возраст независимо от високосного года.
Какой метод лучше: DATEDIF или YEARFRAC?
Используйте DATEDIF когда вам нужны чистые целые числа (годы, месяцы, дни) - это стандарт для большинства деловых и личных случаев использования. Используйте YEARFRAC, когда вам особенно нужны десятичные значения, например, в финансовых расчетах, актуарных таблицах или научных приложениях, где важны дробные годы.
Могу ли я рассчитать возраст только в месяцах?
Да. Используйте параметр «M» в DATEDIF:
=DATEDIF(A2, TODAY(), «M»)Это возвращает общее количество полных месяцев между рождением ребенка. дата и сегодня.
Почему DATEDIF не отображается в автозаполнении Excel?
DATEDIF - это функция совместимости, унаследованная Microsoft от Lotus 1-2-3. Он никогда официально не документировался в справочной системе Excel, поэтому он не отображается в автозаполнении или мастере функций. Тем не менее, он полностью функционален и широко используется. Просто введите его вручную.
Как рассчитать возраст между двумя конкретными датами?
Замените TODAY() ссылкой на ячейку, содержащую вашу цель date:
=DATEDIF(A2, B2, "Y")Где A2 - это дата рождения, а B2 - это дата, которую вы хотите рассчитать как возраст. из.
Это работает в старых версиях Excel?
Да. DATEDIF доступен начиная с Excel 97. Формулы в этом руководстве работают в Excel 2007, 2010, 2013, 2016, 2019, 2021 и Microsoft 365.
Как вычислить возраст нескольких людей в один раз?
Введите формулу РАЗДАТ в первой строке столбца возраста, затем перетащите маркер заполнения вниз, чтобы скопировать ее во все строки. Альтернативно можно преобразовать данные в таблицу Excel (Ctrl+T), и формула автоматически применится ко всем строкам, включая новые, которые вы добавите позже.
Могу ли я вычислить возраст и отобразить его с собственным форматированием?
Да. Объедините РАЗДАТ с функциями ТЕКСТ и конкатенацией:
=DATEDIF(A2,TODAY(),"Y") & "y" & DATEDIF(A2,TODAY(),"YM") & "m " & DATEDIF(A2,TODAY(),"MD") & "d"Выход: "35y 10m 12d"