Формула на Excel: Получете възраст от рождения ден -

Съдържание

Обща формула

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

Обобщение

За да изчислите възрастта от датата на раждане, можете да използвате функцията DATEDIF заедно с функцията ДНЕС. В показания пример формулата в клетка E5, копирана надолу, е:

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

Тъй като ДНЕС винаги връща текущата дата, формулата ще продължи да изчислява точната възраст в бъдеще.

Обяснение

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

В показания пример целта е да се изчисли възрастта в години. Формулата в E5 е:

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

Първите два аргумента за DATEDIF са start_date и end_date. Началната дата идва от клетка D5 (15 май 2001 г.) в примера. Крайната дата се генерира с функцията ДНЕС. ДНЕС винаги връща текущата дата в Excel. Към момента на писане настоящата дата е 24 ноември 2020 г. Последният аргумент в DATEDIF указва единицата време. Функцията DATEDIF поддържа няколко опции тук, но за този пример целта е възрастта в цели години, така че използваме "y", за да посочим цели години.

На този етап можем да пренапишем формулата, както по-долу:

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

Тъй като датите на Excel всъщност са серийни номера, суровите стойности са:

=DATEDIF(37026,44159,"y")

С тези входове DATEDIF връща 19 като краен резултат.

Възраст на конкретна дата

За да изчислите възрастта на определена дата, заменете функцията ДНЕС с целевата дата. Лесен и сигурен начин за кодиране на определена дата във формула е използването на функцията 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, а днешната дата се предоставя като крайна дата, благодарение на функцията ДНЕС.

С текуща дата 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 е по-безопасна и лесна опция, когато целта е да се отчете възрастта в цели години.

Интересни статии...