Ken的日期和时间存储在单元格C3中。他需要一个公式来确定此日期和时间是否在正常工作时间(星期一至星期五,上午8点至下午5点)内。肯可以轻松地检查时间,但无法找到一种方法检查工作时间。

您可以想出许多公式来解决这种情况。任何公式的关键组成部分都是您确定日期是否在星期一至星期五的范围内(肯说他知道该怎么做),并确定时间是否在上午8点至下午5点之间。一旦确定了这两个事实,就可以使用AND函数确定总体的“真”或“假”条件。

例如,您可以使用以下公式确定日期是否在星期一至星期五的范围内:

=WEEKDAY(C3, 2) < 6

这将返回True或False,并且可以正常工作,因为WEEKDAY函数的第二个参数设置为2时,表明WEEKDAY返回的值是1到7,其中1 = Monday,7 = Sunday。因此,WEEKDAY将在星期一至星期五的范围内返回1、2、3、4或5。

对于公式的时间部分,可以按以下方式使用HOUR函数:

=HOUR(C3) >= 8

根据小时是否大于或等于8:00,这将返回True或False。您可以类似地测试小时是否在下午5:00之前,方法是:

=HOUR(C3) <= 17

找出了这三个测试,您可以使用AND函数将它们全部组合:

=AND(WEEKDAY(C3, 2) < 6, HOUR(C3) >= 8, HOUR(C3) <= 17)

由于HOUR函数返回整数值(0到23),因此您可以通过以下方式进一步缩短公式:

=AND(WEEKDAY(C3, 2) < 6, HOUR(C3) > 7, HOUR(C3) < 18)

如果满足所有三个条件,则AND函数返回True。

因此,您可以将此公式包装在IF语句中,如下所示:

=IF(AND(WEEKDAY(C3, 2) < 6, HOUR(C3) > 7, HOUR(C3) < 18), "Working", "Non-Working")

除非您想开始考虑假期,或者您的工作周与星期一至星期五有所不同,否则这非常有用。在这种情况下,您只需要修改公式的第一部分;使用WEEKDAY函数的部分。我的建议是改为依赖NETWORKDAYS或NETWORKDAYS.INTL函数。与其在这里描述如何使用这些功能,不如参考标题为“`link:/ excelribbon-Calculating_Business_Days [Calculating Business Days]”的_ExcelTip_。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(4270)适用于Microsoft Excel 2007、2010、2013和2016。