hoangtuaotrang_hp_vn
Thành viên tích cực


- Tham gia
- 17/5/09
- Bài viết
- 1,010
- Được thích
- 884
Như vậy khái niệm tuần của bạn không phải là 7 ngày. Mà là có cả < 7 ngàyEm chào anh/chị,
Em có bài toán, khi mình chọn số tuần (trong tháng) muốn xem, thì liệt kê số ngày của tuần đó, chi tiết em ghi trong file ạ
Mong anh/chị giúp đỡ
Em chân thành cảm ơn
vâng anh, tại mình truy xuất dữ liệu theo tháng, nên chỉ lấy trọn vẹn dữ liệu của tháng ấy thôi (phân bổ dữ liệu theo từng tuần của tháng ấy)Như vậy khái niệm tuần của bạn không phải là 7 ngày. Mà là có cả < 7 ngày
Bài này tôi nghĩ mãi không ra được bước cuối cùng.vâng anh, tại mình truy xuất dữ liệu theo tháng, nên chỉ lấy trọn vẹn dữ liệu của tháng ấy thôi (phân bổ dữ liệu theo từng tuần của tháng ấy)
Tham khảo:Em chào anh/chị,
Em có bài toán, khi mình chọn số tuần (trong tháng) muốn xem, thì liệt kê số ngày của tuần đó, chi tiết em ghi trong file ạ
Mong anh/chị giúp đỡ
Em chân thành cảm ơn
K11=IF(K$13="","",$K$8)
K13=IFERROR(AGGREGATE(15,6,Calendar!$F$2:$F$370/($K$8=Calendar!$E$2:$E$370)/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),1),"")
L13=IFERROR(IF(K$13+1<=AGGREGATE(14,6,Calendar!$F$2:$F$370/($K$8=Calendar!$E$2:$E$370)/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),1),K$13+1,""),"")
Không đi được bước cuối cùng thì nên chọn hướng khác, tôi xài excel 2010 nên thích dùng hàm WORKDAY.INTL()Bài này tôi nghĩ mãi không ra được bước cuối cùng.
Chọn tháng 4 tuần 1 chưa giống kết quả mong muốn của tác giả.Tham khảo:
Em chạy thử thì có 1 số tháng bị thiếu 1/ vài ngày cuối tháng anh ạ.Tham khảo:
Chỉ Enter.Mã:K11=IF(K$13="","",$K$8) K13=IFERROR(AGGREGATE(15,6,Calendar!$F$2:$F$370/($K$8=Calendar!$E$2:$E$370)/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),1),"") L13=IFERROR(IF(K$13+1<=AGGREGATE(14,6,Calendar!$F$2:$F$370/($K$8=Calendar!$E$2:$E$370)/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),1),K$13+1,""),"")
Xem file kèm.
Thân
Trường hợp 1: Nếu vùng E2:F366 có dữ liệuKhi chọn năm, tháng và số tuần trong tháng, 1 tháng có 4 hoặc 5 (hoặc 6 tuần)
thì K13~Q13 sẽ liệt kê số ngày tương ứng của tuần đó theo quy tắc:
- Dò tìm trong sheet 'Calendar', tìm lấy kết quả trong vùng: E2:F366
- Nếu trong vùng E2:F366 không có dữ liệu thì số tuần sẽ đc quy ước như sau:
- Tuần 1 của tháng: tính từ ngày mùng 1 đến CN gần nhất
- Tuần tiếp theo: T2~CN
- Tuần cuối cùng: T2~Ngày cuối tháng
Em chạy thử thì có 1 số tháng bị thiếu 1/ vài ngày cuối tháng anh ạ.Đó là tháng 01, 02, 03, 05, 06, 08, 10, 11
K13=IFERROR(IFERROR(AGGREGATE(15,6,Calendar!$F$2:$F$370/($K$8=Calendar!$E$2:$E$370)/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),1),AGGREGATE(15,6,AGGREGATE(15,6,Calendar!$F$2:$F$370/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),ROW($1:$400))/((INT(AGGREGATE(15,6,(Calendar!$F$2:$F$370-WORKDAY.INTL(DATE($D$8,$G$8,1)-1,1,"1111110")-1)/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),ROW($1:$400))/7)+1)=$K$8-1),COLUMN(A$1))),"")
L13=IF(K13="","",IFERROR(IFERROR(IF(K$13+1<=AGGREGATE(14,6,Calendar!$F$2:$F$370/($K$8=Calendar!$E$2:$E$370)/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),1),K$13+1,""),AGGREGATE(15,6,AGGREGATE(15,6,Calendar!$F$2:$F$370/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),ROW($1:$400))/((INT(AGGREGATE(15,6,(Calendar!$F$2:$F$370-WORKDAY.INTL(DATE($D$8,$G$8,1)-1,1,"1111110")-1)/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),ROW($1:$400))/7)+1)=$K$8-1),COLUMN(B$1))),""))
Chọn tuần quá số tuần trong tháng kết quả trả về ngày đầu tháng sauEm chào anh/chị,
Em có bài toán, khi mình chọn số tuần (trong tháng) muốn xem, thì liệt kê số ngày của tuần đó, chi tiết em ghi trong file ạ
Mong anh/chị giúp đỡ
Em chân thành cảm ơn
Gọn bưng!Chọn tuần quá số tuần trong tháng kết quả trả về ngày đầu tháng sau
Xem file
Cột phụ=IF(AND(E2="",TEXT(F2,"myyyy")=Report!$G$8&Report!$D$8),INT((F2-WORKDAY.INTL(EOMONTH(F2,-1),1,"1111110")-1)/7)+2,"")
K13=IFERROR(AGGREGATE(15,6,Calendar!$F$2:$F$370/($K$8=IFERROR(1/(1/Calendar!$E$2:$E$370),Calendar!$H$2:$H$370))/(DATE($D$8,$G$8,1)=EOMONTH(Calendar!$F$2:$F$370*1,-1)+1),COLUMN(A$1)),"")
Công thức của anh gọn gàng quáChọn tuần quá số tuần trong tháng kết quả trả về ngày đầu tháng sau
Xem file
bạn search google với keyword: Spin buttonBạn ơi, làm sao tạo được cái nút lên xuống của bạn vậy?
View attachment 213536
???Khi chọn năm, tháng và số tuần trong tháng, 1 tháng có 4 hoặc 5 (hoặc 6 tuần)
thì K13~Q13 sẽ liệt kê số ngày tương ứng của tuần đó theo quy tắc:
1. Dò tìm trong sheet 'Calendar', tìm lấy kết quả trong vùng: E2:F366
2. Nếu trong vùng E2:F366 không có dữ liệu thì số tuần sẽ đc quy ước như sau:
Trong Calendar:
1 2019-01-01
1 2019-01-02
1 2019-01-03
1 2019-01-04
1 2019-01-05
1 2019-01-06
1 2019-01-07
1 2019-01-08
1 2019-01-09
Ví dụ: tháng 3/2019: Tuần 1: 01/03~03/03
Tuần 2: 04/03~10/03
Tuần 3: 11/03~17/03
Tuần 4: 18/03~24/03
Tuần 5: 25/03~31/03
Tức Calendar là tiêu chí đầu tiên, tiêu chí số 1, quan trọng nhất. Mà theo Calendar thì:Khi chọn năm, tháng và số tuần trong tháng, 1 tháng có 4 hoặc 5 (hoặc 6 tuần)
thì K13~Q13 sẽ liệt kê số ngày tương ứng của tuần đó theo quy tắc:
1. Dò tìm trong sheet 'Calendar', tìm lấy kết quả trong vùng: E2:F366
2. Nếu trong vùng E2:F366 không có dữ liệu thì số tuần sẽ đc quy ước như sau:
Thấy người ta giải ầm ầm mà hoang mang quá. Chả nhẽ tuổi đã đến mức lú lẫn không hiểu được người khác nói gì! Buồn quá.
Bạn có thể giải thích
???
Nhìn tháng 1 năm 2019 trên lịch tường thì chịu không hiểu tại sao tuần 1 có 9 ngày: thứ 3, thứ 4, thứ 5, thứ 6, thứ 7, CN, thứ 2, thứ 3, thứ 4. Thấy kỳ kỳ thế nào ấy.
Hay có ứng dụng tiền tỷ nào cần số ngày trong tuần như thế?
Đọc đến đây không hiểu nhà thơ nghĩ gì luôn.
Rõ ràng có ghi là trước hết tìm trong Calendar
Tức Calendar là tiêu chí đầu tiên, tiêu chí số 1, quan trọng nhất. Mà theo Calendar thì:
1 2019-03-01
1 2019-03-02
1 2019-03-03
1 2019-03-04
1 2019-03-05
1 2019-03-06
Tức tuần 1 có 6 ngày từ 01 tới 06. Mâu thuẫn.
Kết luận:
1. Mâu thuẫn trong cách diễn giải.
2. Không hiểu tiêu chí Calendar để làm trò gì. Nhất là khi theo nó thì hơi bị buồn cười. Tuần 1 của tháng 1/2019 có 9 ngày, và tuần 1 của 3/2019 có 6 ngày? Lần đầu trong đời thấy cách tính khác người. Có lẽ đã đến lúc vào nhà dưỡng lão rồi. Buồn quá. Chắc những người khác "nhìn" thấy được những đoạn được viết giữa các dòng bằng bút mực tàng hình chăng.![]()
Không có chỗ nào bạn nói tới chuyện "Nếu vùng E2:F366 có dữ liệu, Nếu vùng E2:F366 không có dữ liệu". Hay là tôi đọc sót? Mà tập tin của bạn là có dữ liệu trong vùng E2:F366 nên cứ theo qui tắc bạn tự đưa ra thôi. Tôi không đưa ra qui tắc đó mà là bạn tự đưa ra qui tắc. Mà theo qui tắc đó thì VD. mà bạn đưa ra mâu thuẫn với qui tắc đó.Trường hợp 1: Nếu vùng E2:F366 có dữ liệu
Do đã ấn định số thứ tự của tuần trong tháng, nên sẽ có tháng tuần cuối cùng có số ngày lớn hơn 7 ngày, nên liệt kê thiếu trong tiêu đề là chuyện đương nhiên
Trường hợp 2: Nếu vùng E2:F366 không có dữ liệu, tôi cho là ý chủ thớt bảo: cột E2:E366 sẽ không ấn định sẵn số thứ tự của tuần trong tháng, lúc đó làm theo yêu cầu 2.
Không có chỗ nào bạn nói tới chuyện "Nếu vùng E2:F366 có dữ liệu, Nếu vùng E2:F366 không có dữ liệu". Hay là tôi đọc sót? Mà tập tin của bạn là có dữ liệu trong vùng E2:F366 nên cứ theo qui tắc bạn tự đưa ra thôi. Tôi không đưa ra qui tắc đó mà là bạn tự đưa ra qui tắc. Mà theo qui tắc đó thì VD. mà bạn đưa ra mâu thuẫn với qui tắc đó.
Ngoài ra tôi thấy kỳ kỳ khi nhìn lên lịch tháng 1 mà ai đó lại nói tuần 1 của tháng 1 có 9 ngày: thứ 3, thứ 4, thứ 5, thứ 6, thứ 7, CN, thứ 2, thứ 3, thứ 4. Trong đời chưa một lần từng thấy.
Tôi chỉ căn cứ vào những gì bạn viết thôi chứ tôi không cần phiên dịch. Tôi vẫn còn hiểu tiếng Việt chứ không cần phiên dịch đâu. Những gì đã viết trên giấy trắng bằng mực đen thì tôi đều hiểu. Chắc chắn còn hiểu hơn nhiều người.
Mà thôi. Tôi tưởng tôi lú lẫn thôi. Hóa ra đầu óc vẫn còn minh mẫn lắm.