Obsah
Tento návod ukazuje rôzne spôsoby, ako získať vek z dátumu narodenia v programe Excel. Naučíte sa niekoľko vzorcov na výpočet veku ako počtu celých rokov, získanie presného veku v rokoch, mesiacoch a dňoch k dnešnému dátumu alebo konkrétnemu dátumu.
V programe Excel neexistuje žiadna špeciálna funkcia na výpočet veku, existuje však niekoľko rôznych spôsobov, ako previesť dátum narodenia na vek. V tomto návode vysvetlíme výhody a nevýhody jednotlivých spôsobov, ukážeme, ako vytvoriť dokonalý vzorec na výpočet veku v programe Excel a upraviť ho na riešenie niektorých konkrétnych úloh.
Ako vypočítať vek z dátumu narodenia v programe Excel
V každodennom živote je otázka " Koľko máte rokov? " zvyčajne znamená odpoveď, ktorá udáva, koľko rokov ste nažive. V programe Microsoft Excel si môžete vytvoriť vzorec na výpočet presného veku v mesiacoch, dňoch, hodinách a dokonca aj minútach. Buďme však tradiční a naučme sa najprv vypočítať vek z DOB v rokoch.
Základný vzorec programu Excel pre vek v rokoch
Ako bežne zistíte niečí vek? Jednoducho odčítaním dátumu narodenia od aktuálneho dátumu. Tento bežný vzorec na určenie veku sa dá použiť aj v programe Excel.
Za predpokladu, že dátum narodenia je v bunke B2, vzorec na výpočet veku v rokoch vyzerá takto:
=(DNES()-B2)/365
Prvá časť vzorca (TODAY()-B2) vráti rozdiel medzi aktuálnym dátumom a dátumom narodenia v dňoch a potom toto číslo vydelíte číslom 365, aby ste získali počet rokov.
Vzorec je zrejmý a ľahko zapamätateľný, je tu však malý problém. Vo väčšine prípadov vracia desatinné číslo, ako je to znázornené na nasledujúcom obrázku.
Ak chcete zobraziť počet celých rokov, použite funkciu INT na zaokrúhlenie desatinného čísla nadol na najbližšie celé číslo:
=INT((DNES()-B2)/365)
Nevýhody: Použitie tohto vzorca na určenie veku v programe Excel poskytuje pomerne presné výsledky, ale nie bezchybné. Delenie priemerným počtom dní v roku funguje väčšinou dobre, ale niekedy sa vek určí nesprávne. Napríklad, ak sa niekto narodil 29. februára a dnes je 28. februára, vzorec urobí osobu o jeden deň staršou.
Alternatívou je delenie číslom 365,25 namiesto 365, keďže každý štvrtý rok má 366 dní. Ani tento prístup však nie je dokonalý. Ak napríklad počítate vek dieťaťa, ktoré ešte neprežilo priestupný rok, delenie číslom 365,25 vedie k nesprávnemu výsledku.
Celkovo odčítanie dátumu narodenia od aktuálneho dátumu funguje v bežnom živote výborne, ale v programe Excel to nie je ideálny prístup. Ďalej v tomto návode sa dozviete niekoľko špeciálnych funkcií, ktoré bezchybne vypočítajú vek bez ohľadu na rok.
Výpočet veku z dátumu narodenia pomocou funkcie YEARFRAC
Spoľahlivejší spôsob prevodu DOB na vek v programe Excel je použitie funkcie YEARFRAC, ktorá vráti zlomok roka, t. j. počet celých dní medzi dvoma dátumami.
Syntax funkcie YEARFRAC je nasledujúca:
YEARFRAC(start_date, end_date, [basis])Prvé dva argumenty sú zrejmé a sotva si vyžadujú ďalšie vysvetlenie. Základňa je nepovinný argument, ktorý definuje základ počtu dní, ktorý sa má použiť.
Ak chcete vytvoriť dokonale pravdivý vzorec pre vek, zadajte funkcii YEARFRAC nasledujúce hodnoty:
- Start_date - dátum narodenia.
- End_date - Funkcia TODAY() na vrátenie dnešného dátumu.
- Základňa - základ použitia 1 ktorá Excelu prikáže, aby vydelil skutočný počet dní v mesiaci skutočným počtom dní v roku.
Vzhľadom na uvedené skutočnosti je vzorec programu Excel na výpočet veku z dátumu narodenia nasledovný:
YEARFRAC( dátum narodenia , TODAY(), 1)Za predpokladu, že dátum narodenia je v bunke B2, vzorec má nasledujúci tvar:
=YEARFRAC(B2, TODAY(), 1)
Podobne ako v predchádzajúcom príklade, aj výsledok funkcie YEARFRAC je desatinné číslo. Ak to chcete napraviť, použite funkciu ROUNDDOWN s 0 v poslednom argumente, pretože nechcete žiadne desatinné miesta.
Tu je vylepšený vzorec YEARFRAC na výpočet veku v programe Excel:
=ZAOKRÚHLENIE(ROKFRAC(B2, TODAY(), 1), 0)
Výpočet veku v programe Excel pomocou funkcie DATEDIF
Ďalším spôsobom, ako previesť dátum narodenia na vek v programe Excel, je použitie funkcie DATEDIF:
DATEDIF(start_date, end_date, unit)Táto funkcia dokáže vrátiť rozdiel medzi dvoma dátumami v rôznych časových jednotkách, ako sú roky, mesiace a dni, v závislosti od hodnoty, ktorú zadáte v poli jednotka argument:
- Y - vráti počet celé roky medzi dátumom začiatku a konca.
- M - vráti počet celé mesiace medzi dátumami.
- D - vráti počet dni medzi týmito dvoma dátumami.
- YM - návraty mesiace , bez ohľadu na dni a roky.
- MD - vráti rozdiel v dni , ignorujúc mesiace a roky.
- YD - vráti rozdiel v dni , ignorujúc roky.
Keďže sa snažíme vypočítať vek v rokov , používame jednotku "y":
DATEDIF( dátum narodenia , TODAY(), "y")V tomto príklade je dátum narodenia v bunke B2 a na túto bunku sa odkazujete vo vzorci pre vek:
=DATEDIF(B2, TODAY(), "y")
V tomto prípade nie je potrebná žiadna ďalšia funkcia zaokrúhľovania, pretože vzorec DATEDIF s jednotkou "y" vypočíta počet celých rokov:
Ako získať vek z dátumu narodenia v rokoch, mesiacoch a dňoch
Ako ste práve videli, výpočet veku ako počtu celých rokov, ktoré osoba prežila, je jednoduchý, ale nie vždy postačuje. Ak chcete zistiť presný vek, t. j. koľko rokov, mesiacov a dní je medzi dátumom narodenia a aktuálnym dátumom, napíšte 3 rôzne funkcie DATEDIF:
- Ak chcete získať počet rokov:
=DATEDIF(B2, TODAY(), "Y")
- Ak chcete získať počet mesiacov:
=DATEDIF(B2, TODAY(), "YM")
- Ak chcete získať počet dní:
=DATEDIF(B2,TODAY(), "MD")
Kde B2 je dátum narodenia.
A potom spojte uvedené funkcie do jedného vzorca takto:
=DATEDIF(B2,TODAY(), "Y") & DATEDIF(B2,TODAY(), "YM") & DATEDIF(B2,TODAY(), "MD")
Uvedený vzorec vráti 3 čísla (roky, mesiace a dni) spojené do jedného textového reťazca, ako je znázornené na nasledujúcej snímke:
Nedáva to veľký zmysel, však? Ak chcete, aby boli výsledky zmysluplnejšie, oddeľte čísla čiarkami a definujte, čo jednotlivé hodnoty znamenajú:
=DATEDIF(B2,TODAY(), "Y") & " Roky, " & DATEDIF(B2,TODAY(), "YM") & " Mesiace, " & DATEDIF(B2,TODAY(), "MD") & " Dni"
Výsledok teraz vyzerá oveľa lepšie:
Vzorec funguje skvele, ale môžete ho ešte vylepšiť skrytím nulových hodnôt. Na tento účel pridajte 3 príkazy IF, ktoré kontrolujú 0, jeden na každý DATEDIF:
=IF(DATEDIF(B2, TODAY(), "y")=0,"",DATEDIF(B2, TODAY(), "y")&" roky, ")& IF(DATEDIF(B2, TODAY(), "ym")=0,"",DATEDIF(B2, TODAY(), "ym")&" mesiace, ")& IF(DATEDIF(B2, TODAY(), "md")=0,"",DATEDIF(B2, TODAY(), "md")&" dni")
Nasledujúci obrázok ukazuje konečný vzorec Excelu pre vek v akcii - vracia vek v rokoch, mesiacoch a dňoch a zobrazuje iba nenulové hodnoty:
Tip. Ak hľadáte vzorec programu Excel na výpočet veku v roky a mesiace , zoberte vyššie uvedený vzorec a odstráňte posledný blok IF(DATEDIF()), ktorý počíta dni.
Špecifické vzorce na výpočet veku v programe Excel
Všeobecné vzorce na výpočet veku, o ktorých sme hovorili vyššie, fungujú vo väčšine prípadov skvele. V niektorých situáciách však môžete potrebovať niečo veľmi špecifické. Samozrejme, nie je možné pokryť každý a každý scenár, ale nasledujúce príklady vám poskytnú niekoľko nápadov, ako môžete upraviť vzorec na výpočet veku v závislosti od vašej konkrétnej úlohy.
Ako vypočítať vek k určitému dátumu v programe Excel
Ak chcete zistiť vek niekoho k určitému dátumu, použite vyššie uvedený vzorec DATEDIF age, ale funkciu TODAY() v 2. argumente nahraďte konkrétnym dátumom.
Za predpokladu, že dátum narodenia je v B1, nasledujúci vzorec vráti vek k 1. januáru 2020:
=DATEDIF(B1, "1/1/2020", "Y") & " Roky, " & DATEDIF(B1, "1/1/2020", "YM") & " Mesiace, " & DATEDIF(B1, "1/1/2020", "MD") & " Dni"
Aby bol vzorec pre vek flexibilnejší, môžete do niektorej bunky zadať dátum a vo vzorci sa na túto bunku odvolať:
=DATEDIF(B1, B2, "Y") & " Roky, "& DATEDIF(B1,B2, "YM") & " Mesiace, "&DATEDIF(B1,B2, "MD") & " Dni"
Kde B1 je dátum narodenia a B2 je dátum, ku ktorému chcete vypočítať vek.
Výpočet veku v určitom roku
Tento vzorec sa hodí v situáciách, keď nie je definovaný celý dátum, ku ktorému sa má výpočet vykonať, a poznáte len rok.
Povedzme, že pracujete s lekárskou databázou a vaším cieľom je zistiť vek pacientov v čase, keď sa podrobili poslednej kompletnej lekárskej prehliadke.
Za predpokladu, že dátumy narodenia sú v stĺpci B počnúc riadkom 3 a rok poslednej lekárskej prehliadky je v stĺpci C, vzorec na výpočet veku vyzerá takto:
=DATEDIF(B3,DATE(C3, 1, 1), "y")
Keďže presný dátum lekárskeho vyšetrenia nie je definovaný, použijete funkciu DATE s ľubovoľným argumentom dátumu a mesiaca, napr. DATE(C3, 1, 1).
Funkcia DATE extrahuje rok z bunky B3, vytvorí kompletný dátum pomocou zadaných čísel mesiaca a dňa (v tomto príklade 1-január) a odovzdá tento dátum funkcii DATEDIF. Výsledkom je vek pacienta k 1. januáru daného roka:
Zistite dátum, kedy osoba dosiahne vek N rokov
Predpokladajme, že váš priateľ sa narodil 8. marca 1978. Ako zistíte, v ktorý deň dovŕši 50 rokov? Zvyčajne by ste jednoducho pripočítali 50 rokov k dátumu narodenia osoby. V programe Excel urobíte to isté pomocou funkcie DATE:
=DATE(ROK(B2) + 50, MESIAC(B2), DEŇ(B2))
Kde B2 je dátum narodenia.
Namiesto toho, aby ste počet rokov vo vzorci zadávali natvrdo, môžete sa odvolať na určitú bunku, do ktorej môžu používatelia zadať ľubovoľný počet rokov (F1 na obrázku nižšie):
Vypočítajte vek z dní, mesiacov a rokov v rôznych bunkách
Ak je dátum narodenia rozdelený do 3 rôznych buniek (napr. rok je v B3, mesiac v C3 a deň v D3), môžete takto vypočítať vek:
- Získajte dátum narodenia pomocou funkcií DATE a DATEVALUE:
DATE(B3,MONTH(DATEVALUE(C3& "1")),D3)
- Vložením uvedeného vzorca do DATEDIF vypočítate vek z dátumu narodenia v rokoch, mesiacoch a dňoch:
=DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "y") & " Roky, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3),TODAY(), "ym") & " Mesiace, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "md") & " Dni"
Ďalšie príklady výpočtu počtu dní pred/po dátume nájdete v časti Ako vypočítať dni od alebo do dátumu v programe Excel.
Kalkulačka veku v programe Excel
Ak by ste chceli mať vlastnú kalkulačku veku v programe Excel, môžete si ju vytvoriť pomocou niekoľkých rôznych vzorcov DATEDIF, ktoré sú vysvetlené nižšie. Ak nechcete vynaliezať koleso, môžete použiť kalkulačku veku vytvorenú našimi odborníkmi na program Excel.
Ako vytvoriť kalkulačku veku v programe Excel
Teraz, keď viete, ako vytvoriť vzorec na výpočet veku v programe Excel, môžete vytvoriť vlastnú kalkulačku na výpočet veku, napríklad túto:
Poznámka: Ak chcete zobraziť vložený pracovný zošit, povoľte marketingové súbory cookie.
To, čo vidíte vyššie, je vložený hárok programu Excel Online, takže neváhajte a zadajte do príslušnej bunky dátum narodenia a za chvíľu získate svoj vek.
Kalkulačka používa nasledujúce vzorce na výpočet veku na základe dátumu narodenia v bunke A3 a dnešného dátumu.
- Vzorec v B5 vypočíta vek v rokoch, mesiacoch a dňoch:
=DATEDIF(B2,TODAY(), "Y") & " Roky, " & DATEDIF(B2,TODAY(), "YM") & " Mesiace, " & DATEDIF(B2,TODAY(), "MD") & " Dni"
- Vzorec v B6 počíta vek v mesiacoch:
=DATEDIF($B$3,TODAY(), "m")
- Vzorec v B7 vypočíta vek v dňoch:
=DATEDIF($B$3,TODAY(), "d")
Ak máte nejaké skúsenosti s ovládacími prvkami formulára programu Excel, môžete pridať možnosť výpočtu veku k určitému dátumu, ako je znázornené na nasledujúcej snímke obrazovky:
Na tento účel pridajte niekoľko tlačidiel možností ( Karta Vývojár > Vložte > Ovládacie prvky formulára > Tlačidlo možnosti ) a prepojte ich s nejakou bunkou. A potom napíšte vzorec IF/DATEDIF, aby ste získali vek buď k dnešnému dátumu, alebo k dátumu zadanému používateľom.
Vzorec funguje na základe nasledujúcej logiky:
- Ak sa Dnešný dátum je vybrané políčko možnosti, v prepojenej bunke (I5 v tomto príklade) sa zobrazí hodnota 1 a vzorec pre vek sa vypočíta na základe dnešného dátumu:
IF($I$5=1, DATEDIF($B$3,TODAY(), "Y") & " Roky, " & DATEDIF($B$3,TODAY(), "YM") & " Mesiace, " & DATEDIF($B$3, TODAY(), "MD") & " Dni")
- Ak sa Konkrétny dátum je vybrané tlačidlo voľby A do bunky B7 je zadaný dátum, vek sa vypočíta k zadanému dátumu:
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", ""))
Nakoniec vložte vyššie uvedené funkcie do seba a získate kompletný vzorec na výpočet veku (v B9):
=IF($I$5=1, DATEDIF($B$3, TODAY(), "Y") & " Roky, " & DATEDIF($B$3, TODAY(), "YM") & " Mesiace, " & DATEDIF($B$3, TODAY(), "MD") & " Dni", IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " Roky, " & DATEDIF($B$3, $B$7, "YM") & " Mesiace, " & DATEDIF($B$3, $B$7, "MD") & " Dni", "")
Vzorce v B10 a B11 pracujú s rovnakou logikou. Samozrejme, sú oveľa jednoduchšie, pretože obsahujú len jednu funkciu DATEDIF, ktorá vracia vek ako počet celých mesiacov, resp. dní.
Ak sa chcete dozvedieť podrobnosti, pozývam vás, aby ste si stiahli túto kalkulačku Excel a preskúmali vzorce v bunkách B9:B11.
Stiahnite si vekovú kalkulačku pre Excel
Kalkulačka veku pripravená na použitie pre Excel
Používatelia nášho balíka Ultimate Suite sa nemusia obťažovať s vytváraním vlastnej kalkulačky veku v programe Excel - stačí len pár kliknutí:
- Vyberte bunku, do ktorej chcete vložiť vzorec pre vek, prejdite na Nástroje Ablebits karta> Dátum & Čas a kliknite na Dátum & Sprievodca časom tlačidlo.
- Spustí sa Sprievodca dátumom & časom a prejdete priamo na Vek tab.
- Na Vek na karte je potrebné zadať 3 veci:
- Údaje o narodení ako odkaz na bunku alebo dátum vo formáte mm/dd/rrrr.
- Vek pri dnešný dátum alebo konkrétny dátum .
- Vyberte, či chcete vypočítať vek v dňoch, mesiacoch, rokoch alebo presný vek.
- Kliknite na tlačidlo Vložte vzorec tlačidlo.
Hotovo!
Vzorec sa na okamih vloží do vybranej bunky a dvojitým kliknutím na úchyt výplne ho skopírujete do stĺpca.
Ako ste si mohli všimnúť, vzorec vytvorený našou kalkulačkou veku v programe Excel je zložitejší ako tie, o ktorých sme hovorili doteraz, ale vyhovuje jednotnému a množnému číslu jednotiek času, ako sú "deň" a "dni".
Ak sa chcete zbaviť nulových jednotiek, ako napríklad "0 dní", vyberte Nepoužívajte zobraziť nulové jednotky zaškrtávacie políčko:
Ak ste zvedaví, či si budete môcť vyskúšať túto vekovú kalkulačku, ako aj objaviť ďalších 60 doplnkov pre Excel, ktoré vám ušetria čas, môžete si stiahnuť skúšobnú verziu nášho balíka Ultimate Suite na konci tohto príspevku.
Ako zvýrazniť určité vekové kategórie (pod alebo nad určitý vek)
V niektorých situáciách môžete potrebovať nielen vypočítať vek v programe Excel, ale aj zvýrazniť bunky, ktoré obsahujú vek nižší alebo vyšší ako určitý vek.
Ak váš vzorec na výpočet veku vracia počet celých rokov, môžete vytvoriť bežné pravidlo podmieneného formátovania založené na jednoduchom vzorci, ako sú tieto:
- Zvýraznenie veku 18 rokov alebo viac: =$C2>=18
- Zvýraznenie veku do 18 rokov: =$C2<18
Kde C2 je najvyššia bunka v stĺpci Vek (bez záhlavia stĺpca).
Ale čo ak váš vzorec zobrazuje vek v rokoch a mesiacoch alebo v rokoch, mesiacoch a dňoch? V tomto prípade budete musieť vytvoriť pravidlo založené na vzorci DATEDIF, ktorý vypočíta vek z dátumu narodenia v rokoch.
Predpokladajme, že dátumy narodenia sú v stĺpci B počnúc riadkom 2, vzorce sú nasledovné:
- Zvýraznenie veku pod 18 (žltá):
=DATEDIF($B2, TODAY(), "Y")<18
- Zvýraznenie veku medzi 18 a 65 (zelená):
=AND(DATEDIF($B2, TODAY(), "Y")>=18, DATEDIF($B2, TODAY(), "Y")<=65)
- Zvýraznenie veku nad 65 (modrá):
=DATEDIF($B2, TODAY(), "Y")>65
Ak chcete vytvoriť pravidlá na základe vyššie uvedených vzorcov, vyberte bunky alebo celé riadky, ktoré chcete zvýrazniť, prejdite na Domov karta> Štýly a kliknite na tlačidlo Podmienené formátovanie > Nové pravidlo... > Použitie vzorca na určenie buniek, ktoré sa majú formátovať .
Podrobný postup nájdete tu: Ako vytvoriť pravidlo podmieneného formátovania na základe vzorca.
Takto sa vypočítava vek v programe Excel. Dúfam, že sa vám vzorce ľahko naučili a vyskúšate ich vo svojich pracovných listoch. Ďakujem za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!
Dostupné súbory na stiahnutie
Príklady výpočtu veku v programe Excel (.xlsx súbor)
14-dňová plne funkčná verzia balíka Ultimate Suite (.exe súbor)