Excel工作日计算必备:NETWORKDAYS和WORKDAY函数详解
Excel工作日计算必备:NETWORKDAYS和WORKDAY函数详解
在Excel中进行日期运算时,除了基本的加减运算外,还有许多高级技巧可以帮助我们更高效地完成工作。本文将详细介绍如何使用NETWORKDAYS()和WORKDAY()函数进行工作日的计算,这些函数在计算员工出勤天数、交货期、付款日等场景中非常实用。
使用NETWORKDAYS()函数
NETWORKDAYS(start_date,end_date,holidays)函数是专门用于计算两个日期值之间完整的工作日数值。这个工作日数值将不包括双休日和专门指定的其他各种假期。
NETWORKDAYS()函数带有3个参数:
- start_date:开始日期
- end_date:结束日期
- holidays:作为特定假日的一个或多个日期
这些参数值既能够手工输入,也能够对单元格的值进行引用。下面以计算本年5月份共有多少个工作日为例,具体介绍NETWORKDAYS()函数的用法:
在B1中输入起始日期“2000/05/01”,在B3中输入终止日期“2000/05/31”,在E2、E3中输入法定假日“2000/05/01”和“2000/05/02”。通过公式“=NETWORKDAYS(B2,B4,E2:E3)”就可以方便地计算出5月份的工作日数了。当然,也可以直接输入公式“=NETWORKDAYS(″2000-5-1″,″2000-6-1″,{″2000-5-1″,″2000-5-2″})”来得到这个结果。
使用WORKDAY()函数
WORKDAY(start_date,days,holidays)函数是用来计算某日期(起始日期)之前或之后相隔指定工作日的某一日期的日期值。它也带有3个参数:
- start_date:开始日期
- days:start_date之前或之后不含周末及节假日的天数。days为正值将产生未来日期;为负值产生过去日期
- holidays:作为特定假日的一个或多个日期
假设在4月30日与客户签订了一份购销合同,合同规定90个工作日之后交货。那么,应该如何计算到底哪一天交货呢?
在B1中输入起始日期“2000/05/01”,在B3中输入合同规定时间“90”,在E2、E3中输入法定假日“2000/05/01”和“2000/05/02”。通过公式“=WORKDAY(B2,B4,E2:E3)”,可以清楚地计算出交货日期是“2000/09/05”。同样,也可以直接输入公式“=WORKDAY(″2000-5-1″,90,{″2000-5-1″,″2000-5-2″})”来进行计算。
加载扩展函数
已经迫不及待地打开Excel进行尝试的朋友可能要嚷了,你说的这两个函数我这儿怎么没有啊?别急,点击“工具”菜单中的“加载宏”,找到“分析工具库”,给它一个小勾,再“确定”,OK!原来,这两个函数是嵌于“分析工具库”这个加载宏中的Excel扩展函数,而Excel在默认状态下是不加载这个加载宏的。
另外一个值得注意的问题是:将表示日期的单元格的数字格式设置成“日期”型,而表示天数的单元格则千万不要设置成“日期”型,否则可能会看到“1900/02/21”或“36774”这样奇怪的结果出现。