Hàm excel xác định số tuần trong 01 tháng bất kỳ của 01 năm

Liên hệ QC

nguyenkimngoc

Thành viên hoạt động
Tham gia
4/8/08
Bài viết
113
Được thích
7
Dear A/C

Anh chị cho em hỏi, hàm excel xác định số tuần trong 01 tháng bất kỳ của năm thì dùng hàm gì Anh Chị nhỉ?

Chẳng hạn muốn xác định tháng 04/2018 có bao nhiêu tuần thì dùng công thức nào nhỉ?

cám ơn A/C
 
Bạn ơi, trong Excel không có hàm trực tiếp tính ra số tuần trong 01 tháng mà phải dùng một số hàm lồng vào nhau để tính ra số tuần trong 01 tháng bất kỳ.
Như ví dụ bạn đưa ra, tính tháng 4/2018 có bao nhiêu tuần thì công thức sẽ là :
A1 = WEEKNUM(EOMONTH(DATE(2018,4,1),0)) - WEEKNUM(EOMONTH(DATE(2018,3,1),0))
Kết thúc bằng phím Enter.
Với điều kiện dấu phân tích công thức là dấu "," thì công thức trên sẽ đúng. Còn không, bạn vui lòng thay dấu "," trong công thức trên bằng dấu ";"
Thân chào.
 
Lần chỉnh sửa cuối:
Bạn ơi, trong Excel không có hàm trực tiếp tính ra số tuần trong 01 tháng mà phải dùng một số hàm lồng vào nhau để tính ra số tuần trong 01 tháng bất kỳ.
Như ví dụ bạn đưa ra, tính tháng 4/2018 có bao nhiêu tuần thì công thức sẽ là :
A1 = WEEKNUM(EOMONTH(DATE(2018,4,1),0)) - WEEKNUM(EOMONTH(DATE(2018,3,1),0))
Kết thúc bằng phím Enter.
Với điều kiện dấu phân tích công thức là dấu "," thì công thức trên sẽ đúng. Còn không, bạn vui lòng thay dấu "," trong công thức trên bằng dấu ";"
Thân chào.
Thanks bạn,

Nhưng mình đặt công thức lại ra 16 tuần đáng nhẽ tháng 4 chỉ ra 4 tuần thui chứ nhỉ?

Bạn vui lòng xem lại hộ mình chút được ko?

thank bạn
 
Bạn ơi,
Bạn có thể vui lòng gửi file lên để mình xem lại không nè ?
Cám ơn.
 
Tùy thuộc định nghĩa tuần bắt đầu từ thứ mấy? Nếu từ thứ hai đến CN thì quy về bài toán đếm số ngày CN trong tháng, + 1 nếu ngày cuối tháng không phải ngày CN.
 
Chào các bạn, cũng nhiều năm rồi nay mới có vấn đề cần học hỏi. Liên quan đến việc tính số tuần trong tháng nhưng tôi muốn số ngày trong tuần luôn là 7 ngày. Giả sử tuần thứ 5 của Tháng 11 này có 5 ngày còn tuần đầu tiên của Tháng 12 lại có 2 ngày. Câu hỏi ở đây là tôi muốn dồn 2 ngày cuối của Tháng 12 tính cho tuần thứ 5 của Tháng 11, và như vậy tuần thứ 1 của Tháng 12 sẽ bắt đầu từ ngày 3 Tháng 12. Xin cảm ơn mọi người trước.
 

File đính kèm

  • Tuan trong Thang.xlsx
    9.9 KB · Đọc: 10
Chào các bạn, cũng nhiều năm rồi nay mới có vấn đề cần học hỏi. Liên quan đến việc tính số tuần trong tháng nhưng tôi muốn số ngày trong tuần luôn là 7 ngày. Giả sử tuần thứ 5 của Tháng 11 này có 5 ngày còn tuần đầu tiên của Tháng 12 lại có 2 ngày. Câu hỏi ở đây là tôi muốn dồn 2 ngày cuối của Tháng 12 tính cho tuần thứ 5 của Tháng 11, và như vậy tuần thứ 1 của Tháng 12 sẽ bắt đầu từ ngày 3 Tháng 12. Xin cảm ơn mọi người trước.
Nếu bạn đang dùng Weeknum(...,2), tức ngầm xác định thứ 2 đầu tháng là tuần 1, vậy bạn tham khảo thử:
Mã:
A4=MOD(WEEKNUM(A6,2),WEEKNUM(EOMONTH(A6,-1-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)),2))
Enter, fill qua phải.
Xem file kèm.

