Công thức ma men. Chắc cái chai nó chui lọt lô gic so sánh từ nhỏ đến lớn rồi.Công thức gì kỳ cục.
Công thức này tuy dài, nhưng nó rất mô phạm đóCông thức gì kỳ cục.
Ngày ở ô A1 .Chào các bác.
Các bác cho em hỏi làm thế nào để tìm được ngày cuối quý trước không ạ?
Ví dụ: Em nhập bất kỳ một ngày nào ở trong quý 4 thì ngày cuối quý trước luôn là 30/09.
Cảm ơn các bác nhiều.
=EOMONTH(A1,-MOD(MONTH(A1)-1,3)-1)
Thử công thức này:Chào các bác.
Các bác cho em hỏi làm thế nào để tìm được ngày cuối quý trước không ạ?
Ví dụ: Em nhập bất kỳ một ngày nào ở trong quý 4 thì ngày cuối quý trước luôn là 30/09.
Cảm ơn các bác nhiều.
Nói bác đừng buồn, chứ công thức của bác em không copy được cứ nhìn ảnh gõ làm ức chế gê.Ngủ một đêm, sáng ra nghgix lại mình ngu. Tại sao phải tính quý trước.
Ngày cuối quý trước tức là ngay đầu quý này trừ đi 1.
Date(Year(ngày), Quotient(Month(ngày)+2, 3), 0)
Sửa sai:
Biểu thức hàm quotient trên chỉ mới tinh ra quý. Để tinh ra tháng đâu của quý, cần nhân 3 và trừ 2.
Quotient(Month(ngày)+2,3)*3-2
=DATE(YEAR(A1);CEILING(MONTH(A1);3)-2;1)-1
Kiểm tra 366 ngày thì bị lệch vài ngày nên bạn lưu ý nhé.Thử công thức này:
A2=EOMONTH(DATE(YEAR(A1),(INT((MONTH(A1)-1)/3)+1)*3,DAY(A1)),-3)
Không cần phải -1. KHi bạn nạp day=0 thì hàm Date tự động biết là cuối tháng trước....Mã:=DATE(YEAR(A1);CEILING(MONTH(A1);3)-2;1)-1
Ô, cái này đúng là lạ thật, nó hiểu ngày tháng trước luôn mới tài chứ.Không cần phải -1. KHi bạn nạp day=0 thì hàm Date tự động biết là cuối tháng trước.
Thế zero không phải là 1 trừ 1 à?Ô, cái này đúng là lạ thật, nó hiểu ngày tháng trước luôn mới tài chứ.![]()
Ý em là tưởng hàm date(y,m,d) nó phải yêu cầu mình nhập giá trị sao cho ngày có nghĩa, không nghĩ là d=0 nó sẽ hiểu ngày trước đó ấy. VD ngày 0/1/23 thì em nghĩ nó sẽ vô nghĩa.Thế zero không phải là 1 trừ 1 à?
Date (nói chung cho tất cả các phép tính về ngày tháng) của Excel có những điểm không hợp với lô gic Toán.Ý em là tưởng hàm date(y,m,d) nó phải yêu cầu mình nhập giá trị sao cho ngày có nghĩa, không nghĩ là d=0 nó sẽ hiểu ngày trước đó ấy. VD ngày 0/1/23 thì em nghĩ nó sẽ vô nghĩa.
Vậy thì thử =DATE(2023,0,0) xem saoÝ em là tưởng hàm date(y,m,d) nó phải yêu cầu mình nhập giá trị sao cho ngày có nghĩa, không nghĩ là d=0 nó sẽ hiểu ngày trước đó ấy. VD ngày 0/1/23 thì em nghĩ nó sẽ vô nghĩa.
Em thấy ngày 0 nó trả về trước thì hay, chứ tháng 0 nó trả về tháng 11 thì có vẻ hơi dở hơi. Cái thằng Date này đúng là trong rủi có may, mà lắm tài nhiều tật.Vậy thì thử =DATE(2023,0,0) xem sao
Sai rồi. Tháng 0 trả về tháng 12. Sau đó ngày 0 tháng 12 mới trả về 30/11. Chả biết ai dở hơi.Em thấy ngày 0 nó trả về trước thì hay, chứ tháng 0 nó trả về tháng 11 thì có vẻ hơi dở hơi. Cái thằng Date này đúng là trong rủi có may, mà lắm tài nhiều tật.
Lúc nào gặp nhớ sau bác ơi, giờ em không dùng nên không nhớ được đâu. Tốt nhất cứ chuẩn chỉnh dễ nhớ hơn.Sai rồi. Tháng 0 trả về tháng 12. Ngày 0 tháng 12 mới trả về 30/11
Lẽ ra thấy cái gì mới mới thì phải tự tìm hiểu và mở rộng ra, chứ toàn để phải gợi ý là dở rồi.
Thí dụ thử =Date(0,1,0), = Date(1,0,0), và vài thứ nữa. Rút ra 1 mớ kết luận cho riêng mình, để mai kia không còn mắt chữ O miệng chữ A.
Chuẩn chỉnh cỡ như quanlyfi và cỡ Genuine Office không?Lúc nào gặp nhớ sau bác ơi, giờ em không dùng nên không nhớ được đâu. Tốt nhất cứ chuẩn chỉnh dễ nhớ hơn.
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).