
Formula umum
=IF(A1>=start,(MOD(DATEDIF(start,A1,"m")+n,n)=0)*value,0)
Ringkasan
Untuk mengulang nilai tetap setiap 3 bulan, Anda dapat menggunakan rumus berdasarkan fungsi DATEDIF dan MOD. Dalam contoh yang ditunjukkan, rumus di C4, disalin ke bawah, adalah:
=IF(B4>=start,(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value,0)
di mana "mulai" adalah rentang bernama F6, "n" adalah F4, dan "nilai" adalah F5.
Penjelasan
Hal pertama yang dilakukan rumus ini adalah memeriksa tanggal di kolom B terhadap tanggal mulai:
=IF(B4>=start
Jika tanggal tidak lebih besar dari tanggal mulai, rumus mengembalikan nol. Jika tanggal lebih besar dari atau sama dengan tanggal mulai, fungsi IF menjalankan cuplikan ini:
(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value
Di dalam MOD, fungsi DATEDIF digunakan untuk mendapatkan jumlah bulan antara tanggal mulai dan tanggal di B4. Ketika tanggal di B4 sama dengan tanggal mulai, DATEDIF mengembalikan nol. Di bulan berikutnya, DATEDIF mengembalikan 1, dan seterusnya.
Untuk hasil ini, kami menambahkan nilai untuk rentang bernama "n", yaitu 3 dalam contoh. Ini secara efektif memulai pola penomoran pada 3, bukan nol.
Fungsi MOD digunakan untuk memeriksa setiap nilai, dengan n sebagai pembagi:
MOD(DATEDIF(start,B4,"m")+n,n)=0
Jika sisanya nol, kami sedang mengerjakan bulan yang membutuhkan nilai. Alih-alih menumpuk fungsi IF lain, kami menggunakan logika boolean untuk mengalikan hasil ekspresi di atas dengan "nilai".
Dalam bulan di mana harus ada nilai, MOD mengembalikan nol, ekspresi TRUE, dan nilai dikembalikan. Di bulan lain, MOD mengembalikan hasil bukan nol, ekspresi FALSE, dan nilai dipaksa ke nol.