Sắp lịch trực luân phiên

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

yealeef

Thành viên mới
Tham gia
30/1/20
Bài viết
22
Được thích
6
Các bạn cho mình hỏi, mình có danh sách 16 người trong phòng theo thứ tự, cần sắp xếp lịch trực nghe điện thoại trong tháng với tiêu chí:
- Ngày trong tuần (từ thứ 2 - thứ 6): 1 bạn/ngày
- Cuối tuần + ngày lễ: 2 bạn/ngày (ô được tô vàng)
Không biết trong excel có cách sắp xếp thế nào để tua trực cứ luân phiên theo thứ tự ban đầu, ví dụ như ngày tương ứng với ô bình thường thì 1 bạn trực, ngày ở ô tô vàng thì 2 bạn trực.
Hiện làm thủ công thì hơi chậm do cty mình có nhiều lịch trực tương tự vậy cho nhiều phòng khác nhau trong 1 tháng. Mong các bạn giúp đỡ!
Mình có đính kèm file và bảng kết quả mong muốn bên dưới ạ!
 

File đính kèm

  • Xep lich cho NV.xlsx
    10.9 KB · Đọc: 67
Các bạn cho mình hỏi, mình có danh sách 16 người trong phòng theo thứ tự, cần sắp xếp lịch trực nghe điện thoại trong tháng với tiêu chí:
- Ngày trong tuần (từ thứ 2 - thứ 6): 1 bạn/ngày
- Cuối tuần + ngày lễ: 2 bạn/ngày (ô được tô vàng)
Không biết trong excel có cách sắp xếp thế nào để tua trực cứ luân phiên theo thứ tự ban đầu, ví dụ như ngày tương ứng với ô bình thường thì 1 bạn trực, ngày ở ô tô vàng thì 2 bạn trực.
Hiện làm thủ công thì hơi chậm do cty mình có nhiều lịch trực tương tự vậy cho nhiều phòng khác nhau trong 1 tháng. Mong các bạn giúp đỡ!
Mình có đính kèm file và bảng kết quả mong muốn bên dưới ạ!
CSS:
C2 =INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-2,16)+1) & IF(WEEKDAY(B2,2)>5," + "&INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-1,16)+1),"")
Copy xuống . . .
 
CSS:
C2 =INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-2,16)+1) & IF(WEEKDAY(B2,2)>5," + "&INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-1,16)+1),"")
Copy xuống . . .

anh ơi, em xem chủ đề này của bạn yealeef , anh có thể giải thích công thức này được ko ạ?

Em cảm ơn
 
anh ơi, em xem chủ đề này của bạn yealeef , anh có thể giải thích công thức này được ko ạ?

Em cảm ơn
Xếp lịch luân phiên mỗi ngày 1 người công thức ô C2 có dạng
Mã:
=INDEX($F$2:$F$17,MOD(ROW()-2,16)+1)
Trong đó 16 là số nhân viên ghi nhận tại vùng $F$2:$F$17
ROW()
tại ô C2 trả về kết quả là 2 và ROW()-2=0, khi copy xuống C3 thì ROW()-2=1 . . .
lúc đó MOD(ROW()-2,16)+1 sẽ là thứ tự dòng cần lấy của vùng $F$2:$F$17
Yêu cầu ngày thứ bảy và chủ nhật có 2 người trực nên cần thêm 1 người và thứ tự dòng cần lấy dữ liệu phải cộng thêm số ngày "Bảy" và "CN" trước đó bằng công thức SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))
lúc đó MOD(ROW()-2,16)+1 trở thành MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-2,16)+1
INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-2,16)+1)


Nếu là ngày thứ bảy và chủ nhật thì thêm người thứ 2 kế người trước, -2 thành -1
INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-1,16)+1)
 
Xếp lịch luân phiên mỗi ngày 1 người công thức ô C2 có dạng
Mã:
=INDEX($F$2:$F$17,MOD(ROW()-2,16)+1)
Trong đó 16 là số nhân viên ghi nhận tại vùng $F$2:$F$17
ROW()
tại ô C2 trả về kết quả là 2 và ROW()-2=0, khi copy xuống C3 thì ROW()-2=1 . . .
lúc đó MOD(ROW()-2,16)+1 sẽ là thứ tự dòng cần lấy của vùng $F$2:$F$17
Yêu cầu ngày thứ bảy và chủ nhật có 2 người trực nên cần thêm 1 người và thứ tự dòng cần lấy dữ liệu phải cộng thêm số ngày "Bảy" và "CN" trước đó bằng công thức SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))
lúc đó MOD(ROW()-2,16)+1 trở thành MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-2,16)+1
INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-2,16)+1)


Nếu là ngày thứ bảy và chủ nhật thì thêm người thứ 2 kế người trước, -2 thành -1
INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-1,16)+1)

Em cảm ơn anh @HieuCD
Xếp lịch luân phiên mỗi ngày 1 người công thức ô C2 có dạng
Mã:
=INDEX($F$2:$F$17,MOD(ROW()-2,16)+1)
Trong đó 16 là số nhân viên ghi nhận tại vùng $F$2:$F$17
ROW()
tại ô C2 trả về kết quả là 2 và ROW()-2=0, khi copy xuống C3 thì ROW()-2=1 . . .
lúc đó MOD(ROW()-2,16)+1 sẽ là thứ tự dòng cần lấy của vùng $F$2:$F$17
Yêu cầu ngày thứ bảy và chủ nhật có 2 người trực nên cần thêm 1 người và thứ tự dòng cần lấy dữ liệu phải cộng thêm số ngày "Bảy" và "CN" trước đó bằng công thức SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))
lúc đó MOD(ROW()-2,16)+1 trở thành MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-2,16)+1
INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-2,16)+1)


Nếu là ngày thứ bảy và chủ nhật thì thêm người thứ 2 kế người trước, -2 thành -1
INDEX($F$2:$F$17,MOD(ROW()+SUMPRODUCT(COUNTIF($A$1:A1,{"Bảy","CN"}))-1,16)+1)


Bài này sử dụng toán nhiều. Bài này rất khó

Em đã hiểu công thức rồi anh

Em cảm ơn anh @HieuCD nhé. ❤️❤️❤️❤️❤️
 
Nhờ các bạn hỗ trợ dùm với ạ! phòng tôi có 1 nv chính và 4 nv phụ; nv chính: trực 1 ngày nghỉ 3 ngày, 4 nv phụ sẽ thay nhau trực các ngày còn lại.
NV10105091317212529
NV2020712182328
NV3030814192430
NV40410152026
NV50611162227
 
Web KT
Back
Top Bottom