OK, chính xác
Thuật toán của tôi là:
- Với StartDate, nếu ngày <= 15 thì ta chuyển nó về ngày 1 tây tháng này, ngược lại, chuyển nó về 1 tây của tháng sau
- Với EndDate, nếu ngày <15 thì ta chuyển nó về ngày 1 tây tháng này, ngược lại, chuyển nó về 1 tây của tháng sau
- Cuối cùng dùng DATEDIF như các bạn đã làm
Phương pháp này có thể áp dụng để tìm ngày từ 1 đến 28 tây! Tuy nhiên với ngày từ 29 đến 31 thì hơi căng... Các bạn nghiên cứu xemPHP:=DATEDIF(DATE(YEAR($A2),MONTH($A2)+(DAY($A2)>15),1),DATE(YEAR($B2),MONTH($B2)+(DAY($B2)>=15),1),"M")
Bạn anhtuan1066 ơi, vì sao chúng ta lấy month($A2)+Day($A2)>15 vậy bạn? Vì sao lấy THáng cộng cho ngày được.
Công thức Day($A2)>15 có ý nghĩa gì? sao mình đánh vào excel nó lại ra giá trị TRUE hoặc FALSE
Cảm ơn bạn nhiều!
Lần chỉnh sửa cuối: