Tìm ngày cuối Quý trước. (1 người xem)

  • Thread starter Thread starter thkd09
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

thkd09

Thành viên mới
Tham gia
26/3/09
Bài viết
47
Được thích
2
Giới tính
Nam
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.
 
→ → → → → → → → → → → → → → → → → → → → → → → → → → → → → → → → →→
=IF(MONTH(O3)<7,IF(MONTH(O3)<=4,DATE(YEAR(O3)-1,12,31),"I"),"II & III")
← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ←
 
Trừ sô tháng cho 1, 2, 3 túy theo thâng - { 1, 4, 7. 10 }; { 2, 5, 8. 11 }; { 3, 6, 9, 12 };
sẽ được tháng cuối của quý trước.
Hám để tính ra 1, 2, 3 trên:
1678630454662.png
Hàm tính ra tháng cuối của quý trước:
1678630548628.png
Dùng hàm EoMonth để dời đến ngày cuối tháng:
1678630680562.png

Bổ sung 13/03/2023:
Nhầm rồi. Đã dùng hàm eomonth thì không cần edate.
Như vậy, công thức có thể túm lại là:
1678641029596.png
 

File đính kèm

  • 1678630276023.png
    1678630276023.png
    3.3 KB · Đọc: 9
Lần chỉnh sửa cuối:
→ → → → → → → → → → → → → → → → → → → → → → → → → → → → → → → → →→
=IF(MONTH(O3)<7,IF(MONTH(O3)<=4,DATE(YEAR(O3)-1,12,31),"I"),"II & III")
← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ←
Công thức gì kỳ cục.

1678634928726.png
 
Công thức gì kỳ cục.
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 tính quý đáng lẽ phải là:
=IF(month(O3)<=3, 1, IF(month(O3)<=6, 2, IF(month(O3)<=9, 3, 4)))
Tương đương với:
=MATCH(month(O3), { 1, 4, 7, 10 }, 1)

Công thức tính ngày cuối quý trước đó:
=DateValue((Year(O3)-(month(O3)<=3)) & INDEX({ "/12/31", "/03/31", "/06/30", "/09/30" }, MATCH(month(O3), { 1, 4, 7, 10 }, 1)))
 
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.
Ngày ở ô A1 .
Mã:
=EOMONTH(A1,-MOD(MONTH(A1)-1,3)-1)
 
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
 
Lần chỉnh sửa cuối:
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.
Thử công thức này:
A2=EOMONTH(DATE(YEAR(A1),(INT((MONTH(A1)-1)/3)+1)*3,DAY(A1)),-3)
 
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
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ê.
Thế là phải tạo quy trình chuẩn hóa là thế này: lấy ảnh -> cho ứng dụng nhận dạng ảnh sang text rồi dán vào excel -> sửa "," thành ";" theo định dạng của máy -> kéo địa chỉ ô về vị trí chứa dữ liệu. Ối zời ơi. :wallbash: :wallbash: :wallbash:
PS: Em mới mót được hàm celing, hàm eotháng thì chưa rõ lắm. Ý tưởng thì sau khi bác ngủ 1 đêm. :p:p:p

Mã:
=DATE(YEAR(A1);CEILING(MONTH(A1);3)-2;1)-1
Bài đã được tự động gộp:

Thử công thức này:
A2=EOMONTH(DATE(YEAR(A1),(INT((MONTH(A1)-1)/3)+1)*3,DAY(A1)),-3)
Kiểm tra 366 ngày thì bị lệch vài ngày nên bạn lưu ý nhé.
 
Mã:
=DATE(YEAR(A1);CEILING(MONTH(A1);3)-2;1)-1
...
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.
Hàm Ceiling bạn dùng ở đây hơi khó hiểu so với hàm Mod dùng ở bài #7.

Tôi cố tình dùng ảnh để ép ngườidùng phải rự gõ, vì các lý do sau:
- nhiều người hỏi rất lười. Họ chỉ copy/paste chứ không hề coi qua nó là cái gì.
- nhiều công thức tôi đưa ra theo ý niệm, không hẳn nhắm vào trường hợp đặc thì của để bài. Những người có kiên nhẫn gõ thì sẽ có kiên nhẫn đủ để hiểu hoặc tìm hiểu công thức.

Điển hình, công thức trên tôi dùng Quotient(biểu thức số bị chia, biểu thức số chia) thay vì Int(biểu thức số bị chia / biểu thức số chia)
 
Thế zero không phải là 1 trừ 1 à?
Ý 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 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.
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.
Cần phải ghi nhớ các kiểu, loại của 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 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.
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.
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.
 
Lần chỉnh sửa cuối:
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.
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.
 
Web KT

Bài viết mới nhất

Back
Top Bottom