excel如何计算扣掉休息日后生产周期

来源:百度知道 编辑:UC知道 时间:2024/05/10 08:25:29
例如从2009/8/2开始生产,须要20天时间,如没有扣掉休息日是2009/8/22,但扣掉休息日后这个公式要怎么写,谢谢!

我做PMC这么久,一直都是捧着日历,用手工去一个一个点数的。。。现在你提出问题了,我思考了一下,发现可以用自定义函数解得。

Public Function fx(x, y)
For i = 1 To 370
If WorksheetFunction.NetworkDays(x, x + i) = y Then
If WorksheetFunction.Weekday(Format(x + i, "yyyy-m-d"), 2) = 6 Then fx = Format(x + i - 1, "yyyy-m-d")
If WorksheetFunction.Weekday(Format(x + i, "yyyy-m-d"), 2) = 7 Then fx = Format(x + i - 2, "yyyy-m-d")
If WorksheetFunction.Weekday(Format(x + i, "yyyy-m-d"), 2) < 6 Then fx = Format(x + i, "yyyy-m-d")
End If
Next i
End Function

返回EXCEL中后,可以这样=fx(date(2009,8,2),20) 可求得是2009-8-28的,我测试过几次,发觉函数计算是对的。至于i定义到150,是想着,生产周期不可能很长的,总不能长至期间夹着150天的休息日吧。。。

我能想到的方法就是这样,不知道其它人怎么解,期待高手给出更简单的方法。 另外,我是在2007中做的,不知道2003行不行,如果不行,估计还要加载宏才行,主要是那个networksday函数在2003中不能直接使用,要加载宏-分析工具才行