Hôm nay có 1 người bạn hỏi mình cách tính số ngày chủ nhật trong 1 khoảng thời gian. Mình suy nghĩ rất nhiều cách, cuối cùng mình tìm ra 1 cách vô cùng đơn giản.
Cú pháp
Sử dụng Weekday
Hàm WEEKDAY cho ta kết quả các thứ trong tuần tương ứng với một ngày. Theo mặc định, thứ được trả về là một số nguyên.Cú pháp
WEEKDAY(serial_number,[return_type])
Cú pháp của hàm WEEKDAY có đối số sau đây:- Serial_number Bắt buộc. Là một số tuần tự thể hiện ngày tháng của ngày bạn đang tìm kiếm. Ngày tháng nên được nhập bằng cách sử dụng hàm DATE hoặc nhập như là kết quả của những công thức hay hàm khác. Ví dụ, sử dụng DATE(2008,5,23) cho ngày 23 tháng năm năm 2008. Vấn đề có thể xảy ra nếu nhập ngày tháng dạng văn bản.
- Return_type Tùy chọn. Là một số xác định kiểu giá trị trả về.
Cách tính:
- Đầu tiên bạn cần tính 1 ngày trước của StartDate và quy đổi ra kiểu int, kết quả từ 1 tới 7
- EndDate - StartDate: tính số ngày
- WEEKDAY(StartDate - 1)/7: Đếm số ngày chủ nhật trong tuần đầu tiên. Trường hợp bạn đếm thứ hai thì bạn trừ 2.
- (EndDate - StartDate)/7: đếm số tuần, rồi từ kết quả suy ra số ngày chủ nhật tối thiểu giữa StarDate và EndDate
INT((WEEKDAY(StartDate - 1) + EndDate - StarDate)/7
VD: Tính số ngày chủ nhật dựa trên start date = 5/4/2020, end date = 3/4/2020 Dựa vào công thức ghi ở trên, ta có CountSundays = INT((WEEKDAY(StartDate - 1) + EndDate - StarDate)/7 = 2
Bạn có thể download ví dụ tại: http://www.mediafire.com/file/0u170hifiyc2r77
Cam on Tam
Trả lờiXóa