Ako vypočítať rozdiel medzi dátumami. Výpočet rozdielu dátumov v programe Microsoft Excel. Ako vypočítať rozdiel medzi dátumami v Exceli

Ak chcete vykonať určité úlohy v programe Excel, musíte určiť, koľko dní uplynulo medzi určitými dátumami. Našťastie má program nástroje, ktoré dokážu tento problém vyriešiť. Poďme zistiť, ako môžete vypočítať rozdiel dátumov v programe Excel.

Skôr ako začnete pracovať s dátumami, musíte bunky naformátovať na tento formát. Vo väčšine prípadov, keď zadáte znakovú sadu, ktorá vyzerá ako dátum, bunka sa preformátuje sama. Ale stále je lepšie to urobiť ručne, aby ste sa poistili proti prekvapeniam.


Teraz všetky údaje, ktoré budú obsiahnuté vo vybraných bunkách, program rozpozná ako dátum.

Metóda 1: jednoduchý výpočet

Najjednoduchší spôsob, ako vypočítať rozdiel dní medzi dátumami, je jednoduchý vzorec.


Metóda 2: Funkcia RAZDAT

Na výpočet rozdielu dátumov môžete použiť aj špeciálnu funkciu RAZDAT. Problém je, že sa nenachádza v zozname Sprievodcu funkciami, takže vzorec musíte zadať ručne. Jeho syntax vyzerá takto:

RAZDAT(dátum_začiatku, dátum_ukončenia, jednotka)

"jednotka"- toto je formát, v ktorom sa zobrazí výsledok vo vybranej bunke. Symbol použitý v tomto parametri určuje jednotky, v ktorých sa vráti súčet:

  • "y" - celé roky;
  • "m" - celé mesiace;
  • "d" - dni;
  • "YM" - rozdiel v mesiacoch;
  • "MD" - rozdiel v dňoch (mesiace a roky sa neberú do úvahy);
  • "YD" - rozdiel v dňoch (roky sa neberú do úvahy).

Musíte tiež poznamenať, že na rozdiel od metódy jednoduchého vzorca opísanej vyššie, pri použití tejto funkcie musí byť počiatočný dátum na prvom mieste a dátum ukončenia by mal byť na druhom mieste. V opačnom prípade budú výpočty nesprávne.


Metóda 3: výpočet počtu pracovných dní

Excel má tiež možnosť vypočítať pracovné dni medzi dvoma dátumami, teda okrem víkendov a sviatkov. Na to slúži funkcia CHISTRABNI. Na rozdiel od predchádzajúceho príkazu je uvedený v Sprievodcovi funkciami. Syntax tejto funkcie je:

NETWORKDAYS(dátum_začiatku; dátum_ukončenia; [sviatky])

V tejto funkcii sú hlavné argumenty rovnaké ako argumenty operátora RAZDAT- počiatočné a konečný dátum. Okrem toho existuje voliteľný argument "Prázdniny".

Mali by byť nahradené dátumami štátnych sviatkov, ak nejaké existujú, pre príslušné obdobie. Funkcia vypočíta všetky dni zadaného rozsahu, okrem sobôt, nedieľ a tiež dní, ktoré používateľ pridá do argumentu "Prázdniny".


Po vyššie uvedených manipuláciách sa vo vopred vybranej bunke zobrazí počet pracovných dní za zadané obdobie.

Ako vidíte, program Excel poskytuje svojim používateľom pomerne pohodlný nástroj na výpočet počtu dní medzi dvoma dátumami. Zároveň, ak potrebujete vypočítať rozdiel v dňoch, najlepšou možnosťou by bolo použiť jednoduchý vzorec na odčítanie namiesto použitia funkcie RAZDAT. Ak však potrebujete napríklad vypočítať počet pracovných dní, funkcia príde na záchranu NETWORKDAYS. To znamená, že ako vždy by sa mal používateľ rozhodnúť pre nástroj na vykonanie po nastavení konkrétnej úlohy.

Na pracovnom hárku programu Excel bol vytvorený plán úloh. V jednom stĺpci sú uvedené dátumy dokončenia pre každú úlohu vykonania. Aby sme zvýraznili zošité termíny úloh, potrebujeme presný rozdiel medzi dátumami v Exceli. Na tento účel použijeme podmienené formátovanie pomocou vzorca RAZDAT.

Ako vypočítať rozdiel medzi dátumami v Exceli

Je potrebné zvýrazniť názvy úloh, ktorých termíny končia o 7 dní. Príklad tabuľky plánu úloh:


Konečný efekt zvýraznenia termínov po 7 dňoch:


