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

nguyenkimngoc

Thành viên hoạt động
Tham gia ngày
4 Tháng tám 2008
Bài viết
113
Được thích
7
Điểm
670
Tuổi
35
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
 

nguoi_ham_hoc

Thành viên hoạt động
Tham gia ngày
1 Tháng hai 2017
Bài viết
125
Được thích
83
Điểm
180
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:

nguyenkimngoc

Thành viên hoạt động
Tham gia ngày
4 Tháng tám 2008
Bài viết
113
Được thích
7
Điểm
670
Tuổi
35
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.
Cảm ơn 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
 

nguoi_ham_hoc

Thành viên hoạt động
Tham gia ngày
1 Tháng hai 2017
Bài viết
125
Được thích
83
Điểm
180
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.
 

bebo021999

Thành viên gạo cội
Tham gia ngày
26 Tháng một 2011
Bài viết
3,618
Được thích
5,705
Điểm
560
Nơi ở
TPHCM, Gò Vấp
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.
 

echo07

Nguyệt Hà
Tham gia ngày
24 Tháng tám 2007
Bài viết
265
Được thích
193
Điểm
695
Nơi ở
Đối diện Gpe
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

Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,271
Điểm
360
Nơi ở
Sài Gòn
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

Lần chỉnh sửa cuối:

echo07

Nguyệt Hà
Tham gia ngày
24 Tháng tám 2007
Bài viết
265
Được thích
193
Điểm
695
Nơi ở
Đối diện Gpe
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é.
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,271
Điểm
360
Nơi ở
Sài Gò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é.
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

saobekhonglac

Thành viên tích cực
Tham gia ngày
1 Tháng mười một 2008
Bài viết
1,297
Được thích
904
Điểm
860
Nơi ở
Long An - HCM
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.
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,271
Điểm
360
Nơi ở
Sài Gòn
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.
/-*+//-*+//-*+/
 

echo07

Nguyệt Hà
Tham gia ngày
24 Tháng tám 2007
Bài viết
265
Được thích
193
Điểm
695
Nơi ở
Đối diện Gpe
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.
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,271
Điểm
360
Nơi ở
Sài Gòn
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
 

echo07

Nguyệt Hà
Tham gia ngày
24 Tháng tám 2007
Bài viết
265
Được thích
193
Điểm
695
Nơi ở
Đối diện Gpe
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.
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,271
Điểm
360
Nơi ở
Sài Gò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.
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

echo07

Nguyệt Hà
Tham gia ngày
24 Tháng tám 2007
Bài viết
265
Được thích
193
Điểm
695
Nơi ở
Đối diện Gpe
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.
 
Top Bottom