
Загальна формула
=IF(A1>=start,(MOD(DATEDIF(start,A1,"m")+n,n)=0)*value,0)
Резюме
Щоб повторювати фіксоване значення кожні 3 місяці, ви можете використовувати формулу на основі функцій DATEDIF та MOD. У наведеному прикладі формула в C4, скопійована вниз, має вигляд:
=IF(B4>=start,(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value,0)
де "старт" - названий діапазон F6, "n" - F4, а "значення" - F5.
Пояснення
Перше, що робить ця формула, це перевіряє дату у стовпці B щодо дати початку:
=IF(B4>=start
Якщо дата не перевищує дату початку, формула повертає нуль. Якщо дата більше або дорівнює даті початку, функція IF запускає цей фрагмент:
(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value
Усередині MOD функція DATEDIF використовується для отримання кількості місяців між датою початку та датою в B4. Коли дата в B4 дорівнює даті початку, DATEDIF повертає нуль. Наступного місяця DATEDIF повертає 1 тощо.
До цього результату ми додаємо значення для названого діапазону "n", яке у прикладі дорівнює 3. Це ефективно починає шаблон нумерації з 3 замість нуля.
Функція MOD використовується для перевірки кожного значення, де n - дільник:
MOD(DATEDIF(start,B4,"m")+n,n)=0
Якщо залишок дорівнює нулю, ми працюємо з місяцем, який вимагає значення. Замість вкладання іншої функції IF ми використовуємо логічну логіку, щоб помножити результат наведеного вище виразу на "значення".
У місяці, коли має бути значення, MOD повертає нуль, вираз має значення TRUE, а значення повертається. В інші місяці MOD повертає ненульовий результат, вираз FALSE, і значення примусово дорівнює нулю.