Zvýraznené v zelenej farbe všetky úlohy, ktoré musia byť dokončené do 7 dní. Ak zmeníte hodnoty v bunke D2, zvýraznia sa ďalšie úlohy.

Užitočná rada! V bunke D2 môžete použiť funkciu na získanie dnešného dátumu: =DNES().



Vzorec rozdielu dátumov v Exceli

Vzorec vráti rozdiel dátumov medzi dnešným a nastaveným plánom v dňoch. Na vyriešenie tohto problému sa používa funkcia RAZDAT v programe Excel: kde nájdem tento vzorec?

Túto funkciu nenájdete v sprievodcovi funkciou a dokonca ani na paneli FORMULA. Vždy ho treba zadať ručne. Prvý argument funkcie musí byť vždy najnovší dátum a druhý argument musí byť vždy najvyšší dátum. Tretí argument funkcie definuje mernú jednotku sumy vrátenej funkciou =RAZDAT(). V tomto prípade ide o symbol „d“ – dní. To znamená, že funkcia vráti počet dní. Nasleduje operátor<7. То есть формула проверяет, если функция возвращает число меньше чем 7, то формула возвращает значение ИСТИНА и к текущей ячейке применяется условное форматирование. Ссылки на ячейки в первом аргумент абсолютная (значение неизменяемое), а во втором аргументе – относительная, так как проверятся будут несколько ячеек в столбце C.

V prípade potreby môžete do tohto rozsahu pridať nové pravidlo podmieneného formátovania, ktoré nás upozorní na koniec termínu 2 týždne vopred. Ak to chcete urobiť, musíte pridať nové pravidlo podmieneného formátovania pre rozsah A2:A7 a len mierne zmeniť vzorec v novom pravidle:


Farbu formátovania pre druhé pravidlo môžete nastaviť na žltú. Na rovnaký rozsah sa musia použiť 2 pravidlá podmieneného formátovania. Ak chcete skontrolovať, vyberte nástroj: "DOMOV" - "Štýly" - "Podmienené formátovanie" - "Spravovať pravidlá". Keďže najprv vykonáme hlavné pravidlo, mali by sme zmeniť ich poradie v zobrazenom okne: „Správca pravidiel podmieneného formátovania“. V opačnom prípade budú mať všetky vybrané úlohy žlté tienenie buniek. Stačí vybrať prvé pravidlo a stlačiť tlačidlo nadol (CTRL + ŠÍPKA NADOL), ako je znázornené na obrázku:


V dôsledku toho nás plán varuje najskôr dva týždne a potom týždeň pred termínom dokončenia úloh:


Užitočná rada! Ak je k rovnakému rozsahu priradených veľa pravidiel, postupujte podľa hierarchie priorít v poradí, v ktorom sa vykonávajú v Správcovi pravidiel. Čím je pravidlo vyššie, tým má vyššiu prioritu vykonávania v porovnaní s ostatnými pod ním.

Tu je útržok kódu:

Query = New Query("SELECT | SELECT | WHEN DATE DIFFERENCE(&D1, ADDDATE(&D2, DAY, 1), DAY) - DATE DIFFERENCE(PERIOD START(&D1, MONTH), PERIOD START(ADD DATE(&D2, DAY, 1) ), MESIAC), DEŇ)< 0 | ТОГДА ДЕНЬ(КОНЕЦПЕРИОДА(&Д1, МЕСЯЦ)) + РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ДЕНЬ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, МЕСЯЦ), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ), ДЕНЬ) | ИНАЧЕ РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ДЕНЬ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, МЕСЯЦ), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ), ДЕНЬ) | КОНЕЦ КАК Дни, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ДЕНЬ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, МЕСЯЦ), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ), ДЕНЬ) < 0 | ТОГДА ВЫБОР | КОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) < 0 | ТОГДА 12 + РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) | ИНАЧЕ РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) | КОНЕЦ - 1 | ИНАЧЕ ВЫБОР | КОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) < 0 | ТОГДА 12 + РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) | ИНАЧЕ РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) | КОНЕЦ | КОНЕЦ КАК Месяцы, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), МЕСЯЦ) - РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&Д1, ГОД), НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД), МЕСЯЦ) < 0 | ТОГДА РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД) - 1 | ИНАЧЕ РАЗНОСТЬДАТ(&Д1, ДОБАВИТЬКДАТЕ(&Д2, ДЕНЬ, 1), ГОД) | КОНЕЦ КАК Годы"); Запрос.УстановитьПараметр("Д2",КонечнаяДата); Запрос.УстановитьПараметр("Д1",НачальнаяДата); ТабДМГ=Запрос.Выполнить().Выгрузить(); Стр = ТабДМГ; Сообщить("Разность дат составляет: "+Стр.Дни+" дней "+Стр.Месяцы+" месяцев "+Стр.Годы+" лет ");

