我的單位有20幾人
除星期六.星期日.國定假日不排班
其他日子都要排班
不知道能不能用excel軟體完成這工作?
2005-10-08 10:23:08 · 5 個解答 · 發問者 鴿子 2 in 電腦與網際網路 ➔ 其他:電腦
排班規則很簡單
就是27人依序從第一位開始到第27位為止
輪完一輪後 再從第1位開始 如遇到星期六.星期日.國定假日則跳開不排
2005-10-09 04:47:40 · update #1
以下公式已考慮連續三天假日的狀況最底下有範例檔可以下載!!
圖片參考:file:///C:/Documents%20and%20Settings/Administrator/Local%20Settings/Temporary%20Internet%20Files/Content.IE5/QJCVS72J/01%5B1%5D.gif
特別提醒:本解答中的公式,一定要在第五列(含)以後的列開始,才會得到正確的結果。因為公式中有參照到前五列的儲存格資料。步驟一:先輸入A2:A46 儲存格的日期資料步驟二:拷貝 A2:A46 儲存格至 B2:B46 設定其自訂格式為 aaa 步驟三:定義 F3:F30 範圍名稱為 Name 步驟四:值班的第一個人需要自行手動輸入,例如 C2 中輸入「 人名1」;在星期欄位中,如果有假日,請自行輸入「假日」二字,畢竟 Excel 看不懂台灣的國定假日。步驟五C5 公式如下,完成之後可以往下無限複製公式:=IF(B5="假日","",IF(OR(WEEKDAY(B5,1)=7,WEEKDAY(B5,1)=1),"",IF(AND(C2="",C3="",C4=""),INDEX(Name,MATCH(C1,Name,0)+1),IF(AND(C3="",C4=""),INDEX(Name,MATCH(C2,Name,0)+1),IF(C4="",INDEX(Name,MATCH(C3,Name,0)+1),IF(C4=$F$30,$F$4,INDEX(Name,MATCH(C4,Name,0)+1)))))))公式的意義:假如 B5 等於空白,計算結果就空白;假如星期欄位星期欄位為週六或週日,計算結果就空白;假如該儲存格上面三個儲存格都是空白,計算結果就找出上四列的人名並從姓名清單中找出相對應的人名傳回下一列人名;假如該儲存格上面二個儲存格都是空白,計算結果就找出上三列的人名並從姓名清單中找出相對應的人名傳回下一列人名;假如該儲存格上面一個儲存格都是空白,計算結果就找出上二列的人名並從姓名清單中找出相對應的人名傳回下一列人名;假如上一列的人名等於姓名清單中的最後一個人名就傳回姓名清單中的第一個人名(可以回到第一個人名重新輪班);否則就找出上一列的人名並從姓名清單中找出相對應的人名傳回下一列人名。後記:考慮國內實際休假狀況,除了年假之外,很少有超過連續休假三天,因此公式解答至連續三天的假期,若要解決連續休假四天,則多一個 IF 判斷式,判斷該儲存格上面四個儲存格都是空白即可辦到。 範例檔下載(下載方法,按滑鼠右鍵,另存目標)
2005-10-12 03:27:03 補充:
解答出來了~不過,步驟很多!!
2005-10-12 23:36:12 補充:
indirect 中的第二個引數是 False 時,表示第一個引數使用的是 R1C1 表示法。 r[-3]c 表示上三列;同一欄。
2005-10-13 03:49:35 補充:
花了五個小時,終於全部搞定!!~
唷!!~我的業績都沒進展~~~
沒法子,太愛 Excel 了!!
不解不快!
2005-10-13 14:35:30 補充:
關於公式中的解釋,稍微修正:一開始應該是說「假如 B5 等於假日」
2005-10-13 18:34:12 補充:
說明圖檔的網址:
http://home.pchome.com.tw/my/gtfi/1405100808537/01.gif
2007-07-30 16:26:16 補充:
dove ,
這回換我請您幫忙,當時我沒有存下這個輪值表檔案,可否寄給我呢?
感恩~
2007-07-30 17:13:08 補充:
新的圖檔位置:
http://gtfi.myweb.hinet.net/1405100808537.gif
2005-10-09 20:43:14 · answer #1 · answered by ? 7 · 0⤊ 0⤋
看不懂啦
2005-10-13 14:41:30 · answer #2 · answered by Fish♀魚 1 · 0⤊ 0⤋
我的想法是在人名前加號碼.當然不是在同一個欄位. 然後用BLANCO的WEEKDAY函數.照號碼排.
2005-10-11 11:54:55 · answer #3 · answered by Julie 7 · 0⤊ 0⤋
可以試試match+address
match前一天的人名,再去address下一個姓名,最後一個再去設到第一個。
hlookup不知道能不能替代。
現在問題是出在如何讓星期一去match星期五
2005-10-12 19:32:16 補充:
INDIRECT("r[-3]c",是什麼意思?
是用r1c1之類的表示方式所出現的嗎?
2005-10-13 13:45:35 補充:
blanco的翻譯就是神奇....
..=.="..
2005-10-10 15:03:38 · answer #4 · answered by 一個人的咖啡 4 · 0⤊ 0⤋
說明一下排班的規則吧!!
2005-10-08 19:39:05 · answer #5 · answered by 雄哥哥 6 · 0⤊ 0⤋