Nhờ a/c giúp đỡ! tính hàm ngày kết thúc khóa học ( chọn ngày học bất kì trong tuần) (1 người xem)

Liên hệ QC

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

kisutarai893

Thành viên mới
Tham gia
14/7/10
Bài viết
4
Được thích
0
Dear all,
Có anh/ chị nào giúp em với, đang bị chiếu bí ạ

Bài toán:
Mục tiêu: tìm ra được ngày kết thúc khóa học
Điều kiện: có ngày bắt đầu, có số ngày học
Mở rộng: tìm ra nguyên tắc chung để tìm ra ngày cụ thể?

Ngày bắt đầu: 03/03/2015
Số ngày học : 12
Ngày kết thúc : ????
- Xuất học 246 hoặc 357
- Xuất học CN T2
- Xuất học T7 CN
- Xuất học T4 & T7
….................................
nguyên tác chung tính cho xuất học bất kỳ tùy chọn
Ví dụ: kết quả xuất học 246 ngày kết thúc cho ra là: 30/3/2015 ạ

PS:
Em có lang thang lên mạng thì chỉ phát triển đc đến suất học 246 & 357 là chính xác, còn các ngày khác trong tuần thì vẫn chưa hoàn chỉnh ạ. Nhờ các anh/ chị xem qua và phát triển giúp em với :( ( attached File)
 

File đính kèm

2-4-6

Mã:
=LOOKUP(SMALL(IF(ISEVEN(WEEKDAY(E22+ROW($A$1:$A$60)-1)),ROW($A$1:$A$60),""),I22+J22),IF(ISEVEN(WEEKDAY(E22+ROW($A$1:$A$60)-1)),ROW($A$1:$A$60),""),E22+ROW($A$1:$A$60)-1)

3-5-7

Mã:
=LOOKUP(SMALL(IF(ISEVEN(WEEKDAY(E23+ROW($A$1:$A$60)-1,11)),ROW($A$1:$A$60),""),I23+J23),IF(ISEVEN(WEEKDAY(E23+ROW($A$1:$A$60)-1,11)),ROW($A$1:$A$60),""),E23+ROW($A$1:$A$60)-1)


T7-CN:

Mã:
=LOOKUP(SMALL(IF(WEEKDAY(E24+ROW($A$1:$A$60)-1)=[SIZE=3][COLOR=#ff0000][B]1[/B][/COLOR][/SIZE],ROW($A$1:$A$60),IF(WEEKDAY(E24+ROW($A$1:$A$60)-1)=[B][COLOR=#ff0000][SIZE=3]7[/SIZE][/COLOR][/B],ROW($A$1:$A$60),"")),I24+J24),IF(WEEKDAY(E24+ROW($A$1:$A$60)-1)=[SIZE=3][COLOR=#ff0000][B]1[/B][/COLOR][/SIZE],ROW($A$1:$A$60),IF(WEEKDAY(E24+ROW($A$1:$A$60)-1)=[SIZE=3][COLOR=#ff0000][B]7[/B][/COLOR][/SIZE],ROW($A$1:$A$60),"")),E24+ROW($A$1:$A$60)-1)

Các công thức này là công thức mảng, phải kết thúc bằng Ctrl-shift-enter.

Trong đó 1 là chủ nhật, 7 là thứ 7.

Bạn thay đổi 2 số này để chọn ngày mong muốn nhé.
 

File đính kèm

Bài toán:
Mục tiêu: tìm ra được ngày kết thúc khóa học
Điều kiện: có ngày bắt đầu, có số ngày học
Mở rộng: tìm ra nguyên tắc chung để tìm ra ngày cụ thể?
Công thức tính tổng quát cho khóa 2,4,6
Mã:
=IF(E22="","",SMALL(IF((WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=2)+(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=4)+(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=6),ROW(INDIRECT(E22&":"&E22+I22*7)),""),I22+J22))
Vì ngày 2,4,6 chia hết cho 2 nên có thể rút gọn:
Mã:
=IF(E22="","",SMALL(IF(MOD(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7))),2)=0,ROW(INDIRECT(E22&":"&E22+I22*7)),""),I22+J22))
Kết thúc bằng Ctrl-shift-enter.
Các công thức còn lại tương tự.
 

File đính kèm

2-4-6

Mã:
=LOOKUP(SMALL(IF(ISEVEN(WEEKDAY(E22+ROW($A$1:$A$60)-1)),ROW($A$1:$A$60),""),I22+J22),IF(ISEVEN(WEEKDAY(E22+ROW($A$1:$A$60)-1)),ROW($A$1:$A$60),""),E22+ROW($A$1:$A$60)-1)

3-5-7

Mã:
=LOOKUP(SMALL(IF(ISEVEN(WEEKDAY(E23+ROW($A$1:$A$60)-1,11)),ROW($A$1:$A$60),""),I23+J23),IF(ISEVEN(WEEKDAY(E23+ROW($A$1:$A$60)-1,11)),ROW($A$1:$A$60),""),E23+ROW($A$1:$A$60)-1)


T7-CN:

Mã:
=LOOKUP(SMALL(IF(WEEKDAY(E24+ROW($A$1:$A$60)-1)=[SIZE=3][COLOR=#ff0000][B]1[/B][/COLOR][/SIZE],ROW($A$1:$A$60),IF(WEEKDAY(E24+ROW($A$1:$A$60)-1)=[B][COLOR=#ff0000][SIZE=3]7[/SIZE][/COLOR][/B],ROW($A$1:$A$60),"")),I24+J24),IF(WEEKDAY(E24+ROW($A$1:$A$60)-1)=[SIZE=3][COLOR=#ff0000][B]1[/B][/COLOR][/SIZE],ROW($A$1:$A$60),IF(WEEKDAY(E24+ROW($A$1:$A$60)-1)=[SIZE=3][COLOR=#ff0000][B]7[/B][/COLOR][/SIZE],ROW($A$1:$A$60),"")),E24+ROW($A$1:$A$60)-1)

Các công thức này là công thức mảng, phải kết thúc bằng Ctrl-shift-enter.

Trong đó 1 là chủ nhật, 7 là thứ 7.

Bạn thay đổi 2 số này để chọn ngày mong muốn nhé.

Hi bác :), em vô cùng cảm tạ ^!^, mày mò mãi -\\/.-\\/. hi hi
 
Công thức tính tổng quát cho khóa 2,4,6
Mã:
=IF(E22="","",SMALL(IF((WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=2)+(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=4)+(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=6),ROW(INDIRECT(E22&":"&E22+I22*7)),""),I22+J22))
Vì ngày 2,4,6 chia hết cho 2 nên có thể rút gọn:
Mã:
=IF(E22="","",SMALL(IF(MOD(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7))),2)=0,ROW(INDIRECT(E22&":"&E22+I22*7)),""),I22+J22))
Kết thúc bằng Ctrl-shift-enter.
Các công thức còn lại tương tự.
Hi bác :), em vô cùng cảm tạ ^!^, mày mò mãi -\\/.-\\/. hi hi
 
Công thức tính tổng quát cho khóa 2,4,6
Mã:
=IF(E22="","",SMALL(IF((WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=2)+(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=4)+(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7)))=6),ROW(INDIRECT(E22&":"&E22+I22*7)),""),I22+J22))
Vì ngày 2,4,6 chia hết cho 2 nên có thể rút gọn:
Mã:
=IF(E22="","",SMALL(IF(MOD(WEEKDAY(ROW(INDIRECT(E22&":"&E22+I22*7))),2)=0,ROW(INDIRECT(E22&":"&E22+I22*7)),""),I22+J22))
Kết thúc bằng Ctrl-shift-enter.
Các công thức còn lại tương tự.