Samozrejme môžete pridať aj správny pravopis dní, mesiacov a rokov v závislosti od počtu. Ale to je už iná téma.

Tu vypočítame:

* pre dni- berieme celkový počet dní v intervale a odpočítame počet dní, ktoré už boli zohľadnené, a to je rozdiel medzi začiatkami našich mesiacov od dátumov. Toto číslo sa zohľadní v riadku s výpočtom mesiaca. Ale pri výpočte dní kontrolujeme počet prijatých dní na negativitu. Ak je počet dní záporný, potom sme sa presunuli na ďalší mesiac, ale v skutočnosti ešte neuplynul mesiac medzi dátumami. Aby sme to zohľadnili, k zápornému počtu dní pripočítame počet dní v mesiaci prvého dátumu.

*mesiace- berieme aj celkový počet mesiacov a odpočítame počet už započítaných mesiacov a to je rozdiel medzi začiatkami našich nôh. Toto číslo sa zohľadní aj pri výpočte roka. Ale pri výpočte mesiaca kontrolujeme aj počet prijatých mesiacov na negativitu. Ak je počet mesiacov záporný, potom sme sa presunuli do nového roka, ale v skutočnosti ešte neuplynul rok medzi dátumami. Aby sme to zohľadnili, k zápornému počtu mesiacov pripočítame 12.

* za rok- vezmite počet rokov medzi dátumami. Ale ak bol počet mesiacov záporný, potom odpočítame jeden rok, pretože ešte neprešiel.

A k druhému rande pridávam jeden deň, lebo Potrebujem, aby bol tento posledný deň zahrnutý do výpočtu.

Nejako takto. Ak máte nejaké otázky - píšte.

Ak chcete vypočítať rozdiel medzi dvoma dátumami, použite funkciu DIFFERENT. Najprv zadajte počiatočný dátum do bunky a koncový dátum do inej. Potom zadajte vzorec, napríklad jeden z nasledujúcich.

Rozdiel v dňoch

V tomto príklade je dátum začiatku v bunke D9 a dátum ukončenia je v bunke E9. Vzorec sa zobrazí na F9. "D" vráti počet úplných dní medzi dvoma dátumami.

Rozdiel v týždňoch


V tomto príklade je dátum začiatku v bunke D13 a dátum ukončenia je v bunke E13. "D" vráti počet dní. Ale všimnite si, že na konci je /7 . Tým sa počet dní vydelí 7, pretože týždeň má 7 dní. Upozorňujeme, že tento výsledok musí byť tiež naformátovaný ako číslo. Stlačte CTRL + 1. Potom kliknite číslo _gt_ desatinné miesta: 2.

Rozdiel v mesiacoch


V tomto príklade je dátum začiatku v bunke D5 a dátum ukončenia je v bunke nadol. Vo vzorci "m" vráti počet celých mesiacov medzi dvoma dňami.

Rozdiel v rokoch


V tomto príklade je dátum začiatku v bunke D2 a dátum ukončenia je v bunke E2. "Y"

Výpočet veku v kumulatívnych rokoch, mesiacoch a dňoch

1. Použite RAZDAT na zistenie celkového počtu rokov.


V tomto príklade je dátum začiatku v bunke D17 a dátum ukončenia je v bunke E17. Vo vzorci "y" vráti počet celých rokov medzi dvoma dňami.

2. Ak chcete vyhľadať mesiace, znova použite RAZDAT so zadaním „GM“.


V inej bunke použite vzorec RAZDAT s parametrom "GM". "GM" vracia počet mesiacov zostávajúcich po poslednom celom roku.

3. Na nájdenie dní použite iný vzorec.


Teraz musíme zistiť počet zostávajúcich dní. Dá sa to urobiť napísaním iného typu vzorca, ako je uvedené vyššie. Tento vzorec odpočítava prvý deň konca mesiaca (05.01.2016) od pôvodného dátumu ukončenia v bunke E17 (05.06.2016). Robí sa to takto: Najprv funkcia DATE vytvorí dátum 05.01.2016. Vytvára sa pomocou roka v bunke E17 a mesiaca v bunke E17. 1 označuje prvý deň v mesiaci. Výsledok funkcie DATE bude 01.05.2016. Potom tento dátum odpočítame od pôvodného dátumu ukončenia v bunke E17 (6. 5. 2016), čím vznikne 5 dní.

