返回列表 上一主題 發帖

[發問] 完工日期計算

回復 1# ikosnahc

不知道你是不是要算完工日期的前45工作天的日期,如果這樣用樓上的建議即可

在此說明一下,NETWORKDAYS或WORKDAY函數都會將星期六、日排除,也就是周休二日
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2011-4-27 20:09 編輯

回復 4# ikosnahc


   這問題如果是2010版就可輕易解決
不過你是2002版本沒有WORKDAY.INTL函數
寫個自定義函數來解決 MyWorkday.rar (10.22 KB)
  1. Function MyWorkday(star_day, days, weekend, Optional holiday As Range)
  2. '參數說明
  3. 'star_day=開始日期
  4. 'days工作天數
  5. 'weekend',,周末有幾天如周休一日就用1,周休二日就用2
  6. 'holiday假日(儲存格範圍)

  7. Application.Volatile
  8. Set d = CreateObject("Scripting.Dictionary")
  9. If Not IsEmpty(holiday) Then
  10. For Each a In holiday
  11.    d(a.Value) = d.Count
  12. Next
  13. End If
  14. p = Sgn(days)
  15. Do Until s = days
  16. MyWorkday = star_day + i
  17. If Weekday(MyWorkday, 2) <= 7 - weekend Then
  18. n = d.exists(MyWorkday)
  19.    If d.exists(MyWorkday) = False Then s = s + 1 * p
  20. End If
  21. i = i + 1 * p
  22. Loop
  23. End Function
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題