检查是否在非工作时间工作的公式
Formula to check if working out of hours
我想知道是否有人在 'out of hours' 期间没有工作。
- 如果星期一到星期五,而不是上午 8 点到晚上 9 点之间,那么答案将是 "Yes"
如果是星期六,不是上午 8 点到下午 5 点之间,答案
将是 "Yes"
如果是星期天,而不是上午 9 点到下午 5 点之间,答案
将是 "Yes".
否则答案将是"No"。
有 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"))
如果有人可以建议如何更改公式以在周六和周日使用 'out of hours'?
不胜感激。
=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
到 select Start/End 时间为您的 "In-Hours"期:
开始:=Choose(Weekday(B2),9,8,8,8,8,8,8)
结束:=Choose(Weekday(B2),17,21,21,21,21,21,17)
所以,如果HOUR(C2)
是>=
开始,而HOUR(C2)
是<
结束那么你就是"In-Hours"("No"),否则你就是"Out of Hours"("Yes")
=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")
当然,我会建议用一对VLOOKUP
替换CHOOSE
,并隐藏一个sheet,其中您列出工作日和 Start/End-of-Hours 小时。 (如果 老板 决定更改营业时间,更新起来会容易得多!)
我想知道是否有人在 'out of hours' 期间没有工作。
- 如果星期一到星期五,而不是上午 8 点到晚上 9 点之间,那么答案将是 "Yes"
如果是星期六,不是上午 8 点到下午 5 点之间,答案 将是 "Yes"
如果是星期天,而不是上午 9 点到下午 5 点之间,答案 将是 "Yes".
否则答案将是"No"。
有 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"))
如果有人可以建议如何更改公式以在周六和周日使用 'out of hours'?
不胜感激。
=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
到 select Start/End 时间为您的 "In-Hours"期:
开始:=Choose(Weekday(B2),9,8,8,8,8,8,8)
结束:=Choose(Weekday(B2),17,21,21,21,21,21,17)
所以,如果HOUR(C2)
是>=
开始,而HOUR(C2)
是<
结束那么你就是"In-Hours"("No"),否则你就是"Out of Hours"("Yes")
=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")
当然,我会建议用一对VLOOKUP
替换CHOOSE
,并隐藏一个sheet,其中您列出工作日和 Start/End-of-Hours 小时。 (如果 老板 决定更改营业时间,更新起来会容易得多!)