Razlika u danima jednostavno se dobija kad od jednog datama oduzmemo drugi datum. Tvoj problem se dakle svodi na to koji datum da uzmemo za umanjenik, a koji za umanjilac.
To se može postići sa višestrukim IF, ali mi se čini lakše sa MIN i MAX
a/ Datum od koga oduzimamo biće ciljni datum($D$2 u tvom primeru) ili poslednji dan u godini ukoliko ciljni datum nije u toj godini (B$5 u tvom primeru), dakle možemo staviti MIN(DATE(B$5;12;31+1);$D$2)
b/ Datum koji oduzimamo biće početni datum ($A6 u tvom primeru) ili početni datum u godini ukoliko početni datum nije u toj godini, što bi moglo da se odredi formulom
MAX($A6;DATE(B$5;1;1))
c/ Kad pravimo razliku treba videti da li se uzima početni ili krajnji dan ili oba pa korigovati gornje formule u tom smislu, npr.
MIN(DATE(B$5;12;31)+1;$D$2)-MAX($A6;DATE(B$5;1;1))
d/ Ova formula neće biti dobra u slučajevima kad je početni datum veći od krajnjeg datuma (17 red u tvom primeru) odnosno kad je početni datum veći od krajnjeg datuma godine za koju se računa. To rešavamo tako što gornjoj formuli postavimo dodatne uslove (ugnjezdimo je)
Code:
=IF(AND(YEAR($A6)<=B$5;$D$2>$A6);MIN(DATE(B$5;12;31)+1;$D$2)-MAX($A6;DATE(B$5;1;1));0)
e/ Ovu formulu kopiramo (Paste Special->Formulas) svuda gde treba
PS. Nisam baš pažljivo čitao tvoje objašnjenje, nego sam se više vodio intuicijom, pa možda rešenje ne odgovara tvojim uslovima