Công thức Excel: Năm là năm nhuận -

Công thức chung

=MONTH(DATE(YEAR(date),2,29))=2

Tóm lược

Để kiểm tra xem năm của một ngày nhất định có phải là năm nhuận hay không, bạn có thể sử dụng công thức sử dụng các hàm MONTH, YEAR và DATE. Trong ví dụ được hiển thị, công thức trong ô C5 là:

=MONTH(DATE(YEAR(B5),2,29))=2

Giải trình

Cốt lõi của công thức này là hàm DATE, hàm này sẽ tự động điều chỉnh các giá trị tháng và năm nằm ngoài phạm vi. Trong công thức, năm được chuyển thành ngày không thay đổi, cùng với 2 cho tháng (tháng 2) và 29 cho ngày. Trong các năm nhuận, tháng 2 có 29 ngày, vì vậy hàm DATE sẽ chỉ trả về ngày 29 tháng 2 trong năm.

Tuy nhiên, trong những năm không nhuận, DATE sẽ trả về ngày 1 tháng 3 trong năm, vì không có ngày 29 trong tháng 2 và DATE chỉ cần chuyển ngày này sang tháng tiếp theo.

Cuối cùng, hàm MONTH chỉ đơn giản trích xuất tháng từ kết quả được cung cấp bởi DATE, được so sánh với 2 bằng cách sử dụng dấu bằng. Nếu tháng là 2, công thức trả về TRUE. Nếu không, tháng phải là 3 và công thức trả về FALSE.

Chỉ năm thử nghiệm

Để chỉ kiểm tra một năm, thay vì một ngày đầy đủ, thay vì một ngày tháng, hãy sửa đổi công thức như sau:

=MONTH(DATE(year,2,29))=2

Trong phiên bản này, chúng tôi không trích xuất giá trị năm từ một ngày, chúng tôi chuyển trực tiếp giá trị năm (tức là năm 2020) vào hàm DATE.

Một giải pháp nghĩa đen hơn

Nếu công thức trên có vẻ quá thông minh và bạn muốn có một giải pháp đúng nghĩa hơn, thì công thức dưới đây sẽ kiểm tra xem một năm có chứa 366 ngày hay không:

=DATE(YEAR(date)+1,1,1)-DATE(YEAR(date),1,1)=366

Công thức này tạo ra hai ngày dựa trên ngày được cung cấp: (1) ngày đầu tiên của năm tiếp theo và (2) ngày đầu tiên của năm hiện tại. Sau đó, số đầu tiên của năm hiện tại được trừ đi số đầu tiên của năm tiếp theo. Trong những năm không nhuận, kết quả là 365 và công thức trả về FALSE. Trong các năm nhuận, kết quả là 366 và công thức trả về TRUE.

Liên kết tốt

Kinh thánh Excel (John Walkenbach) Rất nhiều cách để kiểm tra năm nhuận (Chandoo)

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