Priesečník dátumových intervalov

Jedna z typických úloh pre používateľa programu Microsoft Excel. Máme dva rozsahy dátumov typu „začiatok-koniec“. Úlohou je určiť, či sa tieto rozsahy prekrývajú, a ak áno, o koľko dní.

Pretínať sa alebo nie?

Začnime riešením otázky, či v princípe existuje priesečník intervalov? Predpokladajme, že máme tabuľku pracovných zmien pre zamestnancov, ako je táto:

Je jasne vidieť, že pracovné zmeny Jaroslava a Eleny sa prelínajú, ale ako to vypočítať bez toho, aby ste sa uchýlili k zostaveniu kalendára a vizuálnej kontroly? Funkcia nám pomôže SUMPRODUCT (SUMA PRODUKT).

Vložme do našej tabuľky ďalší stĺpec so vzorcom, ktorý poskytne boolovskú hodnotu TRUE, ak sa dátumy pretínajú:

Koľko dní je prechod?

Ak v zásade nie je ľahké pochopiť, či sa naše intervaly pretínajú alebo nie, ale presne vedieť, koľko dní presne spadá do priesečníka, potom sa úloha stáva zložitejšou. Logicky je potrebné „napumpovať“ až 3 rôzne situácie v jednom vzorci:

  • intervaly sa neprekrývajú
  • jeden z intervalov úplne pohltí druhý
  • intervaly sa čiastočne pretínajú

Z času na čas vidím implementáciu tohto prístupu inými používateľmi pomocou množstva vnorených funkcií IF atď.

V skutočnosti sa pomocou funkcie dá urobiť všetko krásne MEDIAN (MEDIÁN) z kategórie Štatistický.

Ak podmienečne označíme začiatok prvého intervalu ako N1, a koniec pre K1, a začiatok druhého N2 a koniec pre K2, potom vo všeobecnosti možno náš vzorec napísať ako:

=MEDIAN(N1;K1+ 1;K2+1)-MEDIAN(N1;K1+ 1;N2)

Kompaktné a elegantné, však? 😉

  • Ako vlastne Excel pracuje s dátumami? Ako vypočítať počet kalendárnych alebo pracovných dní medzi dátumami?
  • Ako zostaviť rozvrh kalendára (prázdniny, školenia, smeny…) v Exceli pomocou podmieneného formátovania?
  • Kontrola jednej alebo viacerých podmienok pomocou funkcií IF (IF).

Nechaj odpoveď