Excel-formel: Gjenta fast verdi hver tredje måned

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.

Interessante artikler...