Съдържание
В урока са показани различни начини за получаване на възраст от рожден ден в Excel. Ще научите няколко формули за изчисляване на възрастта като брой пълни години, получаване на точна възраст в години, месеци и дни на днешната дата или на конкретна дата.
Няма специална функция за изчисляване на възрастта в Excel, но съществуват няколко различни начина за преобразуване на датата на раждане във възраст. В този урок ще бъдат обяснени предимствата и недостатъците на всеки от начините, ще се покаже как да се направи перфектна формула за изчисляване на възрастта в Excel и да се коригира за решаване на някои специфични задачи.
Как да изчислим възрастта от датата на раждане в Excel
В ежедневието въпросът " На колко години сте? " обикновено предполага отговор, който показва колко години сте живели. В Microsoft Excel можете да направите формула за изчисляване на точната възраст в месеци, дни, часове и дори минути. Но нека бъдем традиционни и първо да научим как да изчислим възрастта от DOB в години.
Основна формула на Excel за възраст в години
Как обикновено определяте възрастта на някого? Просто като извадите датата на раждане от текущата дата. Тази традиционна формула за възрастта може да се използва и в Excel.
Ако приемем, че датата на раждане е в клетка B2, формулата за изчисляване на възрастта в години е следната:
=(ДНЕС()-B2)/365
Първата част на формулата (TODAY()-B2) връща разликата между текущата дата и датата на раждане в дни, след което разделяте това число на 365, за да получите броя на годините.
Формулата е очевидна и лесна за запомняне, но има малък проблем. В повечето случаи тя връща десетично число, както е показано на снимката по-долу.
За да покажете броя на пълните години, използвайте функцията INT, за да закръглите десетичната цифра до най-близкото цяло число:
=INT((ДНЕС()-B2)/365)
Недостатъци: Използването на тази формула за възрастта в Excel дава доста точни резултати, но не и безупречни. Деленето на средния брой дни в годината работи добре през повечето време, но понякога възрастта се получава погрешно. Например, ако някой е роден на 29 февруари, а днес е 28 февруари, формулата ще направи човека с един ден по-възрастен.
Като алтернатива можете да разделите на 365,25 вместо на 365, тъй като всяка четвърта година има 366 дни. Този подход обаче също не е перфектен. Например, ако изчислявате възрастта на дете, което все още не е преживяло високосна година, разделянето на 365,25 дава грешен резултат.
Като цяло изваждането на датата на раждане от текущата дата работи чудесно в нормалния живот, но не е идеалният подход в Excel. По-нататък в този урок ще научите няколко специални функции, които изчисляват възрастта безпогрешно, независимо от годината.
Изчисляване на възрастта от датата на раждане с функцията YEARFRAC
По-надежден начин за преобразуване на дата на раждане във възраст в Excel е използването на функцията YEARFRAC, която връща частта от годината, т.е. броя на целите дни между две дати.
Синтаксисът на функцията YEARFRAC е следният:
YEARFRAC(start_date, end_date, [base])Първите два аргумента са очевидни и едва ли се нуждаят от допълнително обяснение. Основа е незадължителен аргумент, който определя базата за броене на дни, която да се използва.
За да създадете напълно вярна формула за възрастта, въведете следните стойности във функцията YEARFRAC:
- Начална_дата - дата на раждане.
- End_date - Функция TODAY() за връщане на днешната дата.
- Основа - основание за използване 1 която казва на Excel да раздели действителния брой дни в месеца на действителния брой дни в годината.
Като се има предвид горното, формулата на Excel за изчисляване на възрастта от датата на раждане е следната:
YEARFRAC( дата на раждане , TODAY(), 1)Ако приемем, че датата на раждане се намира в клетка B2, формулата придобива следната форма:
=YEARFRAC(B2, TODAY(), 1)
Както и в предишния пример, резултатът от функцията YEARFRAC също е десетично число. За да поправите това, използвайте функцията ROUNDDOWN с 0 в последния аргумент, тъй като не искате никакви десетични знаци.
Ето една подобрена формула YEARFRAC за изчисляване на възрастта в Excel:
=ЗАКРЪГЛЯНЕ(YEARFRAC(B2, TODAY(), 1), 0)
Изчисляване на възрастта в Excel с DATEDIF
Още един начин за превръщане на датата на раждане в възраст в Excel е използването на функцията DATEDIF:
DATEDIF(start_date, end_date, unit)Тази функция може да върне разликата между две дати в различни единици за време, като години, месеци и дни, в зависимост от стойността, която сте въвели в полето единица аргумент:
- Y - връща броя на пълни години между началната и крайната дата.
- M - връща броя на пълни месеци между датите.
- D - връща броя на дни между двете дати.
- YM - връщане месеци , без да се вземат предвид дните и годините.
- MD - връща разликата в дни , без да се обръща внимание на месеците и годините.
- YD - връща разликата в дни , като пренебрегва годините.
Тъй като целта ни е да изчислим възраст в години , използваме единицата "y":
DATEDIF( дата на раждане , TODAY(), "y")В този пример датата на раждане се намира в клетка B2 и вие се позовавате на тази клетка във формулата за възраст:
=DATEDIF(B2, TODAY(), "y")
В този случай не е необходима допълнителна функция за закръгляване, тъй като формулата DATEDIF с единицата "y" изчислява броя на пълните години:
Как да получите възраст от рожден ден в години, месеци и дни
Както току-що видяхте, изчисляването на възрастта като брой пълни години, които човекът е живял, е лесно, но не винаги е достатъчно. Ако искате да знаете точната възраст, т.е. колко години, месеци и дни има между рождената дата на човека и текущата дата, напишете 3 различни функции DATEDIF:
- За да получите броя на годините:
=DATEDIF(B2, TODAY(), "Y")
- За да получите броя на месеците:
=DATEDIF(B2, TODAY(), "YM")
- За да получите броя на дните:
=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 age, разгледана по-горе, но заменете функцията TODAY() във втория аргумент с конкретната дата.
Ако приемем, че датата на раждане е в 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 е датата на раждане, а B2 е датата, на която искате да изчислите възрастта.
Изчисляване на възрастта през определена година
Тази формула е полезна в ситуации, когато не е определена пълната дата, към която да се изчислява, и се знае само годината.
Да речем, че работите с медицинска база данни и целта ви е да откриете възрастта на пациентите към момента на последния им пълен медицински преглед.
Ако приемем, че датите на раждане са в колона В, започвайки от ред 3, а годината на последния медицински преглед е в колона В, формулата за изчисляване на възрастта е следната:
=DATEDIF(B3,DATE(C3, 1, 1), "y")
Тъй като точната дата на медицинския преглед не е определена, използвате функцията DATE с произволен аргумент за дата и месец, например DATE(C3, 1, 1).
Функцията DATE извлича годината от клетка B3, създава пълна дата, като използва предоставените от вас числа на месеца и деня (1 януари в този пример), и предава тази дата на DATEDIF. В резултат на това получавате възрастта на пациента към 1 януари на определена година:
Открийте датата, на която дадено лице навършва N години
Да предположим, че вашият приятел е роден на 8 март 1978 г. Как да разберете на коя дата ще навърши 50 години? Обикновено просто добавяте 50 години към датата на раждане на човека. В Excel правите същото с помощта на функцията DATE:
=DATE(YEAR(B2) + 50, MONTH(B2), DAY(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, можете да създадете персонализиран калкулатор за възрастта, например този:
Забележка: За да видите вградената работна книга, разрешете маркетинговите бисквитки.
Това, което виждате по-горе, е вграден лист на 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, можете да добавите опция за изчисляване на възрастта към определена дата, както е показано на следващата снимка:
За тази цел добавете няколко бутона за избор ( Раздел Разработчик > Вмъкване на > Контроли на формуляра > Бутон за избор ) и ги свържете с някоя клетка. И след това напишете формула 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") & " Years, " & DATEDIF($B$3, $B$7, "YM") & " Months, " & DATEDIF($B$3, $B$7, "MD") & " Days", ""))
Накрая вложете горните функции една в друга и ще получите пълната формула за изчисляване на възрастта (в B9):
=IF($I$5=1, DATEDIF($B$3, TODAY(), "Y") & " Години, " & DATEDIF($B$3, TODAY(), "YM") & " Месеци, " & DATEDIF($B$3, TODAY(), "MD") & " Дни", IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " Години, " & DATEDIF($B$3, $B$7, "YM") & " Месеци, " & DATEDIF($B$3, $B$7, "MD") & " Дни", "")
Формулите в B10 и B11 работят по същата логика. Разбира се, те са много по-прости, защото включват само една функция DATEDIF, която връща възрастта като брой пълни месеци или дни.
За да научите подробностите, ви каня да изтеглите този калкулатор за възрастта на Excel и да проучите формулите в клетки B9:B11.
Изтегляне на възрастов калкулатор за Excel
Готов за използване калкулатор на възрастта за Excel
Потребителите на нашия Ultimate Suite не трябва да се притесняват да създават свой собствен калкулатор на възрастта в Excel - той е само на няколко кликвания разстояние:
- Изберете клетка, в която искате да вмъкнете формула за възрастта, отидете в Инструменти на Ablebits tab> Дата & Време и щракнете върху Дата & Съветник за времето бутон.
- Ще се стартира съветникът Date & Time Wizard и ще преминете директно към Възраст таб.
- На Възраст в раздела има 3 неща, които трябва да посочите:
- Данни за раждане като препратка към клетка или дата във формат мм/дд/гггг.
- Възраст при днешна дата или конкретна дата .
- Изберете дали да изчислите възрастта в дни, месеци, години или точна възраст.
- Щракнете върху Вмъкване на формула бутон.
Готово!
Формулата се вмъква за момент в избраната клетка и щраквате два пъти върху дръжката за запълване, за да я копирате надолу по колоната.
Както може би сте забелязали, формулата, създадена от нашия калкулатор за възрастта в Excel, е по-сложна от тези, които обсъдихме досега, но тя е съобразена с единствено и множествено число на единиците за време като "ден" и "дни".
Ако искате да се отървете от нулеви единици като "0 дни", изберете Не показва нулеви единици квадратчето за отметка:
Ако сте любопитни да изпробвате този калкулатор на възрастта, както и да откриете още 60 спестяващи време добавки за Excel, можете да изтеглите пробна версия на нашия Ultimate Suite в края на тази публикация.
Как да маркирате определени възрасти (под или над определена възраст)
В някои ситуации може да се наложи не само да изчислите възрастта в Excel, но и да маркирате клетките, които съдържат възрасти под или над определена възраст.
Ако формулата ви за изчисляване на възрастта връща броя на пълните години, можете да създадете обикновено правило за условно форматиране въз основа на проста формула като тези:
- За да маркирате възрастта, равна или по-голяма от 18 години: =$C2>=18
- За да подчертаете възрастта под 18 години: =$C2<18
Където C2 е най-горната клетка в колоната Age (без заглавието на колоната).
Но какво да правите, ако формулата ви показва възрастта в години и месеци или в години, месеци и дни? В този случай ще трябва да създадете правило, базирано на формулата DATEDIF, която изчислява възрастта от датата на раждане в години.
Ако приемем, че рождените дати са в колона В, започвайки от ред 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
За да създадете правила въз основа на горните формули, изберете клетките или целите редове, които искате да подчертаете, отидете в Начало tab> Стилове и щракнете върху Условно форматиране > Ново правило... > Използвайте формула, за да определите кои клетки да форматирате .
Подробните стъпки можете да намерите тук: Как да създадем правило за условно форматиране въз основа на формула.
Надявам се, че формулите са ви били лесни за усвояване и ще ги изпробвате в работните си листове. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!
Налични изтегляния
Примери за изчисляване на възрастта в Excel (.xlsx файл)
Ultimate Suite 14-дневна напълно функционална версия (.exe файл)