- Tham gia
- 6/8/08
- Bài viết
- 1,815
- Được thích
- 1,162
- Giới tính
- Nam
Thế mà các cũng nhìn ra. Tinh thật đấy.Chuẩn chỉnh cỡ như quanlyfi và cỡ Genuine Office không?



Thế mà các cũng nhìn ra. Tinh thật đấy.Chuẩn chỉnh cỡ như quanlyfi và cỡ Genuine Office không?
OK rồi, nhưng có thể bớt NaCl & thêm chút mỳ 9:=EOMONTH(B1,IF(MOD(MONTH(B1),3)=0,-3,IF(MOD(MONTH(B1),3)=1,-1,-2)))
cái này ok ko
Còn 1 kiểu nữa bác. Vì ngày cuối của quý là cố định, nên có thể dùng các hàm tìm kiếm để dò tìm.Tổng kết lại, đây là một đề tài khá thú vị.
Thú vị đây là giải thuật, công thức không thành vấn đề. Moojt khi giải thuật vững thì code/công thức có thẻ dựa đó mà ra, vuôt đi vuôt lại thì càng lúc càng ngắn gọn và/hoặc tăng hiệu quả.
Giải thuật cho đên giờ này chia ra hai kiểu chính:
1. Kiểu thứ nhất là tìm ngày đầu quý hiện tại. Xong trừ đi 1.
2. Kiểu thứ hai là tìm tháng cuối quý trước và đi đến cuối tháng.
Cả hai kiểu đều dựa vào con toán tính hiện tại là tháng thứ mấy trong quý.
=LOOKUP(O38,DATE(YEAR(O38),{1,4,7,10},1),DATE(YEAR(O38),{1,4,7,10},0))
Công thức trông gọn nhưng thực tế nó phải tính 4 lần hàm Date (và hàm Year bên trong hàm Date).....
LOOKUP(O38,DATE(YEAR(O38),{1,4,7,10},1))-1
Tức là nó vẫn tính 4 lần, hay là chỉ tính 1 lần thôi.Công thức trông gọn nhưng thực tế nó phải tính 4 lần hàm Date (và hàm Year bên trong hàm Date).