MS Excel nebo Excel je široce používaný tabulkový procesor se širokou škálou vestavěných nástrojů a funkcí. Pomáhá nám zaznamenávat různé soubory dat a provádět výpočty napříč nimi s více buňkami. Příkladem klasického výpočtu je výpočet rozdílu mezi dvěma daty. Nezní to však jako užitečný výpočet. Ale stejná technika je poněkud zásadní pro nalezení nebo výpočet věku někoho nebo něčeho v aplikaci Microsoft Excel.
Kromě zjištění věku libovolné osoby můžeme pomocí stejného konceptu vypočítat dobu trvání jakéhokoli projektu, roky existence jakékoli společnosti, počet let uplynulých mezi zadanými daty atd.
V tomto tutoriálu diskutujeme o různých metodách nebo řešeních, jak vypočítat věk v Excelu. Výukový program nám pomáhá naučit se vypočítat věk jako počet celých let, měsíců a dnů k aktuálnímu datu nebo k jakémukoli konkrétnímu datu.
Jak můžeme vypočítat věk v Excelu?
Přestože v Excelu neexistuje žádná specifická funkce pro výpočet věku, máme mnoho způsobů, jak vypočítat věk odlišně v různých scénářích. Musíme však znát původní datum narození jedince (D.O.B.). Poté dodáme datum narození ve spojení s funkcemi Excelu, konkrétně DATEDIF a TODAY, abychom vypočítali věk nebo odlišili data. Pojďme nyní diskutovat o běžných scénářích zjištění věku:
Výpočet věku v letech
Při výpočtu věku jakékoli osoby obvykle zvažujeme několik faktorů. Například budeme muset vypočítat věk v letech, měsících, dnech nebo všech těchto dohromady. Počítání věku člověka v letech je však nejčastěji používaným úkolem Excelu.
Za předpokladu, že známe datum narození, může nám pár různých funkcí v Excelu pomoci vypočítat věk člověka v letech. Pojďme si podrobně probrat každý užitečný věkový vzorec:
Použití funkce DATEDIF
Funkce DATEDIF v Excelu je nejběžnější funkcí pro výpočet věku osoby. Je to snadno použitelná, vestavěná a nejvhodnější funkce, která přijímá datum narození jako vstupní datum a vrací věk osoby jako výstupní data.
Jiným způsobem funkce DATEDIF obvykle převádí datum narození na věk odpovídající osoby. Primární výhodou funkce DATEDIF je, že ji lze použít k výpočtu věku v různých formátech, jako jsou pouze roky, pouze měsíce, pouze dny nebo kombinovaná forma let, měsíců a dat atd.
Na rozdíl od ostatních funkcí aplikace Excel se funkce DATEDIF neobjevuje v rychlém seznamu funkcí. To znamená, že nevidíme funkci DATEDIF jako návrh, když ji začneme psát do buňky Excelu za rovnítko. Funkce však funguje ve všech verzích aplikace Excel. K použití funkce DATEDIF v Excelu musíme znát syntaxi a požadované argumenty.
Obecná syntaxe funkce DATEDIF je definována takto:
=DATEDIF(start_date, end_date, unit)
Jak je zde ukázáno, funkce vyžaduje následující tři argumenty:
Je důležité si uvědomit, že Y, M a D vrací čísla v celých letech, měsících a dnech. Na rozdíl od toho YM vrací pouze rozdíl v datech v měsících, přičemž ignoruje odpovídající dny a roky, MD vrací pouze rozdíl v datech ve dnech a ignoruje přidružené měsíce a roky a YD vrací rozdíl v datech ve dnech a ignoruje odpovídající roky.
Při výpočtu věku v letech pomocí funkce DATEDIF lze známější syntaxi definovat jako:
=DATEDIF(Datum_narození,Konkrétní_datum,'Y')
Pro výpočet věku od data narození do data můžeme místo Specific_Date zadat aktuální datum. Kromě toho můžeme místo aktuálního data použít i funkci DNES. Zde je příslušný vzorec pro výpočet věku osoby v letech do dnešního data:
=DATEDIF(Datum_narozeni,DNES(),'Y')
Předpokládejme, že máme v buňce B2 datum narození osoby a potřebujeme vypočítat aktuální věk v letech. Potom můžeme použít odkaz na datum narození v posledním vzorci následujícím způsobem:
=DATEDIF(B2,TODAY(),'Y')
Někdy můžeme místo věku v letech vidět konkrétní datum. V takovém případě musíme přejít na kartu Domů > rozevírací seznam Formát čísla > vybrat „Obecné“ místo „Datum“.
Použití funkce YEARFRAC
Další užitečnou metodou pro výpočet věku v Excelu je použití funkce YEARFRAC. Je to snadno použitelná funkce aplikace Excel a často se používá k výpočtu věku v letech. Pomáhá nám získat věk od daného data narození do zadaného data.
Obecná syntaxe pro výpočet věku osoby pomocí funkce YEARFRAC je definována takto:
=YEARFRAC(Birth_Date,Specific_Date)
Pokud potřebujeme vypočítat věk od narození do dnešního data, můžeme místo Specific_Date zadat aktuální datum. Alternativně můžeme také spojit funkci YEARFRAC s funkcí TODAY následujícím způsobem:
=YEARFRAC(Datum_narozeni,DNES())
Ve výchozím nastavení vrací výše uvedený vzorec výsledky v desetinných číslech. To při výpočtu věku člověka nevypadá dobře. Zkombinujeme nebo uzavřeme vzorec do funkce INT, abychom vrátili odpovídající věk jako celé číslo. Úplný vzorec pro výpočet věku v Excelu pomocí funkce YEARFRAC je tedy definován takto:
=INT(YEARFRAC(Datum_narozeni,Konkrétní_datum))
Předpokládejme, že máme aktuální datum v buňce A2 a datum narození osoby v buňce B2. V takovém případě můžeme vypočítat věk této konkrétní osoby pomocí následujícího vzorce:
=INT(YEARFRAC(B2,A2))
kat timpf výška
Pokud použijeme funkci YEARFRAC s funkcí TODAY pro výpočet věku v letech, vzorec vypadá takto:
=INT(YEARFRAC(B2, DNES()))
V kombinaci s funkcí TODAY vrací funkce YEARFRAC pouze aktuální nebo poslední věk v letech.
Pomocí funkce ROUNDDOWN
I když se používá zřídka, můžeme také použít funkci ROUNDDOWN pro výpočet věku v Excelu. Níže je uvedena syntaxe pro výpočet věku v Excelu pomocí vzorce ROUNDDOWN:
=ROUNDDOWN((Specific_Date - Birth_Date)/365.25,0)
Obecně funkce ROUNDDOWN pomáhá zaokrouhlovat desetinná místa směrem dolů. Vzorec jsme však upravili tak, že počítá věk v letech. Ve vzorci používáme 365,25 pro přestupný rok (366 dní v roce), který přichází každé čtyři roky. 0 používáme jako poslední argument ve funkci ROUNDDOWN, abychom ignorovali desetinná místa ve věku.
Vzorec ROUNDDOWN je dobrým postupem pro výpočet věku, ale nedoporučuje se, protože není bezchybný. Předpokládejme, že dítě ještě neprožilo žádný přestupný rok a vypočítáme věk pomocí tohoto vzorce vydělením 365,25; vzorec vrátí nesprávný věk.
Dělení průměrným počtem dní v roce také funguje ve většině případů dobře, což znamená, že můžeme dělit 365 dny místo 365,25. Tento případ má však také určité problémy a někdy vede ke špatným výsledkům. Předpokládejme například, že něčí D.O.B. je 29. února a aktuální datum je 28. února. Pokud v takovém případě vydělíme 365, bude věk získaný vzorcem o jeden den starší. Pro výpočet data v tomto případě tedy musíme vydělit 365,25. Tyto dva přístupy tedy nejsou dokonalé. Vždy se doporučuje použít funkci DATEDIF pro výpočet věku osoby v Excelu.
Předpokládejme, že máme aktuální datum v buňce A2 a něčí D.O.B. v buňce B2. V takovém případě můžeme vypočítat věk této konkrétní osoby pomocí následujícího vzorce:
=ROUNDDOWN((A2-B2)/365,25,0)
Kromě toho můžeme také použít funkci DNES namísto Specific_Date pro výpočet věku osoby k aktuálnímu datu.
32bitová architektura vs 64bitová
Pomocí funkce DNES
Vzhledem k tomu, že se věk nejčastěji počítá odečtením data narození od aktuálního data, pomáhá nám do jisté míry věk vypočítat i funkce DNES v Excelu. Stejně jako vzorec ROUNDDOWN, vzorec DNES také není ideální pro výpočet něčího věku v Excelu.
Předpokládejme, že v buňce B2 máme něčí datum narození; můžeme použít vzorec DNES pro výpočet věku následujícím způsobem:
=(DNES()-B2)/365
Na základě určitých případů můžeme někdy potřebovat dělit 365,25 místo 365. V tomto vzorci první část (TODAY()-B2) obvykle vypočítává rozdíl mezi aktuálním datem a datem narození. Druhá část vzorce pomáhá vydělit rozdíl 365 a získat počet let (tj. věk v letech).
Bohužel vzorec TODAY zde poskytuje výsledky v desetinných místech, stejně jako funkce YEARFRAC. Proto v rámci funkce INT uzavřeme vzorec DNES, abychom zobrazili věk v celých letech nebo nejbližší celočíselnou hodnotu. Takže konečný TOTAL vzorec pro výpočet věku v letech vypadá takto:
=INT((DNES()-B2)/365)
Výpočet věku v měsících
Jak jsme již řekli, funkce DATEDIF nám může pomoci vypočítat něčí věk v různých formátech. Můžeme tedy znovu použít stejný vzorec DATEDIF v našem listu. Musíme však změnit jednotku ve vzorci z 'Y' na 'M'. To Excelu říká, aby zobrazil nebo vrátil věk v měsících.
Zvažme znovu stejný příklad datové sady, kde máme v buňce B2 něčí datum narození. Potřebujeme vypočítat aktuální věk v měsících. Potom můžeme použít odkaz na datum narození ve vzorci DATEDIF následujícím způsobem:
=DATEDIF(B2,TODAY(),'M')
Výpočet věku ve dnech
Výpočet věku ve dnech se stává snadným, když již známe syntaxi funkce DATEDIF. Stejně jako v předchozím příkladu jsme změnili argument jednotky z „Y“ na „M“, což nám pomohlo vypočítat věk osoby v měsících. Podobně, pokud změníme argument jednotky z 'M' na 'D', funkce vrátí věk ve dnech. Když tedy vezmeme v úvahu, že pokud je D.O.B. je v buňce B2, vzorec bude následující:
=DATEDIF(B2,TODAY(),'D')
Výpočet věku v letech, měsících a dnech dohromady
Jak bylo diskutováno výše, vypočítat věk člověka v jednotlivých letech, měsících a dnech je překvapivě snadné. To však nemusí vždy stačit. Mohou nastat případy, kdy musíme najít nebo vypočítat přesný věk osoby v letech, měsících a dnech dohromady. V takových případech se vzorec stává trochu zdlouhavým, ale stále snadným.
Abychom vypočítali přesný věk osoby v celých letech, měsících a dnech, musíme použít tři různé funkce DATEDIF a spojit je do vzorce současně. Předpokládejme, že pokud je datum narození osoby v buňce B2, tři různé funkce DATEDIF budou následující:
- Pro výpočet počtu celých let: =DATEDIF(B2,TODAY(),'Y')
- Chcete-li vypočítat počet zbývajících měsíců: =DATEDIF(B2,TODAY(),'YM')
- Chcete-li vypočítat počet zbývajících dnů: =DATEDIF(B2,TODAY(),'MD')
Nyní zkombinujeme všechny tyto funkce DATEDIF pomocí operátoru '&' následujícím způsobem:
=DATEDIF(B2,TODAY(),'Y')&DATEDIF(B2,TODAY(),'YM')&DATEDIF(B2,TODAY(),'MD')
Ačkoli získáme věk v letech, měsících a datech jako jeden řetězec, není to smysluplné. Aby byly výsledky (nebo věk) efektivní nebo srozumitelné, oddělujeme každou jednotku pomocí čárky a určujeme, co která hodnota znamená. Takže vzorec se stává tímto:
=DATEDIF(B2,TODAY(),'Y') & 'roky, ' & DATEDIF(B2,TODAY(),'YM') & 'měsíce, ' & DATEDIF(B2,TODAY(),'MD') & 'dny'
Výše uvedený obrázek ukazuje, že věkové výsledky jsou poměrně smysluplnější než předchozí. Zobrazuje však také nějaké nulové hodnoty. Náš vzorec DATEDIF můžeme dále vylepšit tím, že jej zkombinujeme se třemi různými příkazy IF pro kontrolu a odstranění nul. Takže konečným vzorcem Excelu pro výpočet aktuálního věku někoho v letech, měsících a dnech je tento:
=IF(DATEDIF(B2, DNES(),'Y')=0,'',DATEDIF(B2, DNES(),'Y')&' roky, ')& IF(DATEDIF(B2, DNES(), 'YM')=0,'',DATEDIF(B2, TODAY(),'YM')&' Měsíce, ')& IF(DATEDIF(B2, TODAY(),'MD')=0,'',DATEDIF (B2, DNES(),'MD')&'Dny')
Na obrázku výše vidíme pouze nenulové hodnoty věku osoby. Vzorec však zjistí pouze aktuální věk osoby.
Výpočet věku k jakémukoli konkrétnímu/konkrétnímu datu
V syntaxi vzorců výše jsme již diskutovali o způsobu, který nám říká najít něčí věk k určitému datu. Například níže uvedený vzorec DATEDIF vypočítá věk osoby k určitému datu:
=DATEDIF(Datum_narození,Konkrétní_datum,'Y')
Argument jednotky lze podle potřeby změnit. Ve výše uvedeném vzorci můžeme obvykle zadat odkaz na buňku pro obě data a výsledek se zobrazí v cílové buňce.
Další typickou metodou, jak použít stejný vzorec pro výpočet věku osoby k jakémukoli konkrétnímu datu, je zadat požadované datum přímo do vzorce. Předpokládejme například, že máme v buňce B2 něčí D.O.B (30. 5. 1995) a chceme znát věk dané osoby k 1. 1. 2021. Takže můžeme použít funkci DATEDIF ve spojení s funkcí DATE následujícím způsobem:
=DATEDIF(B2,DATE(2021;1;1);'Y')
Na obrázku výše používáme funkci DATE k poskytnutí konkrétního data přímo ve funkci DATEDIF, zatímco odkaz B2 se používá pro D.O.B.
Kromě toho, pokud potřebujeme najít datum osoby v letech, měsících a dnech k určitému datu, můžeme použít stejný výše diskutovaný koncept DATEDIF, kde jsme spojili tři funkce DATEDIF. Musíme však nahradit funkci TODAY() ve druhém argumentu námi požadovaným datem.
Když je tedy datum narození osoby v buňce B2 a potřebujeme vypočítat věk k 1. 1. 2021, použijeme níže uvedený vzorec:
=IF(DATEDIF(B2, '1/1/2021','Y')=0,'',DATEDIF(B2, '1/1/2021','Y')&' Years, ')& IF( DATEDIF(B2, '1/1/2021','YM')=0,'',DATEDIF(B2, '1/1/2021','YM')&' Měsíce, ')& IF(DATEDIF(B2) , '1/1/2021','MD')=0,'',DATEDIF(B2; '1/1/2021','MD')&' Dny')
Namísto uvedení konkrétního data do vzorce můžeme pro konkrétní datum použít odkaz na buňku a náš vzorec bude srozumitelný. Předpokládejme, že datum narození osoby je v buňce B2 a konkrétní datum, ke kterému chceme vypočítat věk, je v buňce C2, pak bude flexibilní věkový vzorec následující:
=IF(DATEDIF(B2, C2,'Y')=0,'',DATEDIF(B2, C2,'Y')&' Roky, ')& IF(DATEDIF(B2, C2,'YM')=0 ,'',DATEDIF(B2, C2,'YM')&' Měsíce, ')& IF(DATEDIF(B2, C2,'MD')=0,'',DATEDIF(B2, C2,'MD')& 'Dny')