Xin giúp đỡ về xử lí ngày tháng tự động

Liên hệ QC

tranvandu2020

Thành viên mới
Tham gia
18/7/20
Bài viết
4
Được thích
3
Chào mọi người. Mình có 1 vấn đề mong có mem nào biết cách xử lí giúp mình ạ.
Mình đang làm 1 bản Report Tuần.Mình đính kèm theo ảnh chụp màn hình ạ
Mình quy định như sau
Cell H2 là Week ( Week: 1 năm Week sẽ chạy từ 1 đến 52, Week =1 khi có ít nhất 1 ngày của năm mới (2020) thuộc tuần đó.
Cell H3 là Year (2020)
Mình để Tên Sheet trùng với Week để sau mình viết VBA tự mở ra 1 format tương tự cho tuần 2,3,4....
Tại Cột Date Mình muốn đưa ra ngày tháng dựa vào thông số Week (H2), Year(H3), và Thông số thứ trong tuần: Chủ Nhật là 1, Thứ 2 là 2,....

Mình dùng công thức
=DAY(DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2)&"/"&MONTH(DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2)

Khi đó các đối với các ngày giữa tháng thì OK, nhưng vào những ngày cuối tháng sau đó đến đầu tháng sẽ bị lỗi Tháng ( lùi đi 1 tháng). Như trong hình mình gửi, từ ngày 31/12 bị trở về ngày 1/12. Lí do xảy ra việc này do trong hàm trên ô H2 của mình vẫn là Week =1, nên hàm công thức đưa ra tháng của mình bị sai.

Các mem có cao kiến gì có thể giúp mình khác phục lỗi trên không ạ?
 

File đính kèm

  • WeeklyReport.PNG
    WeeklyReport.PNG
    237.3 KB · Đọc: 23
Chào mọi người. Mình có 1 vấn đề mong có mem nào biết cách xử lí giúp mình ạ.
Mình đang làm 1 bản Report Tuần.Mình đính kèm theo ảnh chụp màn hình ạ
Mình quy định như sau
Cell H2 là Week ( Week: 1 năm Week sẽ chạy từ 1 đến 52, Week =1 khi có ít nhất 1 ngày của năm mới (2020) thuộc tuần đó.
Cell H3 là Year (2020)
Mình để Tên Sheet trùng với Week để sau mình viết VBA tự mở ra 1 format tương tự cho tuần 2,3,4....
Tại Cột Date Mình muốn đưa ra ngày tháng dựa vào thông số Week (H2), Year(H3), và Thông số thứ trong tuần: Chủ Nhật là 1, Thứ 2 là 2,....

Mình dùng công thức
=DAY(DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2)&"/"&MONTH(DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2)

Khi đó các đối với các ngày giữa tháng thì OK, nhưng vào những ngày cuối tháng sau đó đến đầu tháng sẽ bị lỗi Tháng ( lùi đi 1 tháng). Như trong hình mình gửi, từ ngày 31/12 bị trở về ngày 1/12. Lí do xảy ra việc này do trong hàm trên ô H2 của mình vẫn là Week =1, nên hàm công thức đưa ra tháng của mình bị sai.

Các mem có cao kiến gì có thể giúp mình khác phục lỗi trên không ạ?
bạn gửi file lên để mọi người tiện hỗ trợ nhé
 
Thấy bạn cũng chịu khó mày mò nên mình cũng muốn chia sẻ với bạn cách tính của mình.
Đầu tiên phải xác định ngày đầu tiên của năm tại ô H3 là thứ mấy
=WEEKDAY(DATE(H3,1,1))=4
Vậy thứ hai đầu tiên sẽ là ngày 1/1 trừ đi 2 ngày
Quy luật : Nếu 1/1 là CN=> trừ 6 ngày, T2 trừ 0 ngày, T3 trừ 1 ngày,...,T7 trừ 5 ngày
Dùng hàm CHOOSE để lấy giá trị trừ:
CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)
Vậy thứ hai đầu tiên của năm sẽ là:
DATE(H3,1,1)+CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)
Cộng thêm tham số tuần, cứ 1 tuần thì cộng thêm 7 ngày, Công thức cuối cùng tại B12 là:
Mã:
=DATE(H3,1,1)+CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)+(H2-1)*7
Các ngày kế tiếp chỉ đơn giản là ngày trước+1
B17=B12+1
Copy cho các ô còn lại
 