4. Voliteľné: Skombinujte tri vzorce do jedného.


Všetky tri výpočty môžete umiestniť do jednej bunky, ako je znázornené v tomto príklade. Používanie ampersandov, úvodzoviek a textu. Je to dlhší vstupný vzorec, ale aspoň je všetko v jednom z nich. Poradenstvo. Stlačením Alt+Enter umiestnite do vzorca zlomy riadkov. To uľahčuje čítanie. Ak tiež nevidíte celý vzorec, stlačte kombináciu klávesov CTRL+SHIFT+U.

Stiahnite si príklady

Môžete si stiahnuť vzorovú knihu so všetkými príkladmi v tomto článku. Môžete si ich predplatiť alebo si vytvoriť vlastné vzorce.

Iné výpočty dátumu a času

Výpočet medzi dneškom a iným dátumom

Ako je uvedené vyššie, funkcia DIFFERENT vypočítava rozdiel medzi dátumom začiatku a dátumom ukončenia. Namiesto zadávania konkrétnych dátumov však môžete použiť aj funkciu dnes() vo vzorci. Pri použití funkcie DNES() Excel používa aktuálny dátum v počítači. Uvedomte si, že ak súbor v budúcnosti znova otvoríte, tento súbor sa zmení.


Výpočet pracovných dní s dovolenkou alebo bez dovolenky

Použite NETWORKDAYS. INTL, ak chcete vypočítať počet pracovných dní medzi dvoma dátumami. Okrem toho môžete vylúčiť aj víkendy a sviatky.

Skôr než začnete, urobte nasledovné: Rozhodnite sa, či vylúčiť dátumy sviatkov. Ak áno, zadajte zoznam dovolenkových dátumov do samostatnej oblasti alebo hárku. Každý deň dovolenky je umiestnený v samostatnej bunke. Potom tieto bunky zvýraznite a potom vyberte vzorce _Gr_ priradiť názov. pomenujte rozsah miholidice a stlačte tlačidlo OK. Potom vytvorte vzorec nasledujúcim spôsobom:

1. Zadajte dátum začiatku a dátum ukončenia.


V tomto príklade je počiatočný dátum v bunke D53 a koncový dátum je v bunke E53.

2. Do inej bunky zadajte vzorec, napríklad:


Zadajte vzorec, ako je príklad vyššie. Číslo 1 vo vzorci definuje „sobota“ a „nedeľa“ ako sviatky a vylučuje ich zo súčtu.

Poznámka. v Exceli 2007 nie sú žiadne NETWORKDAYS. MEDZINÁRODNÝ Má však NETWORKDAYS. Vyššie uvedený príklad by v Exceli 2007 vyzeral takto: = NETWORKDAYS (D53, E53). Nezadáte 1, pretože NETWORKDAYS predpokladá, že víkend je sobota a nedeľa.

3. V prípade potreby zmeňte hodnotu 1.


Ak sobota a nedeľa nie sú štátnymi sviatkami, zmeňte hodnotu 1 na inú hodnotu v zozname IntelliSense. Napríklad 2 nastaví nedeľu a pondelok ako sviatky.

Ak používate Excel 2007, tento krok preskočte. Funkcia NETWORKDAYS v Exceli 2007 vždy predpokladá, že víkendy sú sobota a nedeľa.

4. Zadajte názov pre rozsah sviatkov.


Ak ste vytvorili názov dovolenkovej oblasti v sekcii Začíname vyššie, zadajte ho na konci, ako je uvedené nižšie. Ak nemáte sviatky, čiarku a sviatky môžete vynechať. Ak používate Excel 2007, vyššie uvedený príklad by vyzeral takto: = NETWORKDAYS (D53, E53, myholidice).

Perie Ak sa nechcete odvolávať na názov dovolenkového rozsahu, môžete zadať aj rozsah ako D35:E:39. Prípadne môžete do vzorca zadať každý sviatok. Ak sú napríklad sviatky 1. a 2. januára 2016, zadajte ich takto: = DNI SIETE. Int (D53, E53, 1, ("1/1/2016", "1/2/2016")). V Exceli 2007 to bude vyzerať takto: = NETWORKDAYS(D53, E53, ("1. 1. 2016", "2. 1. . 2016"})

Výpočet uplynulého času

Ak chcete vypočítať uplynutý čas, môžete odpočítať jeden čas od druhého. Najprv zadajte čas začiatku do bunky a čas ukončenia do inej. Uistite sa, že sú vyplnené všetky časy vrátane hodín, minút a medzier pred poludním alebo popoludní. Tu je to, čo musíte urobiť:

1. Zadajte čas začiatku a čas ukončenia.


