標題:
[發問]
完工日期計算
[打印本頁]
作者:
ikosnahc
時間:
2011-4-21 17:41
標題:
完工日期計算
各位大大,又想問一個關於日期計算的問題‥
我有一個完工的日子,(例:2011年10月1日),有一個生產天數(如45日),當中要扣減星期六日及假期,請問要怎才可做到? 我知道networkdays 有大約功能但它是計算一星期工作6天的‥而且跟我想要的好像逆向了..??
作者:
handmuch
時間:
2011-4-21 18:51
不是很懂你的意思, 用用看workday
作者:
Hsieh
時間:
2011-4-21 22:05
回復
1#
ikosnahc
不知道你是不是要算完工日期的前45工作天的日期,如果這樣用樓上的建議即可
在此說明一下,NETWORKDAYS或WORKDAY函數都會將星期六、日排除,也就是周休二日
作者:
ikosnahc
時間:
2011-4-27 12:14
我是要算完工日期的前45天的日期‥但用workday的話是算周休二日,我只想一星期休息一天 ...
作者:
Hsieh
時間:
2011-4-27 20:05
本帖最後由 Hsieh 於 2011-4-27 20:09 編輯
回復
4#
ikosnahc
這問題如果是2010版就可輕易解決
不過你是2002版本沒有WORKDAY.INTL函數
寫個自定義函數來解決[attach]5886[/attach]
Function MyWorkday(star_day, days, weekend, Optional holiday As Range)
'參數說明
'star_day=開始日期
'days工作天數
'weekend',,周末有幾天如周休一日就用1,周休二日就用2
'holiday假日(儲存格範圍)
Application.Volatile
Set d = CreateObject("Scripting.Dictionary")
If Not IsEmpty(holiday) Then
For Each a In holiday
d(a.Value) = d.Count
Next
End If
p = Sgn(days)
Do Until s = days
MyWorkday = star_day + i
If Weekday(MyWorkday, 2) <= 7 - weekend Then
n = d.exists(MyWorkday)
If d.exists(MyWorkday) = False Then s = s + 1 * p
End If
i = i + 1 * p
Loop
End Function
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)