Obsah
Tento návod vysvetľuje syntax a použitie funkcie YEAR programu Excel a poskytuje príklady vzorcov na extrakciu roku z dátumu, prevod dátumu na mesiac a rok, výpočet veku z dátumu narodenia a určiť priestupné roky.
V niekoľkých nedávnych príspevkoch sme preskúmali rôzne spôsoby výpočtu dátumov a časov v programe Excel a naučili sme sa rôzne užitočné funkcie, ako napríklad WEEKDAY, WEEKNUM, MONTH a DAY. Dnes sa zameriame na väčšiu časovú jednotku a povieme si o výpočte rokov v pracovných hárkoch programu Excel.
V tomto tutoriáli sa naučíte:
Funkcia YEAR v programe Excel
Funkcia YEAR v programe Excel vráti štvormiestny rok zodpovedajúci danému dátumu ako celé číslo od 1900 do 9999.
Syntax funkcie Excel YEAR je tak jednoduchá, ako len môže byť:
YEAR(serial_number)Kde serial_number je ľubovoľný platný dátum roku, ktorý chcete nájsť.
Vzorec Excel ROK
Ak chcete v programe Excel vytvoriť vzorec YEAR, môžete zdrojový dátum zadať niekoľkými spôsobmi.
Používanie funkcie DÁTUM
Najspoľahlivejším spôsobom zadávania dátumu v programe Excel je použitie funkcie DATE.
Napríklad nasledujúci vzorec vráti rok 28. apríla 2015:
=ROK(DATE(2015, 4, 28))
Ako sériové číslo predstavujúce dátum
V internom systéme Excel sa dátumy ukladajú ako poradové čísla počnúc 1. januárom 1900, ktorý je uložený ako číslo 1. Ďalšie informácie o spôsobe ukladania dátumov v programe Excel nájdete v časti Formát dátumu v programe Excel.
28. deň mesiaca apríl 2015 je uložený ako 42122, takže toto číslo môžete zadať priamo do vzorca:
= ROK(42122)
Hoci je táto metóda prijateľná, neodporúča sa, pretože číslovanie dátumov sa môže v rôznych systémoch líšiť.
Ako odkaz na bunku
Za predpokladu, že máte v niektorej bunke platný dátum, môžete sa na túto bunku jednoducho odvolať. Napríklad:
= ROK(A1)
V dôsledku iného vzorca
Na získanie roku z aktuálneho dátumu môžete použiť napríklad funkciu TODAY():
=YEAR(TODAY())
Ako text
V jednoduchom prípade dokáže vzorec YEAR porozumieť aj dátumom zadaným ako text, napríklad takto:
=YEAR("28-Apr-2015")
Pri používaní tejto metódy dvakrát skontrolujte, či dátum zadávate vo formáte, ktorému program Excel rozumie. Nezabudnite tiež, že spoločnosť Microsoft nezaručuje správne výsledky, ak je dátum zadaný ako textová hodnota.
Nasledujúci obrázok demonštruje všetky vyššie uvedené vzorce YEAR v akcii, pričom všetky vracajú rok 2015, ako by ste mohli očakávať :)
Ako previesť dátum na rok v programe Excel
Pri práci s dátumovými informáciami v programe Excel sa v pracovných hárkoch zvyčajne zobrazujú úplné dátumy vrátane mesiaca, dňa a roka. Pri významných míľnikoch a dôležitých udalostiach, ako je uvedenie produktu na trh alebo akvizícia majetku, však možno budete chcieť zobraziť len rok bez opätovného zadávania alebo úpravy pôvodných údajov. Nižšie nájdete 3 rýchle spôsoby, ako to urobiť.
Príklad 1. Výpis roku z dátumu pomocou funkcie YEAR
V skutočnosti už viete, ako použiť funkciu YEAR v programe Excel na prevod dátumu na rok. Na vyššie uvedenej snímke obrazovky je demonštrovaných niekoľko vzorcov a niekoľko ďalších príkladov si môžete pozrieť na snímke nižšie. Všimnite si, že funkcia YEAR dokonale rozumie dátumom vo všetkých možných formátoch:
Príklad 2. Prevod dátumu na mesiac a rok v programe Excel
Ak chcete previesť daný dátum na rok a mesiac, môžete použiť funkciu TEXT na extrahovanie každej jednotky osobitne a potom tieto funkcie spojiť do jedného vzorca.
Vo funkcii TEXT môžete použiť rôzne kódy pre mesiace a roky, napríklad:
- "mmm" - skrátené názvy mesiacov, ako Jan - Dec.
- "mmmm" - plné názvy mesiacov, ako január - december.
- "yy" - 2-miestne roky
- "rrrr" - 4-miestne roky
Aby bol výstup lepšie čitateľný, môžete kódy oddeliť čiarkou, pomlčkou alebo iným znakom, ako v nasledujúcom prípade Dátum na mesiac a rok vzorce:
=TEXT(B2, "mmmm") & ", " & TEXT(B2, "rrrr")
Alebo
=TEXT(B2, "mmm") & "-" & TEXT(B2, "yy")
Kde B2 je bunka obsahujúca dátum.
Príklad 3. Zobrazenie dátumu ako roku
Ak vám nezáleží na tom, ako sú dátumy uložené v zošite, môžete dosiahnuť, aby Excel zobrazoval iba roky bez zmeny pôvodných dátumov. Inými slovami, v bunkách môžete mať uložené celé dátumy, ale zobrazené iba roky.
V tomto prípade nie je potrebný žiadny vzorec. Stačí otvoriť Formátovanie buniek stlačením klávesovej skratky Ctrl + 1 , vyberte Vlastné kategóriu na Číslo a zadajte jeden z nasledujúcich kódov do políčka Typ box:
- yy - zobrazenie dvojmiestnych rokov ako 00 - 99.
- yyyy - zobrazenie štvormiestnych rokov ako 1900 - 9999.
Nezabudnite, že táto metóda nemení pôvodný dátum , zmení sa len spôsob zobrazenia dátumu v pracovnom hárku. Ak sa na takéto bunky odvoláte vo svojich vzorcoch, Microsoft Excel vykoná výpočty dátumu namiesto výpočtu roku.
Ďalšie podrobnosti o zmene formátu dátumu nájdete v tomto návode: Ako zmeniť formát dátumu v programe Excel.
Ako vypočítať vek z dátumu narodenia v programe Excel
Existuje niekoľko spôsobov, ako vypočítať vek z dátumu narodenia v programe Excel - pomocou funkcie DATEDIF, YEARFRAC alebo INT v kombinácii s funkciou TODAY(). Funkcia TODAY poskytuje dátum, ku ktorému sa má vypočítať vek, čím sa zabezpečí, že vzorec vždy vráti správny vek.
Výpočet veku z dátumu narodenia v rokoch
Tradičný spôsob výpočtu veku osoby v rokoch je odčítanie dátumu narodenia od aktuálneho dátumu. Tento prístup funguje dobre v každodennom živote, ale analogický vzorec na výpočet veku v programe Excel nie je úplne pravdivý:
INT((TODAY()- DOB )/365)Kde DOB je dátum narodenia.
Prvá časť vzorca (TODAY()-B2) vypočíta rozdiel dní a vy ho vydelíte číslom 365, čím získate počet rokov. Vo väčšine prípadov je výsledkom tejto rovnice desatinné číslo a funkcia INT ho zaokrúhli na najbližšie celé číslo.
Za predpokladu, že dátum narodenia je v bunke B2, celý vzorec vyzerá takto:
=INT((DNES()-B2)/365)
Ako už bolo spomenuté vyššie, tento vzorec na výpočet veku nie je vždy bezchybný, a tu je dôvod. Každý 4. rok je priestupný a obsahuje 366 dní, pričom vzorec delí počet dní číslom 365. Ak sa teda niekto narodil 29. februára a dnes je 28. februára, podľa tohto vzorca bude o jeden deň starší.
Delenie číslom 365,25 namiesto 365 nie je bezchybné napríklad ani pri výpočte veku dieťaťa, ktoré ešte neprežilo priestupný rok.
Vzhľadom na vyššie uvedené skutočnosti si radšej tento spôsob výpočtu veku uložte pre bežný život a na výpočet veku z dátumu narodenia v programe Excel použite jeden z nasledujúcich vzorcov.
DATEDIF( DOB , TODAY(), "y") ROUNDDOWN(YEARFRAC( DOB , TODAY(), 1), 0)Podrobné vysvetlenie uvedených vzorcov nájdete v časti Ako vypočítať vek v programe Excel. A nasledujúca snímka obrazovky demonštruje vzorec na výpočet veku v praxi:
=DATEDIF(B2, TODAY(), "y")
Výpočet presného veku z dátumu narodenia (v rokoch, mesiacoch a dňoch)
Ak chcete vypočítať presný vek v rokoch, mesiacoch a dňoch, napíšte tri funkcie DATEDIF s týmito jednotkami v poslednom argumente:
- Y - na výpočet počtu celých rokov.
- YM - na získanie rozdielu medzi mesiacmi, bez ohľadu na roky.
- MD - aby ste získali rozdiel medzi dňami, pričom ignorujete roky a mesiace.
A potom spojte 3 funkcie DATEDIF do jedného vzorca, oddeľte čísla vrátené každou funkciou čiarkami a definujte, čo jednotlivé čísla znamenajú.
Za predpokladu, že dátum narodenia je v bunke B2, celý vzorec vyzerá takto:
=DATEDIF(B2,TODAY(), "Y") & " Roky, " & DATEDIF(B2,TODAY(), "YM") & " Mesiace, " & DATEDIF(B2,TODAY(), "MD") & " Dni"
Tento vzorec veku sa môže veľmi hodiť napríklad lekárovi na zobrazenie presného veku pacientov alebo personalistovi na zistenie presného veku všetkých zamestnancov:
Ďalšie príklady vzorcov, ako napríklad výpočet veku k určitému dátumu alebo v určitom roku, nájdete v nasledujúcom návode: Ako vypočítať vek v programe Excel.
Ako získať číslo dňa v roku (1-365)
Tento príklad ukazuje, ako môžete získať číslo určitého dňa v roku v rozmedzí od 1 do 365 (1-366 v priestupných rokoch), pričom 1. január sa považuje za 1. deň.
Na tento účel použite funkciu YEAR spolu s funkciou DATE týmto spôsobom:
=A2-DATE(YEAR(A2), 1, 0)
Kde A2 je bunka obsahujúca dátum.
A teraz sa pozrime, čo vzorec skutočne robí. ROK získa rok dátumu v bunke A2 a odovzdá ho funkcii DATE(rok, mesiac, deň) funkcia, ktorá vráti poradové číslo, ktoré predstavuje určitý dátum.
Takže v našom vzorci, rok
sa získava z pôvodného dátumu (A2), mesiac
je 1 (január) a deň
je 0. Nulový deň totiž núti Excel vrátiť 31. december predchádzajúceho roka, pretože chceme, aby sa 1. január považoval za 1. deň. A potom od pôvodného dátumu (ktorý je v Exceli tiež uložený ako poradové číslo) odčítate poradové číslo vrátené vzorcom DATE a rozdiel je hľadaný deň roka. Napríklad 5. január 2015 je uložený ako 42009 a31. decembra 2014 je 42004, takže 42009 - 42004 = 5.
Ak sa vám pojem deň 0 nezdá správny, môžete namiesto neho použiť nasledujúci vzorec:
=A2-DATE(YEAR(A2), 1, 1)+1
Ako vypočítať počet zostávajúcich dní v roku
Na výpočet počtu dní zostávajúcich do konca roka opäť použijeme funkcie DATE a YEAR. Vzorec je založený na rovnakom prístupe ako príklad 3 vyššie, takže pravdepodobne nebudete mať žiadne problémy s pochopením jeho logiky:
=DATE(YEAR(A2),12,31)-A2
Ak chcete zistiť, koľko dní zostáva do konca roka na základe aktuálneho dátumu, použite funkciu Excel TODAY(), a to nasledovne:
=DATE(2015, 12, 31)-TODAY()
Kde rok 2015 je aktuálny rok.
Výpočet priestupných rokov v programe Excel
Ako iste viete, takmer každý štvrtý rok má 29. februára deň navyše a nazýva sa priestupný rok. V hárkoch programu Microsoft Excel môžete rôznymi spôsobmi určiť, či určitý dátum patrí do priestupného alebo bežného roka. Ukážem len niekoľko vzorcov, ktoré sú podľa môjho názoru najjednoduchšie na pochopenie.
Vzorec 1. Skontrolujte, či má február 29 dní
Keďže február má v priestupných rokoch 29 dní, vypočítame počet dní v 2. mesiaci daného roka a porovnáme ho s číslom 29. Napríklad:
=DAY(DATE(2015,3,1)-1)=29
V tomto vzorci funkcia DATE(2015,3,1) vráti 1. deň v marci roku 2015, od ktorého odpočítame 1. Funkcia DAY z tohto dátumu vyberie číslo dňa a porovnáme ho s číslom 29. Ak sa čísla zhodujú, vzorec vráti TRUE, v opačnom prípade FALSE.
Ak už máte v hárku programu Excel zoznam dátumov a chcete zistiť, ktoré z nich sú priestupné, potom do vzorca zakomponujte funkciu YEAR na extrahovanie roku z dátumu:
=DAY(DATE(YEAR(A2),3,1)-1)=29
Kde A2 je bunka obsahujúca dátum.
Výsledky vrátené vzorcom sú nasledovné:
Prípadne môžete použiť funkciu EOMONTH na vrátenie posledného dňa vo februári a porovnať toto číslo s číslom 29:
=DAY(EOMONTH(DATE(YEAR(A2),2,1),0))=29
Aby bol vzorec užívateľsky prívetivejší, použite funkciu IF a namiesto TRUE a FALSE nechajte vrátiť napríklad "Priestupný rok" a "Bežný rok":
=IF(DAY(DATE(YEAR(A2),3,1)-1)=29, "Priestupný rok", "Bežný rok")
=IF(DAY(EOMONTH(DATE(YEAR(A2),2,1),0))=29, "Priestupný rok", "Bežný rok")
Vzorec 2. Skontrolujte, či má rok 366 dní
Toto je ďalší zrejmý test, ktorý si nevyžaduje takmer žiadne vysvetlenie. Použijeme jednu funkciu DATE na vrátenie 1.1. nasledujúceho roka, druhú funkciu DATE na získanie 1.1. tohto roka, odčítame druhú funkciu od prvej a skontrolujeme, či sa rozdiel rovná 366:
=DÁTUM(2016,1,1) - DÁTUM(2015,1,1)=366
Ak chcete vypočítať rok na základe dátumu zadaného v niektorej bunke, použite funkciu Excel YEAR presne rovnakým spôsobom ako v predchádzajúcom príklade:
=DÁTUM(ROK(A2)+1,1,1) - DÁTUM(ROK(A2),1,1)=366
Kde A2 je bunka obsahujúca dátum.
A samozrejme, vyššie uvedený vzorec DATE / YEAR môžete vložiť do funkcie IF, aby vrátila niečo zmysluplnejšie ako logické hodnoty TRUE a FALSE:
=IF(DATE(YEAR(A2)+1,1,1) - DATE(YEAR(A2),1,1)=366, "Priestupný rok", "Nepriestupný rok")
Ako už bolo spomenuté, toto nie sú jediné možné spôsoby výpočtu priestupných rokov v programe Excel. Ak ste zvedaví na iné riešenia, môžete si pozrieť metódu navrhovanú spoločnosťou Microsoft. Ako zvyčajne, chlapci zo spoločnosti Microsoft nehľadajú jednoduché spôsoby, však?
Dúfam, že vám tento článok pomohol zorientovať sa v ročných výpočtoch v programe Excel. Ďakujem vám za prečítanie a teším sa na vás budúci týždeň.