Формула Excel: Отримати вік від дня народження -

Зміст

Загальна формула

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

Резюме

Щоб обчислити вік за датою народження, ви можете використовувати функцію DATEDIF разом із функцією TODAY. У наведеному прикладі формула у клітинці E5, скопійована вниз, має вигляд:

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

Оскільки TODAY завжди повертає поточну дату, формула і надалі обчислюватиме правильний вік.

Пояснення

Функція DATEDIF (Date + Dif) - трохи аномалія в Excel. Функція сумісності, яка походить від Lotus 1-2-3, Excel не допоможе надати аргументи при введенні функції. Однак DATEDIF працює у всіх сучасних версіях Excel і є корисною функцією для обчислення інтервалу між двома датами в роках, місяцях і днях.

У наведеному прикладі метою є розрахунок віку в роках. Формула в E5:

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

Першими двома аргументами для DATEDIF є start_date та end_date. Дата початку походить із комірки D5 (15 травня 2001 р.) У прикладі. Дата завершення генерується за допомогою функції TODAY. TODAY завжди повертає поточну дату в Excel. На момент написання статті поточною датою є 24 листопада 2020 р. Останній аргумент у DATEDIF визначає одиницю часу. Функція DATEDIF підтримує кілька варіантів тут, але для цього прикладу метою є вік у цілих роках, тому ми використовуємо "y", щоб вказати повні роки.

На даний момент ми можемо переписати формулу, як показано нижче:

=DATEDIF("15-May-2001","24-Nov-2020", "y")

Оскільки дати Excel насправді є серійними номерами, вихідними значеннями є:

=DATEDIF(37026,44159,"y")

За допомогою цих входів DATEDIF повертає 19 як кінцевий результат.

Вік на конкретну дату

Щоб розрахувати вік на конкретну дату, замініть функцію TODAY на цільову дату. Простим і безпечним способом введення певної дати у формулу є використання функції DATE. Наприклад, для обчислення віку станом на 1 січня 2021 року ви можете скористатися такою формулою:

=DATEDIF(D5,DATE(2022,1,1),"y") // returns 20

Ця формула поверне вік Майкла Чанга на 1 січня 2022 року, тобто 20 років.

Дорослий або неповнолітній

Щоб перевірити дату народження та повернути "Неповнолітній" або "Дорослий", ви можете обернути формулу у функцію IF так:

=IF(DATEDIF(D5,TODAY(),"y")<18,"Minor","Adult")

Наведена формула є прикладом вкладеності. Замініть 18 на будь-який вік, який підходить.

Вік у роках, місяцях та днях

Щоб обчислити вік у роках, місяцях та днях, використовуйте три екземпляри DATEDIF так:

=DATEDIF(A1,TODAY(),"y")&"y "&DATEDIF(A1,TODAY(),"ym")&"m "&DATEDIF(A1,TODAY(),"md")&"d"

Перший екземпляр DATEDIF повертає роки, другий екземпляр повертає місяці, а третій екземпляр повертає дні. Це приклад конкатенації, а результатом є такий текстовий рядок, як цей:

19y 6m 9d

Примітка: дати початку та закінчення залишаються однаковими у всіх трьох DATEDIF; змінюється лише одиниця.

РІК із INT

Інший варіант обчислення віку з дати народження використовує функцію YEARFRAC разом із функцією INT у такій формулі:

=INT(YEARFRAC(D5,TODAY()))

YEARFRAC обчислює десяткове число, що представляє частку року між двома датами. Для обчислення частки року як десяткової величини Excel використовує дні між двома датами. Як і вище, дата народження вказується як дата_початку з клітинки D5, а сьогоднішня дата надається як дата_кінця, люб'язно завдяки функції TODAY.

З поточною датою 24 листопада 2020 року результат від YEARFRAC для Майкла Чанга:

19.5290896646133

Далі функція INT приймає і округлює це число до цілого значення, яке є числом 19.

=INT(19.5290896646133) // returns 19

Ця формула виглядає цілком логічною і в більшості випадків працює нормально. Однак YEARFRAC може повернути неправильне число на дати річниці (дні народження). Я не впевнений, чому саме це відбувається, але це пов'язано з тим, як YEARFRAC використовує дні для визначення дробових років, що контролюється аргументом базису. Наприклад:

=YEARFRAC(DATE(1960,6,30),DATE(1962,6,30),1) // 1.998, should be 2 =YEARFRAC(DATE(1960,3,3),DATE(1964,3,3),1) // 3.998, should be 4

Суть в тому, що формула дати DATEDIF є більш безпечним та простим варіантом, коли метою є звітування про вік у цілі роки.

Цікаві статті...