计算Excel 2016中的工作时间的公式

时间:2017-08-09 09:15:29

标签: excel excel-formula

我正在努力解决有人在工作的时间问题。所以,如果它是工作日而且不是在上午8点到下午6点之间,那么答案就是“是”,如果是周六或周日,那么答案就是“是”。

有3列: 1.日期(A) 2.时间(B) 3.非工作时间(C)

我已经在下面的公式中复制了所有行的“否”,但对于那些在工作时间以外工作的人来说,有些行应该是“是”。

= IF(AND(WEEKDAY(A1)→1,WEEKDAY(A2)< 7), “否”,IF(AND(B2> = 8/24,B2< 18/24), “否”, “是”))

如果有人可以告诉我哪里出错了,我真的很感激。

由于

1 个答案:

答案 0 :(得分:0)

你的公式在第一个参数上遇到一个TRUE子句,这使得它不进入第二个参数:

=IF(Arugment1,TRUE["No"],FALSE[Argument2,TRUE["No"],FALSE["Yes"]])

=IF(AND(WEEKDAY(A1)>1,WEEKDAY(A2)<7),  'If weekday is between 1 & 7
"No",                                  'Then return "No", as long as it is a weekday it will always return no without going any further!
IF(AND(B2>=8/24,B2<18/24),
    "No",
    "Yes"))

您需要撤销初步检查:

=IF(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),"Yes",IF(AND(B2>=8/24,B2<18/24),"No","Yes"))

现在只检查第二个if语句是否为工作日,然后检查小时数。我会使用TIMEVALUE()函数作为第二个if,但取决于你的值是如何格式化的。