Chào mọi người. Mình có 1 vấn đề mong có mem nào biết cách xử lí giúp mình ạ.
Mình đang làm 1 bản Report Tuần.Mình đính kèm theo ảnh chụp màn hình ạ
Mình quy định như sau
Cell H2 là Week ( Week: 1 năm Week sẽ chạy từ 1 đến 52, Week =1 khi có ít nhất 1 ngày của năm mới (2020) thuộc tuần đó.
Cell H3 là Year (2020)
Mình để Tên Sheet trùng với Week để sau mình viết VBA tự mở ra 1 format tương tự cho tuần 2,3,4....
Tại Cột Date Mình muốn đưa ra ngày tháng dựa vào thông số Week (H2), Year(H3), và Thông số thứ trong tuần: Chủ Nhật là 1, Thứ 2 là 2,....

Mình dùng công thức
=DAY(DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2)&"/"&MONTH(DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2)

Khi đó các đối với các ngày giữa tháng thì OK, nhưng vào những ngày cuối tháng sau đó đến đầu tháng sẽ bị lỗi Tháng ( lùi đi 1 tháng). Như trong hình mình gửi, từ ngày 31/12 bị trở về ngày 1/12. Lí do xảy ra việc này do trong hàm trên ô H2 của mình vẫn là Week =1, nên hàm công thức đưa ra tháng của mình bị sai.

Các mem có cao kiến gì có thể giúp mình khác phục lỗi trên không ạ?
Mình làm cái này dựa vào ô B12 của bạn thôi nhá!!! (mình không biết ô B12 này ra sao ... )
Bài đã được tự động gộp:

Thấy bạn cũng chịu khó mày mò nên mình cũng muốn chia sẻ với bạn cách tính của mình.
Đầu tiên phải xác định ngày đầu tiên của năm tại ô H3 là thứ mấy
=WEEKDAY(DATE(H3,1,1))=4
Vậy thứ hai đầu tiên sẽ là ngày 1/1 trừ đi 2 ngày
Quy luật : Nếu 1/1 là CN=> trừ 6 ngày, T2 trừ 0 ngày, T3 trừ 1 ngày,...,T7 trừ 5 ngày
Dùng hàm CHOOSE để lấy giá trị trừ:
CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)
Vậy thứ hai đầu tiên của năm sẽ là:
DATE(H3,1,1)+CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)
Cộng thêm tham số tuần, cứ 1 tuần thì cộng thêm 7 ngày, Công thức cuối cùng tại B12 là:
Mã:
=DATE(H3,1,1)+CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)+(H2-1)*7
Các ngày kế tiếp chỉ đơn giản là ngày trước+1
B17=B12+1
Copy cho các ô còn lại
Hic... làm vừa xong gởi bạn @tranvandu2020 thì thấy bài của Bác @bebo021999 hay quá...
 

File đính kèm

