Excel formülü: Sabit değeri 3 ayda bir tekrarlayın -

Genel formül

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

Özet

Sabit bir değeri her 3 ayda bir tekrarlamak için, DATEDIF ve MOD işlevlerine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, C4'te kopyalanan formül şudur:

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

burada "başlangıç" F6 adlandırılmış aralıktır, "n" F4'tür ve "değer" F5'tir.

Açıklama

Bu formülün yaptığı ilk şey, B sütunundaki tarihi başlangıç ​​tarihine göre kontrol etmektir:

=IF(B4>=start

Tarih başlangıç ​​tarihinden büyük değilse formül sıfır verir. Tarih başlangıç ​​tarihinden büyükse veya bu tarihe eşitse, IF işlevi şu kod parçacığını çalıştırır:

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

MOD içinde, DATEDIF işlevi, B4'teki başlangıç ​​tarihi ile tarih arasındaki ay sayısını elde etmek için kullanılır. B4'teki tarih başlangıç ​​tarihine eşit olduğunda, DATEDIF sıfır döndürür. Sonraki ay, DATEDIF 1 değerini döndürür ve bu böyle devam eder.

Bu sonuca, örnekte 3 olan "n" adlı aralığın değerini ekliyoruz. Bu, numaralandırma modelini etkili bir şekilde sıfır yerine 3'te başlatır.

MOD işlevi, bölen olarak n ile her bir değeri kontrol etmek için kullanılır:

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

Kalan sıfırsa, değer gerektiren bir ay ile çalışıyoruz. Başka bir EĞER işlevini iç içe yerleştirmek yerine, yukarıdaki ifadenin sonucunu "değer" ile çarpmak için boole mantığını kullanırız.

Değer olması gereken aylarda MOD sıfır döndürür, ifade TRUE olur ve değer döndürülür. Diğer aylarda, MOD sıfır olmayan bir sonuç verir, ifade YANLIŞ'tır ve değer sıfıra zorlanır.

Ilginç makaleler...