#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)
感謝板友卓越的思維提出了簡明的解答
我發現自己在2008年曾寫過一相關的公式
┌─────────────────────────────────────┐
│ 文章代碼(AID):