Công thức lấy ngày bắt đầu và ngày kết thúc của 1 tuần (1 người xem)

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

EXCEL2020

Thành viên mới
Tham gia
28/3/13
Bài viết
41
Được thích
14
Chào các bạn,

Tôi có file đính kèm, nhờ các bạn chỉ giúp công thức để lấy ra ngày bắt đầu và kết thúc của 1 tuần bất kì nha. Cám ơn.
 

File đính kèm

Nếu bạn đã dùng cột phụ số tuần rồi thì chỉ cần VLOOKUP là được.
Ngày đầu tuần (dò tuyệt đối):
Mã:
=VLOOKUP(F10,$A$2:$B$366,2,0)
Ngày cuối tuần (dò tương đối):
Mã:
=VLOOKUP(F10,$A$2:$B$366,2)
 
Nếu bạn đã dùng cột phụ số tuần rồi thì chỉ cần VLOOKUP là được.
Ngày đầu tuần (dò tuyệt đối):
Mã:
=VLOOKUP(F10,$A$2:$B$366,2,0)
Ngày cuối tuần (dò tương đối):
Mã:
=VLOOKUP(F10,$A$2:$B$366,2)

Mình làm được rồi. Cám ơn bạn nhiều.

Nếu trường hơp không có cột phụ thì làm sao bạn chỉ giúp luôn cho mình mở mang kiến thức tí nha.Thanks
 
Mình làm được rồi. Cám ơn bạn nhiều.

Nếu trường hơp không có cột phụ thì làm sao bạn chỉ giúp luôn cho mình mở mang kiến thức tí nha.Thanks

Không có cột phụ thì ít nhất cũng phải có chỉ số NĂM (Year) mới biết đang tính toán ở năm nào
Giả sử chỉ số năm được gõ tại cell D1. Vậy ta có công thức sau:
- Ngày bắt đâu:
Mã:
=MAX(DATE($D$1,1,1)+(F1-1)*7-WEEKDAY(DATE($D$1,1,1)+(F1-1)*7)+1,DATE($D$1,1,1))
- Ngày kết thúc
Mã:
=F2- MOD(F2+6,7)+6
Kiểm tra lại xem thế nào nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Không có cột phụ thì ít nhất cũng phải có chỉ số NĂM (Year) mới biết đang tính toán ở năm nào
Giả sử chỉ số năm được gõ tại cell D1. Vậy ta có công thức sau:
- Ngày bắt đâu:
Mã:
=MAX(DATE($D$1,1,1)+(F1-1)*7-WEEKDAY(DATE($D$1,1,1)+(F1-1)*7)+1,DATE($D$1,1,1))
- Ngày kết thúc
Mã:
=F2- MOD(F2+6,7)+6
Kiểm tra lại xem thế nào nhé
tính tìm cách ngắn hơn đại ca NDU mà đành bó giò
nhưng cũng góp 1 giải pháp gọi là của mình
ct cho ngày bắt đầu

PHP:
=DATE($D$1,1,1)+MATCH($F$1,WEEKNUM(ROW(INDIRECT(DATE($D$1,1,1)&":"&EOMONTH(DATE($D$1,1,1),11)))),0)-1
 
tính tìm cách ngắn hơn đại ca NDU mà đành bó giò
nhưng cũng góp 1 giải pháp gọi là của mình
ct cho ngày bắt đầu

PHP:
=DATE($D$1,1,1)+MATCH($F$1,WEEKNUM(ROW(INDIRECT(DATE($D$1,1,1)&":"&EOMONTH(DATE($D$1,1,1),11)))),0)-1

Cái công thức lấy NGÀY ĐẦU ấy tôi vẫn có "cảm giác" rằng sẽ có cách gọn hơn nữa đấy (có điều là chưa nghĩ ra)
Ẹc... Ẹc...
 
Cái công thức lấy NGÀY ĐẦU ấy tôi vẫn có "cảm giác" rằng sẽ có cách gọn hơn nữa đấy (có điều là chưa nghĩ ra)
Ẹc... Ẹc...
có cách để cho ngày bắt đầu ngắn rôi ,nhưng được anh bắt đầu thì anh kết thúc lại dài ngằng ( ẹc ẹc)
ngày kết thúc:G3
PHP:
=LOOKUP(2,1/((WEEKNUM(ROW(INDIRECT(DATE($D$1,1,1)&":"&EOMONTH(DATE($D$1,1,1),11)))))=$F$1),ROW(INDIRECT(DATE($D$1,1,1)&":"&EOMONTH(DATE($D$1,1,1),11))))

ngày bắt đầu g2
PHP:
=MAX(G3-6,DATE($D$1,1,1))
 
Cái công thức lấy NGÀY ĐẦU ấy tôi vẫn có "cảm giác" rằng sẽ có cách gọn hơn nữa đấy (có điều là chưa nghĩ ra)
Ẹc... Ẹc...
Có lẽ ngắn hơn là công thức này, chỉ là chế biến lại công thức của thầy thôi
Mã:
=MAX(DATE($D$1,1,1)-WEEKDAY(DATE($D$1,1,1))+($F$1-1)*7+[B][COLOR=#ff0000]1[/COLOR][/B],DATE($D$1,1,1))
như thế này thì quy định chủ nhật là ngày đầu tiên (theo yêu cầu đầu bài) nếu thay đổi thì thay đổi phần số bôi đỏ
 
Theo anh ndu96081631 thì tính ngày đầu tiên là ngày chủ nhật rụ anh ak, phải =MAX(DATE($D$1,1,1)+1+(F1-1)*7-WEEKDAY(DATE($D$1,1,1)+(F1-1)*7)+1,DATE($D$1,1,1)) thì mới cho kết quả là ngày thứ 2 đầu tuần.
 

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

Back
Top Bottom