Thân
 

File đính kèm

  • Tuan trong Thang.xlsx
    35.9 KB · Đọc: 19
Lần chỉnh sửa cuối:
Nếu bạn đang dùng Weeknum(...,2), tức ngầm xác định thứ 2 đầu tháng là tuần 1, vậy bạn tham khảo thử:
Mã:
A4=MOD(WEEKNUM(A6,2),WEEKNUM(EOMONTH(A6,-1-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)),2))
Enter, fill qua phải.
Xem file kèm.

Thân
Cảm ơn bạn rất nhiều. Đã giải quyết được việc đưa 2 ngày đầu của Tháng 12 về tuần cuối của Tháng 11 tuy nhiên công thức phía trên (Ô R3 và S3) đang hiểu là Tuần 4 của Tháng 12 chứ không phải tuần 4 của Tháng 11. Có cách nào đó để trả về kết quả là tuần 4 Tháng 11 không nhỉ. Mình cảm ơn trước nhé.
 
Cảm ơn bạn rất nhiều. Đã giải quyết được việc đưa 2 ngày đầu của Tháng 12 về tuần cuối của Tháng 11 tuy nhiên công thức phía trên (Ô R3 và S3) đang hiểu là Tuần 4 của Tháng 12 chứ không phải tuần 4 của Tháng 11. Có cách nào đó để trả về kết quả là tuần 4 Tháng 11 không nhỉ. Mình cảm ơn trước nhé.
Bạn điều chỉnh:
Mã:
A3="Tu."&A4&" - Th."&TEXT(EDATE(A6,-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)),"mm")
Enter, rồi fill qua phải.

Thân
 

File đính kèm

  • GPE_TuantrongThang.xlsx
    35.6 KB · Đọc: 13
Nếu bạn đang dùng Weeknum(...,2), tức ngầm xác định thứ 2 đầu tháng là tuần 1, vậy bạn tham khảo thử:
Mã:
A4=MOD(WEEKNUM(A6,2),WEEKNUM(EOMONTH(A6,-1-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)),2))
Enter, fill qua phải.
Xem file kèm.

Thân

Thức khuya dữ vậy Anh.
 
Thức khuya dữ vậy Anh.
Không nên phụ người có lòng.

Chào các bạn, cũng nhiều năm rồi nay mới có vấn đề cần học hỏi.

Anh cũng đã từng nhờ anh @HieuCD hỗ trợ, ảnh tận tình giúp đỡ, nên rất quý và trân trọng.
Mình giúp người khác, cũng là dịp tri ân người đã giúp mình.

Chúc em ngày vui.
/-*+//-*+//-*+/
 
Một vấn đề mới phát sinh là tuần đầu tiên của Tháng 1 năm 2019 đang được công thức trả về Tuần 1 của tháng 12. Chắc phải phiền các bạn thêm chút nữa. Thật là ngại quá nhưng mấy hàm ngày tháng này tôi rất ít khi sử dụng nên hầu như mù tịt.
 
Một vấn đề mới phát sinh là tuần đầu tiên của Tháng 1 năm 2019 đang được công thức trả về Tuần 1 của tháng 12. Chắc phải phiền các bạn thêm chút nữa. Thật là ngại quá nhưng mấy hàm ngày tháng này tôi rất ít khi sử dụng nên hầu như mù tịt.
Không sao đâu bạn! thắc mắc của bạn cũng là giúp tôi có thêm kinh nghiệm.
Bạn điều chỉnh lại:

A3="Tu."&A4&" - Th."&TEXT(EDATE(A6,-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)*(WEEKNUM(A6,2)>1)),"mm")

