
Obecný vzorec
=IF(A1>=start,(MOD(DATEDIF(start,A1,"m")+n,n)=0)*value,0)
souhrn
Chcete-li opakovat pevnou hodnotu každé 3 měsíce, můžete použít vzorec založený na funkcích DATEDIF a MOD. V zobrazeném příkladu je vzorec v C4, zkopírovaný dolů, následující:
=IF(B4>=start,(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value,0)
kde „start“ je pojmenovaný rozsah F6, „n“ je F4 a „hodnota“ je F5.
Vysvětlení
První věc, kterou tento vzorec dělá, je zkontrolovat datum ve sloupci B oproti datu zahájení:
=IF(B4>=start
Pokud datum není větší než počáteční datum, vrátí vzorec nulu. Pokud je datum větší nebo rovno počátečnímu datu, spustí funkce IF tento úryvek:
(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value
Uvnitř MOD se funkce DATEDIF používá k získání počtu měsíců mezi počátečním datem a datem v B4. Když se datum v B4 rovná datu zahájení, vrátí DATEDIF nulu. Příští měsíc vrátí DATEDIF 1 atd.
K tomuto výsledku přidáme hodnotu pro pojmenovaný rozsah „n“, který je v příkladu 3. Tím se efektivně spustí vzor číslování na 3 místo na nulu.
Funkce MOD se používá ke kontrole každé hodnoty, přičemž dělitelem je n:
MOD(DATEDIF(start,B4,"m")+n,n)=0
Pokud je zbytek nula, pracujeme s měsícem, který vyžaduje hodnotu. Místo vnoření jiné funkce IF použijeme logickou logiku k vynásobení výsledku výše uvedeného výrazu hodnotou.
V měsících, kde by měla být hodnota, MOD vrátí nulu, výraz má hodnotu PRAVDA a vrátí se hodnota. V ostatních měsících MOD vrací nenulový výsledek, výraz je FALSE a hodnota je vynucena na nulu.