Excel-formel: Upprepa fast värde var tredje månad -

Generisk formel

=IF(A1>=start,(MOD(DATEDIF(start,A1,"m")+n,n)=0)*value,0)

Sammanfattning

För att upprepa ett fast värde var tredje månad kan du använda en formel baserad på DATEDIF- och MOD-funktionerna. I exemplet som visas är formeln i C4, kopierad ner,:

=IF(B4>=start,(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value,0)

där "start" är det namngivna området F6, "n" är F4 och "värde" är F5.

Förklaring

Det första denna formel gör är att kontrollera datumet i kolumn B mot startdatumet:

=IF(B4>=start

Om datumet inte är större än startdatumet returnerar formeln noll. Om datumet är större än eller lika med startdatumet kör IF-funktionen detta kodavsnitt:

(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value

Inuti MOD används DATEDIF-funktionen för att få antalet månader mellan startdatum och datum i B4. När datumet i B4 är lika med startdatumet returnerar DATEDIF noll. Nästa månad returnerar DATEDIF 1 och så vidare.

Till detta resultat lägger vi till värdet för det namngivna intervallet "n", vilket är 3 i exemplet. Detta startar faktiskt numreringsmönstret vid 3 istället för noll.

MOD-funktionen används för att kontrollera varje värde, med n som delare:

MOD(DATEDIF(start,B4,"m")+n,n)=0

Om resten är noll arbetar vi med en månad som kräver ett värde. Istället för att bygga en annan IF-funktion använder vi boolesk logik för att multiplicera resultatet av uttrycket ovan med "värde".

I månader där det bör finnas ett värde returnerar MOD noll, uttrycket är SANT och värdet returneras. Under andra månader returnerar MOD ett resultat som inte är noll, uttrycket är FALSKT och värdet tvingas till noll.

Intressanta artiklar...