Công thức Excel: Lấy ngày cuối cùng trong tháng -

Mục lục

Công thức chung

=EOMONTH(date,0)+1-WEEKDAY(EOMONTH(date,0)+1-dow)

Tóm lược

Để có ngày cuối tuần trong tháng (tức là thứ Bảy cuối cùng, thứ Sáu cuối cùng, thứ Hai cuối cùng, v.v.), bạn có thể sử dụng công thức dựa trên hàm EOMONTH và WEEKDAY.

Trong ví dụ được hiển thị, công thức trong D5 là:

=EOMONTH(B5,0)+1-WEEKDAY(EOMONTH(B5,0)+1-C5)

Giải trình

Đầu tiên, công thức này xác định ngày đầu tiên của tháng tiếp theo * sau * một ngày nhất định. Tôi thực hiện điều này bằng cách sử dụng EOMONTH để lấy ngày cuối cùng của tháng, sau đó thêm một ngày:

=EOMONTH(B5,0)+1

Tiếp theo, công thức tính số ngày cần thiết để "quay trở lại" ngày trong tuần được yêu cầu cuối cùng trong tháng trước (tức là tháng của ngày ban đầu):

WEEKDAY(EOMONTH(B5,0)+1-C5)

Trong WEEKDAY, EOMONTH một lần nữa được sử dụng để lấy ngày đầu tiên của tháng tiếp theo. Kể từ ngày này, giá trị của ngày trong tuần bị trừ đi và kết quả được đưa vào WEEKDAY, trả về số ngày có thể quay trở lại.

Cuối cùng, số ngày quay lại được trừ đi từ ngày đầu tiên của tháng tiếp theo, tạo ra kết quả cuối cùng.

Các ngày trong tuần khác

Ở dạng chung của công thức ở đầu trang, ngày trong tuần được viết tắt là "dow". Đây là một số từ 1 (Chủ nhật) đến 7 (Thứ bảy) có thể được thay đổi để có một ngày khác trong tuần. Ví dụ: để có được Thứ Năm cuối cùng của tháng, hãy đặt giảm xuống 5.

Lưu ý: Tôi tình cờ gặp công thức này trong một câu trả lời trên diễn đàn MrExcel của Barry Houdini.

Liên kết tốt

Câu trả lời của Barry Houdini tại diễn đàn MrExcel

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