Xin trợ giúp cách lập lịch trực tịnh tiến dần cho 1 nhóm người. (2 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

phambahoang

Thành viên mới
Tham gia
26/12/15
Bài viết
31
Được thích
1
Mình có 1 nhóm 7 người, vừa đủ trực 1 tuần. Do muốn thay đổi theo cách tịnh tiến dần để không ai bị trùng ngày nên nhờ các bạn chỉ giúp cho cách dùng hàm để tự động tịnh tiến. Mình xin gửi ảnh minh họa như sau:
1. Bảng dữ liệu
1736905830845.png
2. Lịch trực mong muốn
1736905863280.png
Giải thích mong muốn: có 7 người, được đánh số thứ tự từ 1 đến 7
Tuần đầu tiên sẽ sắp xếp từ 1 đến 7 trực tuần tự, tuần tiếp theo người số 2 sẽ trực ngày đầu tiên của tuần và tuần tự tiếp đến người thứ 1 trực ngày cuối của tuần, tuần tiếp theo là người số 3 trực ngày đầu tiên và người số 2 trực ngày cuối cùng của tuần, cứ thế xoay hết 7 tuần, tuần thứ 8 lại quay lại như tuần 1.
Rất mong nhận được sự hỗ trợ, xin cảm ơn!
 
Mình có 1 nhóm 7 người, vừa đủ trực 1 tuần. Do muốn thay đổi theo cách tịnh tiến dần để không ai bị trùng ngày nên nhờ các bạn chỉ giúp cho cách dùng hàm để tự động tịnh tiến. Mình xin gửi ảnh minh họa như sau:
1. Bảng dữ liệu
View attachment 306769
2. Lịch trực mong muốn
View attachment 306770
Giải thích mong muốn: có 7 người, được đánh số thứ tự từ 1 đến 7
Tuần đầu tiên sẽ sắp xếp từ 1 đến 7 trực tuần tự, tuần tiếp theo người số 2 sẽ trực ngày đầu tiên của tuần và tuần tự tiếp đến người thứ 1 trực ngày cuối của tuần, tuần tiếp theo là người số 3 trực ngày đầu tiên và người số 2 trực ngày cuối cùng của tuần, cứ thế xoay hết 7 tuần, tuần thứ 8 lại quay lại như tuần 1.
Rất mong nhận được sự hỗ trợ, xin cảm ơn!
Anh sử dụng công thức này:
Mã:
=INDEX($F$3:$F$9, MOD(ROW()-ROW($B$2), 7)+1)

Vùng $F$3:$F$9: chứa danh sách tên 7 người
 
Lần chỉnh sửa cuối:
Chuẩn không cần chỉnh, cám ơn bác rất nhiều, nếu được bác có thể giải thích giúp em để hiểu rõ hơn về công thức này được không?
Xin mạn phép bác trên chỉnh sửa lại công thức cho dễ hiểu hơn:
=INDEX($F$3:$F$9, INT(MOD(ROW()-2+(ROW()-2)/7, 7))+1)
Hàm INDEX trên chọn giá trị theo thứ tự từ 1 đến 7 trong mảng $F$3:$F$9. Mà giá trị này tính bằng công thức lấy số dư của phép chia của dòng thứ [(n-1)+(n-1)/7] chia cho 7 xong cộng với 1. (Hàm MOD)
Ví dụ bạn ở dòng thứ 8 thì (7+1)/7 dư 1+1 =2 --> Chọn giá trị thứ tự số 2.
bạn ở dòng thứ 9 thì (8+8/7)/7 dư 2,14+1 =3 --> Chọn giá trị thứ tự số 3.
Ở trên hàm ROW()-2 vì có thêm dòng tiêu đề. Hàm INT để lấy giá trị số nguyên cho dễ hiểu.
 
Web KT

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

Back
Top Bottom