Ý câu lệnh trên:
  • -(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6): Nếu giá trị ngày tại A6 chưa phải đến "Ngày thứ 2 đầu tháng", (tức "Ngày thứ 2 đầu tháng" > A6), VÀ
  • *(WEEKNUM(A6,2)>1): Thường Ngày 01 tây đầu năm lúc nào hàm Weeknum() cũng trả về 1, cho nên nếu nó không phải là những ngày của tuần đầu năm.
  • Nếu thỏa hai lệnh trên thì EDATE(A6,-1) sẽ lấy cùng ngày với A6 nhưng lùi về 1 tháng (tức -1).
  • Nếu không thỏa 2 lệnh trên ra giá trị 0, tức EDATE(A6, 0) tức trả về cùng giá trị như A6.
Thân
 
Không sao đâu bạn! thắc mắc của bạn cũng là giúp tôi có thêm kinh nghiệm.
Bạn điều chỉnh lại:

A3="Tu."&A4&" - Th."&TEXT(EDATE(A6,-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)*(WEEKNUM(A6,2)>1)),"mm")

Ý câu lệnh trên:
  • -(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6): Nếu giá trị ngày tại A6 chưa phải đến "Ngày thứ 2 đầu tháng", (tức "Ngày thứ 2 đầu tháng" > A6), VÀ
  • *(WEEKNUM(A6,2)>1): Thường Ngày 01 tây đầu năm lúc nào hàm Weeknum() cũng trả về 1, cho nên nếu nó không phải là những ngày của tuần đầu năm.
  • Nếu thỏa hai lệnh trên thì EDATE(A6,-1) sẽ lấy cùng ngày với A6 nhưng lùi về 1 tháng (tức -1).
  • Nếu không thỏa 2 lệnh trên ra giá trị 0, tức EDATE(A6, 0) tức trả về cùng giá trị như A6.
Thân
Vâng. Xin cảm ơn bạn rất nhiều, bây giờ thì tuần cuối cùng của Tháng 12 (Tuần 5) lại có mỗi 1 ngày. Như ở Tháng 11 thì đã dồn qua tuần đầu của Tháng 12 rồi nhưng Tháng 12 lại chưa dồn qua Tháng 1. (tuần đầu của Tháng 1 chỉ có 6 ngày). Vậy lại phải phiền các bạn cao thủ thêm lần nữa rồi.
 
Vâng. Xin cảm ơn bạn rất nhiều, bây giờ thì tuần cuối cùng của Tháng 12 (Tuần 5) lại có mỗi 1 ngày. Như ở Tháng 11 thì đã dồn qua tuần đầu của Tháng 12 rồi nhưng Tháng 12 lại chưa dồn qua Tháng 1. (tuần đầu của Tháng 1 chỉ có 6 ngày). Vậy lại phải phiền các bạn cao thủ thêm lần nữa rồi.
Khà khà khà! bạn đặt vấn đề vui đó.
/-*+//-*+//-*+/
Vậy là không dùng Weeknum(....,2) được rồi!
Nếu vậy thì vầy:
Mã:
A3="Tu."&A4&" - Th."&TEXT(EDATE(A6,-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)),"mm")
A4=INT((A6-WORKDAY.INTL(EOMONTH(A6,-1-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)),1,"0111111"))/7)+1
Enter, rồi fill qua phải.

Thân
 

File đính kèm

  • GPE_TuantrongThang.xlsx
    42.1 KB · Đọc: 11
Khà khà khà! bạn đặt vấn đề vui đó.
/-*+//-*+//-*+/
Vậy là không dùng Weeknum(....,2) được rồi!
Nếu vậy thì vầy:
Mã:
A3="Tu."&A4&" - Th."&TEXT(EDATE(A6,-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)),"mm")
A4=INT((A6-WORKDAY.INTL(EOMONTH(A6,-1-(WORKDAY.INTL(EOMONTH(A6,-1),1,"0111111")>A6)),1,"0111111"))/7)+1
Enter, rồi fill qua phải.

Thân
Quả là rất rất chuẩn, kết quả chính xác theo đúng ý muốn. Xin cảm ơn bạn thêm lần nữa. Chúc bạn và gia đình nhiều sức khỏe và hạnh phúc.
 
Web KT
Back
Top Bottom