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

  • Поделись Этим
Michael Brown

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

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

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

    В повседневной жизни вопрос " Сколько тебе лет? "В Microsoft Excel можно составить формулу для вычисления точного возраста в месяцах, днях, часах и даже минутах. Но давайте будем традиционными и сначала узнаем, как вычислить возраст по DOB в годах.

    Основная формула Excel для возраста в годах

    Как вы обычно определяете возраст человека? Просто вычитая дату рождения из текущей даты. Эта обычная формула возраста также может быть использована в Excel.

    Предполагая, что дата рождения находится в ячейке B2, формула для вычисления возраста в годах выглядит следующим образом:

    = (СЕГОДНЯ()-B2)/365

    Первая часть формулы (TODAY()-B2) возвращает разницу между текущей датой и датой рождения в днях, а затем вы делите это число на 365, чтобы получить количество лет.

    Формула очевидна и легко запоминается, однако есть небольшая проблема. В большинстве случаев она возвращает десятичное число, как показано на скриншоте ниже.

    Чтобы отобразить количество полных лет, используйте функцию INT для округления десятичной дроби до ближайшего целого числа:

    =INT((TODAY()-B2)/365)

    Недостатки: Использование этой формулы возраста в Excel дает довольно точные результаты, но не безупречные. Деление на среднее количество дней в году работает хорошо большую часть времени, но иногда оно дает неправильный возраст. Например, если кто-то родился 29 февраля, а сегодня 28 февраля, формула сделает человека на один день старше.

    В качестве альтернативы можно делить не на 365, а на 365,25, поскольку каждый четвертый год имеет 366 дней. Однако и этот подход не идеален. Например, если вы вычисляете возраст ребенка, который еще не пережил високосный год, деление на 365,25 даст неверный результат.

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

    Вычислите возраст по дате рождения с помощью функции YEARFRAC

    Более надежным способом преобразования DOB в возраст в Excel является использование функции YEARFRAC, которая возвращает дробь года, то есть количество целых дней между двумя датами.

    Синтаксис функции YEARFRAC следующий:

    YEARFRAC(начальная_дата, конечная_дата, [базис])

    Первые два аргумента очевидны и вряд ли требуют дополнительных объяснений. Основа необязательный аргумент, определяющий используемую базу подсчета дней.

    Чтобы составить абсолютно верную формулу возраста, введите в функцию YEARFRAC следующие значения:

    • Начальная_дата - дата рождения.
    • Конечная_дата - Функция TODAY() для возврата сегодняшней даты.
    • Основа - основа использования 1 который указывает Excel разделить фактическое количество дней в месяце на фактическое количество дней в году.

    Учитывая вышесказанное, формула Excel для расчета возраста по дате рождения выглядит следующим образом:

    ГОДФРАК( дата рождения , TODAY(), 1)

    Если предположить, что дата рождения находится в ячейке B2, формула примет следующий вид:

    =YEARFRAC(B2, TODAY(), 1)

    Как и в предыдущем примере, результат функции YEARFRAC также является десятичным числом. Чтобы исправить это, используйте функцию ROUNDDOWN с 0 в последнем аргументе, поскольку вам не нужны десятичные знаки.

    Итак, вот усовершенствованная формула YEARFRAC для вычисления возраста в Excel:

    =ROUNDDOWN(YEARFRAC(B2, TODAY(), 1), 0)

    Вычисление возраста в Excel с помощью DATEDIF

    Еще один способ преобразования даты рождения в возраст в Excel - использование функции DATEDIF:

    DATEDIF(начальная_дата, конечная_дата, единица)

    Эта функция может вернуть разницу между двумя датами в различных единицах времени, таких как годы, месяцы и дни, в зависимости от значения, которое вы вводите в поле блок аргумент:

    • Y - возвращает количество полные годы между начальной и конечной датами.
    • M - возвращает количество полные месяцы между датами.
    • D - возвращает количество дней между двумя датами.
    • YM - возвращается месяцев , игнорируя дни и годы.
    • MD - возвращает разницу в дней , игнорируя месяцы и годы.
    • YD - возвращает разницу в дней , игнорирование лет.

    Поскольку наша цель - вычислить возраст в лет Мы используем единицу измерения "y":

    DATEDIF( дата рождения , TODAY(), "y")

    В этом примере DOB находится в ячейке B2, и вы ссылаетесь на эту ячейку в формуле возраста:

    =DATEDIF(B2, TODAY(), "y")

    Дополнительная функция округления в этом случае не нужна, поскольку формула DATEDIF с единицей "y" вычисляет количество полных лет:

    Как узнать возраст по дате рождения в годах, месяцах и днях

    Как вы только что убедились, вычислять возраст как количество полных лет, прожитых человеком, легко, но этого не всегда достаточно. Если вы хотите узнать точный возраст, т.е. сколько лет, месяцев и дней прошло между датой рождения человека и текущей датой, напишите 3 разные функции DATEDIF:

    1. Чтобы получить количество лет: =DATEDIF(B2, TODAY(), "Y")
    2. Чтобы получить количество месяцев: =DATEDIF(B2, TODAY(), "YM")
    3. Чтобы получить количество дней: =DATEDIF(B2,TODAY(), "MD")

    Где B2 - дата рождения.

    Затем объедините вышеуказанные функции в одну формулу, как показано ниже:

    =DATEDIF(B2,TODAY(), "Y") & DATEDIF(B2,TODAY(), "YM") & DATEDIF(B2,TODAY(), "MD")

    Приведенная выше формула возвращает 3 числа (годы, месяцы и дни), объединенные в одну текстовую строку, как показано на скриншоте ниже:

    Не очень понятно, а? Чтобы сделать результаты более осмысленными, разделите числа запятыми и определите, что означает каждое значение:

    =DATEDIF(B2,TODAY(), "Y") & " Годы, " & DATEDIF(B2,TODAY(), "YM") & " Месяцы, " & DATEDIF(B2,TODAY(), "MD") & " Дни"

    Теперь результат выглядит намного лучше:

    Формула работает отлично, но вы можете улучшить ее еще больше, скрыв нулевые значения. Для этого добавьте 3 оператора IF, которые проверяют наличие 0, по одному на каждый DATEDIF:

    =IF(DATEDIF(B2, TODAY(), "y")=0,"",DATEDIF(B2, TODAY(), "y")&"" годы, ")& IF(DATEDIF(B2, TODAY(), "ym")=0,"",DATEDIF(B2, TODAY(), "ym")&"" месяцы, ")& IF(DATEDIF(B2, TODAY(), "md")=0,"",DATEDIF(B2, TODAY(), "md")&" дни")

    Следующий скриншот демонстрирует окончательную формулу возраста Excel в действии - она возвращает возраст в годах, месяцах и днях, отображая только ненулевой значения:

    Совет. Если вы ищете формулу Excel для расчета возраста в годы и месяцы Возьмите приведенную выше формулу и удалите последний блок IF(DATEDIF()), который вычисляет дни.

    Конкретные формулы для расчета возраста в Excel

    Общие формулы расчета возраста, рассмотренные выше, отлично работают в большинстве случаев. Однако в некоторых ситуациях вам может понадобиться что-то очень специфическое. Конечно, невозможно охватить все и каждый сценарий, но следующие примеры дадут вам несколько идей о том, как вы можете изменить формулу расчета возраста в зависимости от вашей конкретной задачи.

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

    Если вы хотите узнать возраст человека на определенную дату, используйте формулу возраста DATEDIF, рассмотренную выше, но замените функцию TODAY() во 2-м аргументе на конкретную дату.

    Если предположить, что дата рождения указана в B1, то следующая формула вернет возраст на 1 января 2020 года:

    =DATEDIF(B1, "1/1/2020", "Y") & " лет, " & DATEDIF(B1, "1/1/2020", "YM") & " месяцев, " & DATEDIF(B1, "1/1/2020", "MD") & " дней"

    Чтобы сделать формулу возраста более гибкой, вы можете ввести дату в какую-либо ячейку и сослаться на нее в своей формуле:

    =DATEDIF(B1, B2, "Y") & " Годы, "& DATEDIF(B1,B2, "YM") & " Месяцы, "&DATEDIF(B1,B2, "MD") & " Дни"

    Где B1 - это DOB, а B2 - дата, на которую вы хотите рассчитать возраст.

    Рассчитать возраст в определенном году

    Эта формула может пригодиться в ситуациях, когда полная дата для расчета не определена, а известен только год.

    Допустим, вы работаете с медицинской базой данных, и ваша цель - выяснить возраст пациентов на момент прохождения ими последнего полного медицинского обследования.

    Если даты рождения указаны в столбце B, начиная со строки 3, а год последнего медицинского осмотра - в столбце C, то формула расчета возраста выглядит следующим образом:

    =DATEDIF(B3,DATE(C3, 1, 1), "y")

    Поскольку точная дата медицинского осмотра не определена, вы используете функцию DATE с произвольным аргументом даты и месяца, например, DATE(C3, 1, 1).

    Функция DATE извлекает год из ячейки B3, формирует полную дату, используя числа месяца и дня, которые вы предоставили (в данном примере 1-Jan), и передает эту дату в DATEDIF. В результате вы получаете возраст пациента на 1 января определенного года:

    Определите дату достижения человеком N-летнего возраста

    Предположим, ваш друг родился 8 марта 1978 г. Как узнать, в какой день ему исполняется 50 лет? Обычно вы просто прибавляете 50 лет к дате рождения человека. В Excel вы делаете то же самое с помощью функции DATE:

    =ДАТА(ГОД(B2) + 50, МЕСЯЦ(B2), ДЕНЬ(B2))

    Где B2 - дата рождения.

    Вместо того чтобы вводить количество лет в формулу, вы можете сослаться на определенную ячейку, в которую пользователи могут ввести любое количество лет (F1 на скриншоте ниже):

    Вычислите возраст на основе дня, месяца и года в разных ячейках

    Если дата рождения разбита на 3 разные ячейки (например, год находится в B3, месяц в C3 и день в D3), можно вычислить возраст таким образом:

    • Получите дату рождения с помощью функций DATE и DATEVALUE:

      DATE(B3,MONTH(DATEVALUE(C3& "1")),D3)

    • Вставьте приведенную выше формулу в DATEDIF для вычисления возраста по дате рождения в годах, месяцах и днях: =DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "y") & " Годы, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3),TODAY(), "ym") & " Месяцы, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "md") & " Дни"

    Другие примеры расчета количества дней до/после даты см. в статье Как рассчитать дни с даты или до даты в Excel.

    Калькулятор возраста в Excel

    Если вы хотите иметь свой собственный калькулятор возраста в Excel, вы можете сделать его с помощью нескольких различных формул DATEDIF, описанных ниже. Если вы не хотите изобретать колесо, вы можете использовать калькулятор возраста, созданный нашими специалистами по Excel.

    Как создать калькулятор возраста в Excel

    Теперь, когда вы знаете, как сделать формулу возраста в Excel, вы можете создать собственный калькулятор возраста, например, такой:

    Примечание. Для просмотра встроенной рабочей тетради, пожалуйста, разрешите использование маркетинговых файлов cookie.

    То, что вы видите выше, является встроенным листом Excel Online, поэтому смело вводите свою дату рождения в соответствующую ячейку, и через мгновение вы получите свой возраст.

    Калькулятор использует следующие формулы для вычисления возраста на основе даты рождения в ячейке A3 и сегодняшней даты.

    • Формула в B5 рассчитывает возраст в годах, месяцах и днях: =DATEDIF(B2,TODAY(), "Y") & " Годы, " & DATEDIF(B2,TODAY(), "YM") & " Месяцы, " & DATEDIF(B2,TODAY(), "MD") & " Дни"
    • Формула в B6 рассчитывает возраст в месяцах: =DATEDIF($B$3,TODAY(), "m")
    • Формула в B7 рассчитывает возраст в днях: =DATEDIF($B$3,TODAY(), "d")

    Если у вас есть опыт работы с элементами управления Excel Form, вы можете добавить опцию для вычисления возраста на определенную дату, как показано на следующем снимке экрана:

    Для этого добавьте пару кнопок опций ( Вкладка разработчика > Вставка > Элементы управления формой > Опционная кнопка ), и связать их с некоторой ячейкой. А затем написать формулу IF/DATEDIF, чтобы получить возраст либо на сегодняшнюю дату, либо на дату, указанную пользователем.

    Формула работает по следующей логике:

    • Если Сегодняшняя дата выбран флажок, в связанной ячейке (I5 в данном примере) появляется значение 1, и формула возраста рассчитывается на основе сегодняшней даты: IF($I$5=1, DATEDIF($B$3,TODAY(), "Y") & " лет, " & DATEDIF($B$3,TODAY(), "YM") & " месяцев, " & DATEDIF($B$3, TODAY(), "MD") & " дней")
    • Если Конкретная дата выбрана кнопка опции И в ячейку B7 введена дата, возраст рассчитывается на указанную дату: IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " лет, " & DATEDIF($B$3, $B$7, "YM") & " месяцев, " & DATEDIF($B$3, $B$7, "MD") & " дней", ""))

    Наконец, вложите вышеуказанные функции друг в друга, и вы получите полную формулу расчета возраста (в B9):

    =IF($I$5=1, DATEDIF($B$3, TODAY(), "Y") & " Years, " & DATEDIF($B$3, TODAY(), "YM") & " Months, " & DATEDIF($B$3, TODAY(), "MD") & " Days", IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7,"Y") & " Years, " & DATEDIF($B$3, $B$7,"YM") & " Months, " & DATEDIF($B$3, $B$7,"MD") & " Days", ""))

    Формулы в B10 и B11 работают по той же логике. Конечно, они намного проще, потому что включают только одну функцию DATEDIF, которая возвращает возраст как количество полных месяцев или дней, соответственно.

    Чтобы узнать подробности, я приглашаю вас скачать этот калькулятор возраста в Excel и изучить формулы в ячейках B9:B11.

    Скачать Калькулятор возраста для Excel

    Готовый к использованию калькулятор возраста для Excel

    Пользователям нашего пакета Ultimate Suite не нужно утруждать себя созданием собственного калькулятора возраста в Excel - он находится всего в паре кликов:

    1. Выберите ячейку, в которую вы хотите вставить формулу возраста, перейдите к ячейке Инструменты Ablebits вкладка> Дата и время группу, и нажмите кнопку Мастер настройки даты и времени кнопка.

    2. Запустится мастер создания даты и времени, и вы перейдете непосредственно в раздел Возраст вкладка.
    3. На Возраст вкладка, вам необходимо указать 3 вещи:
      • Данные о рождении как ссылка на ячейку или дата в формате mm/dd/yyy.
      • Возраст в сегодняшняя дата или конкретная дата .
      • Выберите, как рассчитывать возраст: в днях, месяцах, годах или точный возраст.
    4. Нажмите кнопку Вставить формулу кнопка.

    Готово!

    Формула вставляется в выделенную ячейку на мгновение, и вы дважды щелкаете по ручке заливки, чтобы скопировать ее вниз по столбцу.

    Как вы могли заметить, формула, созданная нашим калькулятором возраста в Excel, сложнее, чем те, которые мы обсуждали до сих пор, но она учитывает единственное и множественное число единиц времени, таких как "день" и "дни".

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

    Если вам интересно протестировать этот калькулятор возраста, а также открыть для себя еще 60 экономящих время надстроек для Excel, вы можете загрузить пробную версию нашего пакета Ultimate Suite в конце этой заметки.

    Как выделить определенные возрасты (младше или старше определенного возраста)

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

    Если ваша формула расчета возраста возвращает количество полных лет, то вы можете создать обычное правило условного форматирования на основе простой формулы, подобной этой:

    • Чтобы выделить возраст, равный или больший 18 лет: =$C2>=18
    • Чтобы выделить возраст до 18 лет: =$C2<18

    Где C2 - самая верхняя ячейка в столбце "Возраст" (не включая заголовок столбца).

    Но что если ваша формула отображает возраст в годах и месяцах или в годах, месяцах и днях? В этом случае вам придется создать правило, основанное на формуле DATEDIF, которая вычисляет возраст по дате рождения в годах.

    Предположим, что даты рождения находятся в столбце B, начиная со строки 2, формулы выглядят следующим образом:

    • Для выделения возрастов по адресу 18 (желтый): =DATEDIF($B2, TODAY(), "Y")<18
    • Для выделения возрастов между 18 и 65 (зеленый): =AND(DATEDIF($B2, TODAY(), "Y")>=18, DATEDIF($B2, TODAY(), "Y")<=65)
    • Для выделения возрастов по адресу 65 (синий): =DATEDIF($B2, TODAY(), "Y")>65

    Чтобы создать правила на основе приведенных выше формул, выделите ячейки или целые строки, которые вы хотите выделить, перейдите в меню Главная вкладка> Стили группу, и нажмите кнопку Условное форматирование > Новое правило... > Используйте формулу, чтобы определить, какие ячейки форматировать .

    Подробные шаги можно найти здесь: Как создать правило условного форматирования на основе формулы.

    Вот так можно рассчитать возраст в Excel. Надеюсь, формулы были легкими для вас и вы попробуете использовать их в своих рабочих листах. Спасибо за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

    Доступные загрузки

    Примеры расчета возраста в Excel (файл.xlsx)

    Ultimate Suite 14-дневная полнофункциональная версия (файл .exe)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.