Excel 的 NETWORKDAYS 函数与 Jet ADO 的等效性

Excel 的 NETWORKDAYS 函数与 Jet ADO 的等效性

通过 ADO 连接到 Jet 数据库时,有没有办法复制 Excel 的 NETWORKDAYS?

答案1

首先假设我们知道开始和结束都是工作日,那么我认为这是可行的:

([DateEnd]-([DateStart]+(Weekday([DateEnd])-Weekday([DateStart]))))/7*5+(Weekday([DateEnd])-Weekday([DateStart]))+1
  • 计算出日期和时间之间的周数,乘以 5。
  • 添加星期几的差异
  • 添加一个以包含开始和结束

如果你不知道这两个都是工作日,那么你需要更正一下。我认为这是正确的:

([DateEnd]-([DateStart]+(Weekday([DateEnd])-Weekday([DateStart]))))/7*5+(Weekday([DateEnd])-Weekday([DateStart]))+1+IIf(Weekday([DateEnd])=7,-1,0)+IIf(Weekday([DateStart])=1,-1,0)

我用 Excel 测试了一下,似乎给出了正确的答案

答案2

还有此功能。从算法上讲,它与@JDunkerley 的算法几乎相同 - 只是更冗长。可能更容易在不同的环境中实现。

相关内容