
Generieke formule
=IF(A1>=start,(MOD(DATEDIF(start,A1,"m")+n,n)=0)*value,0)
Samenvatting
Om elke 3 maanden een vaste waarde te herhalen, kunt u een formule gebruiken op basis van de DATEDIF- en MOD-functies. In het getoonde voorbeeld is de formule in C4, naar beneden gekopieerd,:
=IF(B4>=start,(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value,0)
waarbij "start" het benoemde bereik F6 is, "n" F4 is en "waarde" F5.
Uitleg
Het eerste dat deze formule doet, is de datum in kolom B vergelijken met de startdatum:
=IF(B4>=start
Als de datum niet groter is dan de startdatum, retourneert de formule nul. Als de datum groter is dan of gelijk is aan de startdatum, voert de ALS-functie dit fragment uit:
(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value
Binnen MOD wordt de DATEDIF-functie gebruikt om het aantal maanden tussen de startdatum en de datum in B4 te krijgen. Wanneer de datum in B4 gelijk is aan de startdatum, geeft DATEDIF nul terug. In de volgende maand retourneert DATEDIF 1, enzovoort.
Aan dit resultaat voegen we de waarde toe voor het benoemde bereik "n", dat is 3 in het voorbeeld. Hierdoor begint het nummerpatroon effectief bij 3 in plaats van nul.
De MOD-functie wordt gebruikt om elke waarde te controleren, met n als deler:
MOD(DATEDIF(start,B4,"m")+n,n)=0
Als de rest nul is, werken we met een maand waarvoor een waarde vereist is. In plaats van een andere ALS-functie te nesten, gebruiken we booleaanse logica om het resultaat van de bovenstaande uitdrukking te vermenigvuldigen met "waarde".
In maanden waarin er een waarde zou moeten zijn, retourneert MOD nul, is de uitdrukking TRUE en wordt waarde geretourneerd. In andere maanden retourneert MOD een resultaat dat niet gelijk is aan nul, is de uitdrukking FALSE en wordt de waarde gedwongen naar nul.