Ngày trả lại cuối tháng - Mẹo Excel

Mục lục

Tony đã viết với một câu hỏi trông đơn giản, nhưng đòi hỏi một công thức khá phức tạp:

Tôi đang chạy excel 97 và tôi muốn một số ô được định dạng ngày tháng trong cột 'K' để trả về một ngày là cuối tháng khi tôi nhập bất kỳ ngày nào trong tháng đó vào 'G'. Tôi đã thử EMONTH từ phiên bản excel ban đầu nhưng không hoạt động trong phiên bản này.

Có một số cách để giải quyết nhiều vấn đề trong Excel. Tôi chắc chắn rằng ai đó sẽ nghĩ ra một cái gì đó đơn giản hơn, nhưng hiện tại, công thức này xuất hiện trong tâm trí tôi:

=DATE(YEAR(E1),1+MONTH(E1),1)-1

Hàm DATE () thường chấp nhận ba đối số: Một năm, một tháng và một ngày. Vì vậy, ngày 13 tháng 12 năm 2001 có thể được nhập như =DATE(2001,12,13).

Chức năng ngày cũng khá dễ dàng. Nếu bạn chỉ định một số tháng không hợp lệ, chẳng hạn như 13, nó sẽ cung cấp ngày chính xác. =DATE(2001,13,1)sẽ là ngày 1 tháng 1 năm 2002. Điều này làm cho nó trở thành một chức năng tuyệt vời khi bạn cần cộng hoặc trừ cho ngày hiện tại.

Khi giải bài toán này, dễ dàng hơn là tìm ngày đầu tiên của tháng tiếp theo và sau đó trừ đi một ngày. Điều này dễ dàng hơn, bởi vì chúng tôi biết phần ngày của tháng đầu tiên của tháng tiếp theo luôn là 1. Trong khi đó, nếu bạn cố gắng tìm ngày cuối cùng của tháng này, bạn sẽ phải kiểm tra các năm nhuận, v.v. - nó thường là lộn xộn.

Nếu bạn có một ngày trong E1, thì YEAR (E1) sẽ trả về phần năm của ngày đó. Tháng (E1) +1 sẽ trả về phần tháng của ngày và ứng trước nó sang tháng tiếp theo. Đối số cuối cùng, đối số 1 sẽ chọn ngày đầu tiên của tháng tiếp theo. Sau đó, cuối cùng, tôi trừ đi một từ ngày đó để chuyển đổi 1/1/2002 thành 31/12/2001.

Cập nhật

Cảm ơn Steve H. về câu trả lời thú vị này. Thật không bình thường khi coi "số 0" của một tháng, nhưng nó hoạt động!

=DATE(YEAR(E1),1+MONTH(E1),0)

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