V tomto príklade je čas začiatku v bunke D80 a čas ukončenia je v bunke E80. Nezabudnite zadať hodiny, minúty a medzery pred znakmi AM a PM.

2. Nastavte formát na h/pm.


Vyberte oba dátumy a stlačte CTRL+1 (alebo +1 na Macu). Uistite sa, že je vybratá možnosť zvykom _gt_ h/pm ak ešte nie je nainštalovaný.

3. odčítanie dvoch hodnôt.


V inej bunke odpočítajte začiatočnú bunku od bunky „čas ukončenia“.

4. Nastavte formát na h.


Stlačte CTRL+1 (alebo +1 na Macu). Vyberte " zvykom _rm_“, aby sa z neho vylúčili výsledky „AM“ a „PM“.

MS Excel má mimoriadne zaujímavú funkciu, o ktorej veľa ľudí nevie. Tak málo, že táto funkcia v Exceli ani neposkytuje kontextovú výzvu pri zadávaní, hoci, napodiv, je v nápovede k programu a je opísaná celkom dobre. Volá sa RAZDAT() alebo DATEDIF() a slúži na automatický výpočet rozdielu v dňoch, mesiacoch alebo rokoch medzi dvoma danými dátumami.

Neznie to ako veľa? V skutočnosti môže byť niekedy veľmi užitočná schopnosť rýchlo a presne vypočítať, koľko času uplynulo od nejakej udalosti. Koľko mesiacov ubehlo od vašich narodenín, ako dlho ste pri tejto práci sedeli v nohaviciach alebo koľko dní ste držali diétu – ale koľko využíva túto užitočnú funkciu? A čo je najdôležitejšie, výpočet sa dá zautomatizovať a pri každom otvorení zošita MS Excel získate presné údaje pre dnešok! Znie to zaujímavo, však?

Funkcia RAZDAT() má tri argumenty:

  • Dátum začiatku- dátum, od ktorého je účet vedený
  • Konečný dátum- do ktorej je vedený účet
  • Jednotka dni, mesiace, roky.

Píše sa to takto:

= RATEDAT(dátum začiatku, dátum ukončenia, jednotka)

Merné jednotky sa píšu takto:

  • "y"- rozdiel dátumov v celých rokoch
  • "m"- rozdiel dátumov v celých mesiacoch
  • "d"- rozdiel dátumov v celých dňoch
  • "yd"- rozdiel dátumov v dňoch od začiatku roka, okrem rokov
  • "MD"- rozdiel dátumov v dňoch, okrem mesiacov a rokov
  • "ym"- rozdiel dátumov v celých mesiacoch, okrem rokov

Inými slovami, na výpočet môjho celkového veku v rokoch v aktuálnom okamihu napíšem funkciu ako:

= RAZDAT(14. 7. 1984; 22. 3. 2016; "y")

Všimnite si, že posledný argument je vždy uzavretý v úvodzovkách.

Ak chcem získať presný vek, napíšem si zložitý vzorec:

= DIFFERENT(F2;G2;"y")&" rok "&RADIAT(F2;G2;"ym")&"mesiace"

V ktorom je funkcia RAZDAT() volaná dvakrát naraz s rôznymi hodnotami a slová „rok“ a „mesiace“ sú jednoducho ukotvené k výsledku. To znamená, že skutočná sila funkcie sa prejaví až vtedy, keď sa skombinuje s ostatnými funkciami MS Excel.

Ďalšou zaujímavou možnosťou je pridať do funkcie počítadlo, ktoré sa denne posúva vzhľadom na dnešný dátum. Ak sa napríklad rozhodnem napísať vzorec, ktorý vypočíta počet dní do dovolenky v štandardnom tvare, bude vyzerať asi takto:

A všetko by bolo v poriadku, keby som po otvorení tohto listu o týždeň videl, že sa počet dní pred dovolenkou znížil. Uvidím však rovnaké číslo – veď pôvodné dátumy sa nezmenili. V súlade s tým by som musel zmeniť aktuálny dátum a potom by funkcia RAZDAT () urobila všetko správne.

Aby som sa vyhol tejto nepríjemnej drobnosti, ako prvý argument (dnešný dátum) nahradím nie odkaz na hodnotu uloženú v bunke, ale inú funkciu. Táto funkcia sa volá TODAY() a jej hlavnou a jedinou úlohou je vrátiť dnešný dátum.

Raz a problém je vyriešený - odteraz, kedykoľvek otvorím tento hárok MS Excel, funkcia RAZDAT () mi vždy zobrazí presnú hodnotu vypočítanú s prihliadnutím na dnešný dátum.