
Generisk formel
=IF(A1>=start,(MOD(DATEDIF(start,A1,"m")+n,n)=0)*value,0)
Sammendrag
For å gjenta en fast verdi hver 3. måned, kan du bruke en formel basert på DATEDIF- og MOD-funksjonene. I eksemplet som er vist er formelen i C4, kopiert ned,:
=IF(B4>=start,(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value,0)
hvor "start" er det navngitte området F6, "n" er F4, og "verdi" er F5.
Forklaring
Det første denne formelen gjør er å sjekke datoen i kolonne B mot startdatoen:
=IF(B4>=start
Hvis datoen ikke er større enn startdatoen, returnerer formelen null. Hvis datoen er større enn eller lik startdatoen, kjører IF-funksjonen denne kodebiten:
(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value
Inne i MOD brukes DATEDIF-funksjonen for å få antall måneder mellom startdato og dato i B4. Når datoen i B4 er lik startdatoen, returnerer DATEDIF null. Den neste måneden returnerer DATEDIF 1, og så videre.
Til dette resultatet legger vi til verdien for det navngitte området "n", som er 3 i eksemplet. Dette starter effektivt nummereringsmønsteret ved 3 i stedet for null.
MOD-funksjonen brukes til å kontrollere hver verdi, med n som divisor:
MOD(DATEDIF(start,B4,"m")+n,n)=0
Hvis resten er null, jobber vi med en måned som krever en verdi. I stedet for å hekke en annen IF-funksjon, bruker vi boolsk logikk for å multiplisere resultatet av uttrykket ovenfor med "verdi".
I måneder der det skal være en verdi, returnerer MOD null, uttrykket er SANT og verdien returneres. I andre måneder returnerer MOD et resultat som ikke er null, uttrykket er FALSE, og verdien tvinges til null.