Hi Anh ơi,

Anh ơi cho em hỏi thêm chút nhé :)

Bây giờ em có 1 bài toán tính ngược lại : là mình có ngày bắt đầu , ngày kết thúc , có lịch học là 2-4-6 hay 3-5-7 rồi, giờ cần biết giai đoạn đó có bao nhiu buổi thì làm sao anh nhỉ ?

Như File attached anh nhé. thank you :D
 

File đính kèm

Hi Anh ơi,
Anh ơi cho em hỏi thêm chút nhé :)
Bây giờ em có 1 bài toán tính ngược lại : là mình có ngày bắt đầu , ngày kết thúc , có lịch học là 2-4-6 hay 3-5-7 rồi, giờ cần biết giai đoạn đó có bao nhiu buổi thì làm sao anh nhỉ ?
Như File attached anh nhé. thank you :D
Công thức tính tổng quát cho khóa 2,4,6
Mã:
=SUM(IF((WEEKDAY(ROW(INDIRECT(E14&":"&F14)))=2)+(WEEKDAY(ROW(INDIRECT(E14&":"&F14)))=4)+(WEEKDAY(ROW(INDIRECT(E14&":"&F14)))=6),1,0))
Vì ngày 2,4,6 chia hết cho 2 nên có thể rút gọn:
Mã:
=SUM(IF(MOD(WEEKDAY(ROW(INDIRECT(E14&":"&F14))),2)=0,1,0))
Kết thúc bằng Ctrl-shift-enter.
Có thể dùng
SUMPRODUCT để kết thúc bằng Enter :
Mã:
=SUMPRODUCT(--(MOD(WEEKDAY(ROW(INDIRECT(E14&":"&F14))),2)=0))
 
Web KT

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

Back
Top Bottom