Excel – výpočet průniku časových intervalů

Dotaz: „Dobrý den, potřebovali bychom pro hodnocení projektů vytvořit v Excelu funkci, která dokáže určit počet společných dnů ve dvojici intervalů.“

Excel bohužel podobnou funkci mezi desítkami časových a kalendářních funkcí nenabízí. Řešení ale není nikterak obtížné.

Počet společných dní

Vzorec je založen na algoritmu Do – Od +1, kde Do je minimální hodnota posledních dní porovnávaných intervalů a Od je maximální hodnota počátečních dní porovnávaných intervalů.

=MIN(DO(1);DO(2))-MAX(OD(1);OD(2))+1)

Průnik intervalu – počet společných dní

Problém intervalů bez společného průniku

V případě, že se intervaly vůbec nepřekrývají, vrací funkce záporné číslo

Průnik intervalu – nulový počet společných dní

Problém vyřešíme tím, že záporné číslo nahradíme nulou pomocí vzorce (MAX (výpočet; 0)

=MAX( MIN(DO(1);DO(2))-MAX(OD(1);OD(2))+1; 0)

nebo pomocí funkce KDYŽ

=KDYŽ( (MIN(DO(1);DO(2))-MAX(OD(1);OD(2))+1)<0;0;MIN(DO(1);DO(2))-MAX(OD(1);OD(2))+1)

Pokud nás zajímá spíše počet společných měsíců v průniku intervalů, můžeme vzorec modifikovat takto

=MAX(0;ROUNDUP(MAX(0;MIN(D3;D4)-MAX(C3;C4))/30;0))

Průnik intervalu – počet společných měsíců

Řešený příklad si můžete stáhnout zde: