
Všeobecný vzorec
=MAX(MIN(end1,end2)-MAX(start1,start2)+1,0)
Zhrnutie
Na výpočet počtu dní, ktoré sa prekrývajú v dvoch rozsahoch dátumov, môžete použiť základnú aritmetiku dátumu spolu s funkciami MIN a MAX.
V zobrazenom príklade je vzorec v D6:
=MAX(MIN(end,C6)-MAX(start,B6)+1,0)
Vysvetlenie
Dátumy programu Excel sú iba poradové čísla, takže doby trvania môžete vypočítať odpočítaním skoršieho dátumu od neskoršieho.
Toto sa deje v jadre tohto vzorca:
MIN(end,C6)-MAX(start,B6)+1
Tu jednoducho odpočítavate skorší dátum od neskoršieho dátumu. Aby sme zistili, aké dátumy sa majú použiť pre každé porovnanie rozsahu dátumov, použijeme MIN na získanie najskoršieho dátumu ukončenia a MAX na získanie posledného dátumu ukončenia.
K výsledku pridáme 1, aby sme sa uistili, že počítame „stĺpiky plotu“, a nie „medzery medzi stĺpikmi plotu“ (obdobne od Johna Walkenbacha z Biblie Excel 2010).
Nakoniec použijeme funkciu MAX, aby sme zachytili záporné hodnoty a namiesto nich vrátili nulu. Použitie MAX týmto spôsobom je šikovný spôsob, ako sa vyhnúť použitiu IF.