我正在努力解决有人在工作的时间问题。所以,如果它是工作日而且不是在上午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), “否”, “是”))
如果有人可以告诉我哪里出错了,我真的很感激。
由于
答案 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,但取决于你的值是如何格式化的。