Thấy bạn cũng chịu khó mày mò nên mình cũng muốn chia sẻ với bạn cách tính của mình.
Đầu tiên phải xác định ngày đầu tiên của năm tại ô H3 là thứ mấy
=WEEKDAY(DATE(H3,1,1))=4
Vậy thứ hai đầu tiên sẽ là ngày 1/1 trừ đi 2 ngày
Quy luật : Nếu 1/1 là CN=> trừ 6 ngày, T2 trừ 0 ngày, T3 trừ 1 ngày,...,T7 trừ 5 ngày
Dùng hàm CHOOSE để lấy giá trị trừ:
CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)
Vậy thứ hai đầu tiên của năm sẽ là:
DATE(H3,1,1)+CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)
Cộng thêm tham số tuần, cứ 1 tuần thì cộng thêm 7 ngày, Công thức cuối cùng tại B12 là:
Mã:
=DATE(H3,1,1)+CHOOSE(WEEKDAY(DATE(H3,1,1)),-6,0,-1,-2,-3,-4,-5)+(H2-1)*7
Các ngày kế tiếp chỉ đơn giản là ngày trước+1
B17=B12+1
Copy cho các ô còn lại
Dạ mình cám ơn bạn nhiều ạ. Cách bạn tính hay quá, đơn giản không cần phải cồng kềnh như công thức trên của mình, đúng ý mình cần. Tối qua mình có tìm ra 1 công thức cũng chạy được hiệu quả với mong muốn của mình. Mình chia sẻ mọi người nếu dùng được cho công việc thì càng tốt ạ
Mã:
=DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2
Bài đã được tự động gộp:

Mình làm cái này dựa vào ô B12 của bạn thôi nhá!!! (mình không biết ô B12 này ra sao ... )
Bài đã được tự động gộp:


Hic... làm vừa xong gởi bạn @tranvandu2020 thì thấy bài của Bác @bebo021999 hay quá...
Thật sự khâm phục cách suy nghĩ của bạn luôn ý, dù hơi dài nhưng bên trong lệnh toàn những thứ hay, mình xin phép được lưu lại sau có thể cần cho những ứng dụng khác. Mình cám ơn bạn nhiều ạ.
 
Chào mọi người. Mình có 1 vấn đề mong có mem nào biết cách xử lí giúp mình ạ.
Mình đang làm 1 bản Report Tuần.Mình đính kèm theo ảnh chụp màn hình ạ
Mình quy định như sau
Cell H2 là Week ( Week: 1 năm Week sẽ chạy từ 1 đến 52, Week =1 khi có ít nhất 1 ngày của năm mới (2020) thuộc tuần đó.
Cell H3 là Year (2020)
Mình để Tên Sheet trùng với Week để sau mình viết VBA tự mở ra 1 format tương tự cho tuần 2,3,4....
Tại Cột Date Mình muốn đưa ra ngày tháng dựa vào thông số Week (H2), Year(H3), và Thông số thứ trong tuần: Chủ Nhật là 1, Thứ 2 là 2,....

Mình dùng công thức
=DAY(DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2)&"/"&MONTH(DATE(H3,1,1)-WEEKDAY(DATE(H3,1,1),1)+7*(H2-1)+2)

Khi đó các đối với các ngày giữa tháng thì OK, nhưng vào những ngày cuối tháng sau đó đến đầu tháng sẽ bị lỗi Tháng ( lùi đi 1 tháng). Như trong hình mình gửi, từ ngày 31/12 bị trở về ngày 1/12. Lí do xảy ra việc này do trong hàm trên ô H2 của mình vẫn là Week =1, nên hàm công thức đưa ra tháng của mình bị sai.

Các mem có cao kiến gì có thể giúp mình khác phục lỗi trên không ạ?
[/QUOTE
Chào bạn, các công thức trên đều khá hay, mình góp công thức này:
=DATE($H$3,1,1)-WEEKDAY(DATEVALUE("1/1/"&$H$3),1)+2+(H2-1)*7
Bài đã được tự động gộp:

Mã:
=DATE($H$3,1,1)-WEEKDAY(DATEVALUE("1/1/"&$H$3),1)+2+(H2-1)*7
Bài đã được tự động gộp:

=DATE($H$3,1,1)-WEEKDAY(DATEVALUE("1/1/"&$H$3),1)+2+(H2-1)*7
 
Web KT

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

Back
Top Bottom