看板 Office 關於我們 聯絡資訊
感謝板友卓越的思維提出了簡明的解答 我發現自己在2008年曾寫過一相關的公式 ┌─────────────────────────────────────┐ │ 文章代碼(AID): #17jWHoY0 (Office) [ptt.cc] [算表] EXCEL:扣除"週日與假日" │ │ 文章網址: http://www.ptt.cc/bbs/Office/M.1203111026.A.880.html │ └─────────────────────────────────────┘ 內容早忘了,復習了一下, 功能如標題是扣除週日以及假日, 就其中週日的部分,是使用 (WEEKDAY(區間)<>1) 因此可以隨意調整休息日,例如 (ISERROR(FIND(WEEKDAY(區間),"1"))) 是週日 (ISERROR(FIND(WEEKDAY(區間),"14"))) 是三日 因此結論是該功能為可扣除任意組合的休息日,與假日 而上述功能已在2010版有加入,說明檔貼上供參 http://office.microsoft.com/zh-tw/excel-help/HA010354380.aspx WORKDAY.INTL 函數 會使用自訂 weekend 參數傳回指定工作天數之前或之後日期的序列值。Weekend 參數指 出哪天和多少天是工作天。指定為假日的週末日和任何日子都不視為週末。 語法 WORKDAY.INTL(start_date, days, [weekend], [holidays]) WORKDAY.INTL 函數語法具有下列引數: Start_date 必要。這是取為整數的開始日期。 Days 必要。這是 start_date 之前或之後的工作天數。正值表示未來日期;負值表示 過去日期;零表示 start_date。Day-offset 會取為整數。 Weekend 選用。指出一週中屬於週末而不視為工作天的日子。Weekend 是指定週末發生 時的週末數字或字串。 Weekend 編號值 週末日 1 或省略 星期六、星期日 2 星期日、星期一 3 星期一、星期二 4 星期二、星期三 5 星期三、星期四 6 星期四、星期五 7 星期五、星期六 11 僅星期日 12 僅星期一 13 僅星期二 14 僅星期三 15 僅星期四 16 僅星期五 17 僅星期六 Weekend 字串值長度為七個字元,且字串中每個字元會代表一週內的一天,從星期一開始 。1 代表非工作日,而 0 代表工作日。字串中僅允許字元 1 和 0。1111111 是無效字元 。 例如,0000011 會產生包含星期六和星期日的週末。 Holidays 選用。這是要從工作日行事曆排除的一組選擇性的一個或多個日期。 Holidays 應為包含日期的儲存格範圍,或是代表這些日期之序列值的陣列常數。 Holidays 中的日期或序列值順序可以任意排列。 註解 如果 start_date 在目前日期準值的範圍之外,WORKDAY.INTL 會傳回 #NUM! 錯誤值。 如果 holidays 中任何日期在目前日期準值的範圍之外,WORKDAY.INTL 會傳回 #NUM! 錯 誤值。 如果 start_date 加上 day-offset 的結果不是有效日期,WORKDAY.INTL 會傳回 #NUM! 錯誤值。 如果 weekend 字串是無效長度或包含無效字元,WORKDAY.INTL 會傳回 #VALUE! 錯誤值 。 範例 公式 描述 =WORKDAY.INTL(DATE(2006,1,1),0) 會傳回對應於 2006 年 1 月 1 日的序列值。 =WORKDAY.INTL(DATE(2006,1,1),10) 會傳回對應於 2006 年 1 月 13 日的序列值。 =WORKDAY.INTL(DATE(2006,1,1),10,7) 會傳回對應於 2006 年 1 月 15 日的序列值。 =WORKDAY.INTL(DATE(2006,1,1),-10) 會傳回對應於 2005 年 12 月 19 日的序列值。 =WORKDAY.INTL(DATE(2006,1,1),20,1,{"2006/1/2","2006/1/16"}) 會傳回對應於 2006 年 1 月 31 日的序列值。 =WORKDAY.INTL(DATE(2006,1,1),20,"0000011",{"2006/1/2","2006/1/16"}) 會傳回對應於 2006 年 1 月 31 日的序列值。 秘訣 在 Excel 桌上型應用程式中,若要將傳回的數字設定為日期格式,請選取該數 字,然後在 [常用] 索引標籤上的 [數值] 群組中按一下對話方塊啟動器 。在 [數值] 索引標籤上的 [類別] 清單中按一下 [日期],然後按一下 [類型] 清單中您所要的日期 格式。在 Excel Web App 中,若要用日期格式檢視結果,請選取儲存格,然後在 [常用 ] 索引標籤的 [數值] 群組中,按一下 [數值格式] 旁的箭號,再按一下 [簡短日期] 或 [詳細日期]。 ※ 引述《Bolty ( )》之銘言: : A B C : 1 開始日 工作天 完成日 (完成日若出現純數字,請將儲存格格式設為日期) : 2 2011/11/1 15 =A2+B2+INT((B2-8+WEEKDAY(A2))/6)+1 : 希望可以幫你度過難關,有問題再提出來吧。 : ※ 引述《sk8erboi0403 ( 踟躕)》之銘言: : : 軟體:excel : : 版本:2000 (真的無法完成2007亦可) : : 各位大大好: : : 小弟人在國外 需要一個排交期的程式 : : 不知有沒有大大可以解答 : : 假設2011/11/1是開始日 假設工作需要15個工作天 會跨過兩個周日 : : 有沒有能夠扣掉周日 在另一格計算出完成日期的函數或計算方式? : : 補充說明一下 小弟在越南工作 越南的假日只有周日一天 : : 所以像是這個例題的話 解答應該是 11/1 +15天=11/16 : : 又要在加上跨過的兩個周日 11/16+ 2天=11/18 : : 小弟雖然人在國外 但倘若大大幫忙 我會請國內的朋友重重酬謝 : : (如果沒有這個公式 我很有可能打包回家 感謝大大的協助 再次感謝!!) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.161.2 ※ 編輯: JieJuen 來自: 59.115.161.2 (11/21 23:21)