Công thức Excel: Lặp lại giá trị cố định 3 tháng một lần -

Mục lục

Công thức chung

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

Tóm lược

Để lặp lại một giá trị cố định 3 tháng một lần, bạn có thể sử dụng công thức dựa trên các hàm DATEDIF và MOD. Trong ví dụ được hiển thị, công thức trong C4, được sao chép xuống, là:

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

trong đó "bắt đầu" là phạm vi được đặt tên là F6, "n" là F4 và "giá trị" là F5.

Giải trình

Điều đầu tiên công thức này làm là kiểm tra ngày trong cột B với ngày bắt đầu:

=IF(B4>=start

Nếu ngày không lớn hơn ngày bắt đầu, công thức trả về số không. Nếu ngày lớn hơn hoặc bằng ngày bắt đầu, hàm IF sẽ chạy đoạn mã này:

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

Bên trong MOD, hàm DATEDIF được sử dụng để lấy số tháng giữa ngày bắt đầu và ngày trong B4. Khi ngày trong B4 bằng với ngày bắt đầu, DATEDIF trả về số không. Vào tháng tiếp theo, DATEDIF trả về 1, v.v.

Với kết quả này, chúng tôi thêm giá trị cho dải ô được đặt tên "n", là 3 trong ví dụ. Điều này có hiệu quả bắt đầu mô hình đánh số ở 3 thay vì 0.

Hàm MOD được sử dụng để kiểm tra từng giá trị, với n là ước số:

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

Nếu phần còn lại bằng 0, chúng tôi đang làm việc với một tháng yêu cầu giá trị. Thay vì lồng một hàm IF khác, chúng ta sử dụng logic boolean để nhân kết quả của biểu thức trên với "giá trị".

Trong những tháng cần có một giá trị, MOD trả về 0, biểu thức là TRUE và giá trị được trả về. Trong các tháng khác, MOD trả về kết quả khác 0, biểu thức là FALSE và giá trị buộc phải bằng 0.

thú vị bài viết...