
Všeobecný vzorec
=IF(A1>=start,(MOD(DATEDIF(start,A1,"m")+n,n)=0)*value,0)
Zhrnutie
Ak chcete opakovať pevnú hodnotu každé 3 mesiace, môžete použiť vzorec založený na funkciách DATEDIF a MOD. V zobrazenom príklade je vzorec v C4, skopírovaný nadol,:
=IF(B4>=start,(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value,0)
kde „štart“ je pomenovaný rozsah F6, „n“ je F4 a „hodnota“ je F5.
Vysvetlenie
Prvá vec, ktorú tento vzorec urobí, je skontrolovať dátum v stĺpci B oproti dátumu začatia:
=IF(B4>=start
Ak dátum nie je väčší ako dátum začatia, vzorec vráti nulu. Ak je dátum väčší alebo rovnaký ako počiatočný dátum, funkcia IF spustí tento úryvok:
(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value
Vo vnútri MOD sa funkcia DATEDIF používa na získanie počtu mesiacov medzi dátumom začatia a dátumom v B4. Keď sa dátum v B4 rovná počiatočnému dátumu, DATEDIF vráti nulu. Nasledujúci mesiac vráti DATEDIF 1 atď.
K tomuto výsledku pridáme hodnotu pre pomenovaný rozsah „n“, ktorý je v príklade 3. Týmto sa efektívne začne vzor číslovania 3 namiesto nuly.
Funkcia MOD sa používa na kontrolu každej hodnoty, pričom n je deliteľ:
MOD(DATEDIF(start,B4,"m")+n,n)=0
Ak je zvyšok nula, pracujeme s mesiacom, ktorý vyžaduje hodnotu. Namiesto vnorenia inej funkcie IF použijeme logickú logiku na vynásobenie výsledku výrazu vyššie hodnotou „value“.
V mesiacoch, kde by mala byť hodnota, MOD vráti nulu, výraz má hodnotu TRUE a hodnota sa vráti. V ostatných mesiacoch MOD vráti nenulový výsledok, výraz je FALSE a hodnota je vynútená na nulu.