Tính số tuần trong tháng theo 01 điều kiện sẵn (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

huangocthanhtam

Thành viên chính thức
Tham gia
10/6/13
Bài viết
98
Được thích
3
Chào mọi người mình có một câu hỏi mong mọi người giúp đỡ,
Mình muốn tìm một cách nào đó để xác định tuần trong tháng theo 1 logic như sau, Từ ngày đầu của tháng cho tới chủ nhật là W1 và cứ như vậy từ thứ 2 đến CN kế tiếp là W2, Cụ thể như tháng 06: Từ 01 - 05 là W1, Từ 06 - 12 là W2,
Mình đã làm sẵn hàm date để chạy theo tháng ra đúng số ngày rồi, giờ thiếu bước này, Mọi ng xem hình và hỗ trợ giúp nhé,

Untitled.jpg
 

File đính kèm

file của b đây nhé, chưa tìm đc cách hay hơn
 

File đính kèm

Lần chỉnh sửa cuối:
Một công thức khác tại C3
Mã:
="w"&sumproduct((weekday(a$5:a5)=2)*1)+1
 
Không chuẩn lắm ạ vì khi thay đổi tháng, cthuc này k còn đúng với tháng kế tiếp TEST.jpg
 
bạn xem lại xem :D từ lúc lấy chồng chưa ai gọi mình bằng anh cả :))
cảm ơn bạn Nam nữ tính //////////////////
Nhưng mà khi thay đổi tháng thì hàm này sẽ sai bạn ơi, nên cách giải quyết này ko dc, bạn thư đổi số tháng thành 5 đi, mình làm sẵn để nó chạy theo ngày trong tháng mà @$@!^%@$@!^%
 
cảm ơn bạn Nam nữ tính //////////////////
Nhưng mà khi thay đổi tháng thì hàm này sẽ sai bạn ơi, nên cách giải quyết này ko dc, bạn thư đổi số tháng thành 5 đi, mình làm sẵn để nó chạy theo ngày trong tháng mà @$@!^%@$@!^%

mình phải test mới gửi lại cho bạn chứ, bạn có xoá số 1 ở ô D4 đi không? b dùng công thức của anh khuongvietphong hay mà đúng nữa.
 
Chào mọi người mình có một câu hỏi mong mọi người giúp đỡ,
Mình muốn tìm một cách nào đó để xác định tuần trong tháng theo 1 logic như sau, Từ ngày đầu của tháng cho tới chủ nhật là W1 và cứ như vậy từ thứ 2 đến CN kế tiếp là W2, Cụ thể như tháng 06: Từ 01 - 05 là W1, Từ 06 - 12 là W2,
Mình đã làm sẵn hàm date để chạy theo tháng ra đúng số ngày rồi, giờ thiếu bước này, Mọi ng xem hình và hỗ trợ giúp nhé,

Cho bạn thêm 1 cách:
Mã:
D5="W"&WEEKNUM(A5-1)-WEEKNUM($A$5-1)+1
Rồi fill xuống!!!
 
Lần chỉnh sửa cuối:
Em tìm thấy trên mạng code sau:
Function WeekOfMonth(selDate As Date)
Dim DayOfFirst As Integer​
Dim StartOfWeek2 As Integer​
Dim weekNum As Integer​

DayOfFirst = Weekday(DateSerial(Year(selDate), Month(selDate), 1), vbSunday)​
StartOfWeek2 = (7 - DayOfFirst) + 2​

Select Case selDate​
Case DateSerial(Year(selDate), Month(selDate), 1) _​
To DateSerial(Year(selDate), Month(selDate), StartOfWeek2 - 1)​
weekNum = 1​

Case DateSerial(Year(selDate), Month(selDate), StartOfWeek2) _​
To DateSerial(Year(selDate), Month(selDate), StartOfWeek2 + 6)​
weekNum = 2​

Case DateSerial(Year(selDate), Month(selDate), StartOfWeek2 + 7) _​
To DateSerial(Year(selDate), Month(selDate), StartOfWeek2 + 13)​
weekNum = 3​

Case DateSerial(Year(selDate), Month(selDate), StartOfWeek2 + 14) _​
To DateSerial(Year(selDate), Month(selDate), StartOfWeek2 + 20)​
weekNum = 4​

Case DateSerial(Year(selDate), Month(selDate), StartOfWeek2 + 21) _​
To DateSerial(Year(selDate), Month(selDate), StartOfWeek2 + 27)​
weekNum = 5​

Case DateSerial(Year(selDate), Month(selDate), StartOfWeek2 + 28) _​
To DateSerial(Year(selDate), Month(selDate) + 1, 1)​
weekNum = 6​
End Select​

WeekOfMonth = weekNum​
End Function

Khi áp dụng với tháng 7/2016 chẳng hạn:
Tuần 1: có 2 ngày
Tuần 2: từ chủ nhật 03/07 đến thứ bảy 09/07/2016
...
hiểu tuần của tháng như thế nào cho đúng ah!>?
 
Gửi Bạn công thức này nha, bảo đảm chính xác khi thay đổi tháng và năm:
=IF(WEEKNUM(date(B$1,B$2,B3),2)=WEEKNUM(date(B$1,B$2,B$3),2),WEEKNUM(date(B$1,B$2,B3),2)-WEEKNUM(date(B$1,B$2,B$3),2)+1,WEEKNUM(date(B$1,B$2,B3),2)-WEEKNUM(date(B$1,B$2,B$3),2)+1)

Xem tại đây
 
Hoặc là công thức sau:
=WEEKNUM(A1,1)-WEEKNUM(DATE(YEAR(A1),MONTH(A1),1))+1
 
Cảm ơn các Anh/Chị GPE, Cthuc của 1 số Anh/Chị đều đúng tuy nhiên có 1 số TH đặc biệt lại không đúng, Trong 4 cthuc đúng thì Cty của anh Le Duy Thuong là chuẩn và nhanh nhất --=0--=0--=0--=0
 
Web KT

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

Back
Top Bottom