用于检查是否在工作时间工作的公式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于检查是否在工作时间工作的公式相关的知识,希望对你有一定的参考价值。
我试图找出是否有人在“非工作时间”工作。
- 如果周一到周五,不是在上午8点到晚上9点之间,那么答案就是“是”
- 如果是星期六,而不是在上午8点到下午5点之间,答案是“是”
- 如果是星期天,而不是在上午9点到下午5点之间,答案是“是”。
否则答案是“否”。
共有4列:1。人名(A)2。日期(B)3。时间(C)4。非工作时间(D)
我已经复制了下面的公式,这个公式在星期一到星期五正常工作,但我正在努力与周末的第二部分。
=IF(OR(WEEKDAY(B2)=1,WEEKDAY(B2)=7),"Yes",IF(AND(C2>=8/24,C2<21/24),"No","Yes"))
如果有人可以建议如何改变公式,以便在周六和周日使用“非工作时间”?
这将不胜感激。
答案
=IF(WEEKDAY(B2)=7,IF(OR(C2<TIMEVALUE("8:00"),C2>TIMEVALUE("17:00"))=TRUE,"Yes","No"),IF(WEEKDAY(B2)=1,IF(OR(C2<TIMEVALUE("9:00"),C2>TIMEVALUE("17:00"))=TRUE,"Yes","No"),IF(WEEKDAY(B2)<>1,IF(OR(C2<TIMEVALUE("8:00"),C2>TIMEVALUE("21:00"))=TRUE,"Yes","No"),"No")))
您将不得不使用嵌套的ifs。希望以上公式能起作用。
另一答案
由于您的WEEKDAY(B2)
将从1(星期日)到7(星期六),您可以使用CHOOSE
为您的“工作时间”期间选择开始/结束时间:
开始:=Choose(Weekday(B2),9,8,8,8,8,8,8)
结束:=Choose(Weekday(B2),17,21,21,21,21,21,17)
所以,如果HOUR(C2)
是>=
开始,HOUR(C2)
是<
结束然后你是“工作时间”(“否”),否则你是“超时”(“是”)
=IF(AND(HOUR(C2)>=CHOOSE(WEEKDAY(B2),9,8,8,8,8,8,8), HOUR(C2)<CHOOSE(WEEKDAY(B2),17,21,21,21,21,21,17)),"No","Yes")
当然,我建议用一对CHOOSE
s替换VLOOKUP
s,并在其中列出工作日和开始/结束时间小时的隐藏工作表。 (如果老板决定改变小时数,那么更容易更新!)
以上是关于用于检查是否在工作时间工作的公式的主要内容,如果未能解决你的问题,请参考以下文章