Tìm ngày cuối Quý trước.

Liên hệ QC
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
33
Được thích
1
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.
 

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia
8/6/06
Bài viết
13,652
Được thích
21,063
Nghề nghiệp
Bên kia sườn dốc
→ → → → → → → → → → → → → → → → → → → → → → → → → → → → → → → → →→
=IF(MONTH(O3)<7,IF(MONTH(O3)<=4,DATE(YEAR(O3)-1,12,31),"I"),"II & III")
← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ←
 

VetMini

Ăn cùng góc phố
Tham gia
21/12/12
Bài viết
15,111
Được thích
20,155
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:

ptm0412

Bad Excel Member
Thành viên BQT
Super Moderator
Tham gia
4/11/07
Bài viết
12,837
Được thích
34,602
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
→ → → → → → → → → → → → → → → → → → → → → → → → → → → → → → → → →→
=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
 

VetMini

Ăn cùng góc phố
Tham gia
21/12/12
Bài viết
15,111
Được thích
20,155
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)))
 

HieuCD

Chuyên gia GPE
Tham gia
14/9/10
Bài viết
9,196
Được thích
20,502
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)
 

VetMini

Ăn cùng góc phố
Tham gia
21/12/12
Bài viết
15,111
Được thích
20,155
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:

NT Ngoc Yen

Thành viên mới
Tham gia
12/11/22
Bài viết
14
Được thích
12
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.
Thử công thức này:
A2=EOMONTH(DATE(YEAR(A1),(INT((MONTH(A1)-1)/3)+1)*3,DAY(A1)),-3)
 

cantl

!!! Giải thoát !!!
Tham gia
6/8/08
Bài viết
604
Được thích
340
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é.
 

VetMini

Ăn cùng góc phố
Tham gia
21/12/12
Bài viết
15,111
Được thích
20,155
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)
 

VetMini

Ăn cùng góc phố
Tham gia
21/12/12
Bài viết
15,111
Được thích
20,155
ô
Ý 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ó.
 

ptm0412

Bad Excel Member
Thành viên BQT
Super Moderator
Tham gia
4/11/07
Bài viết
12,837
Được thích
34,602
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
Ý 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
 

ptm0412

Bad Excel Member
Thành viên BQT
Super Moderator
Tham gia
4/11/07
Bài viết
12,837
Được thích
34,602
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
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:

cantl

!!! Giải thoát !!!
Tham gia
6/8/08
Bài viết
604
Được thích
340
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.
 

ptm0412

Bad Excel Member
Thành viên BQT
Super Moderator
Tham gia
4/11/07
Bài viết
12,837
Được thích
34,602
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
Web KT

Group

DIỄN ĐÀN GIẢI PHÁP EXCEL
Top Bottom