有没有办法将以下Excel公式转换为Access中的查询/条件?
L2 = Date
J2 = Another Date
Z1 = Todays Date
我认为它正在计算两个日期之间的天数,但不确定如何在Access查询中执行此操作。
IF((AND((L2<1),(J2>1))),(NETWORKDAYS(J2,$Z$1)-1),0)
答案 0 :(得分:1)
正如你现在可能已经聚集一样,这个问题确实没有意义。 NETWORKDAYS
确实计算了两个日期之间的“整个工作日不包括周末和节假日中确定的任何日期”(此处J2
中的任何日期以及“今天”/ Z1
并且IF
使得该计算取决于AND
函数的结果为TRUE。如果AND
中的“日期”在1900年1月1日之前且L2
中的日期在19/1年1月1日之后,则J2
函数会生成TRUE(因为Excel 1 / 1/1900是日期1
,其中涉及日期[除非选择1904年日期制度]。
但Excel无法识别第1天之前的日期,无论是负数还是十进制数。例如,第1.5天是在19/1年1月1日中午,而在相同的格式中,第0.5天显示为0/1/1900。
所以从本质上讲,L2
不是公式中任何实际使用的日期,因此我相信为什么还没有回答你的问题。但这太长了,不适合评论,因此我的答案:“不。”!
答案 1 :(得分:0)
设置对Excel的引用。
Option Compare Database
Private Sub Command2_Click()
MsgBox GetNetWorkDays(#1/29/2017#, #2/8/2017#)
End Sub
Function GetNetWorkDays(startDate As Date, endDate As Date) As Integer
GetNetWorkDays = WorksheetFunction.NETWORKDAYS(startDate, endDate)
End Function
将按钮放在表格上,然后单击按钮!
答案 2 :(得分:0)
如果要计算天数之间的天数,可以使用下面的内置函数“ DateDiff”来解决。 Datediff(“ D” ,,) 例如Datediff(“ D”,L2,Z1)