带有日期的单元格是我们日常使用EXCEL的时候经常见到的,有的时候我们需要求出两个日期之间间隔的天数,可以直接用结束日期减去开始日期即可,这是个非常简单的减法公式。




两个日期计算天数 Java 两个日期计算天数excel_日期计算


不过这个单纯的减法公式会默认去掉开始的第一天,不太符合我们日常的日期计算方法,所以我们一般在做这种日期减法公式的时候后面都加个1。


两个日期计算天数 Java 两个日期计算天数excel_中两个数做减法_02


这个公式虽然比较简单,但如果稍加变换下,要你求出两个日期间工作日的天数又该如何?

可能天数比较近,比如只有十几天,还可以手动计算下,但是如果两个日期之间间隔有上白天,那就不是一般的人力所能为之了,这里我们需要用到EXCEL当中的NETWORKDAYS函数。

NETWORKDAYS函数可以返回参数开始日期和结束日期之间完整的工作日(不包括周末和专门指定的假期)数值。

语法结构为:NETWORKDAYS(start_date,end_date,holidays)

它有三个参数

Start_date代表开始日期

End_date代表终止日;

Holidays是表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。

函数写起来也非常简单,第一参数是开始日期,第二参数是结束日期,第三参数我们这里可以暂时忽略不写。

最终公式写作:=NETWORKDAYS(B1,B2)


两个日期计算天数 Java 两个日期计算天数excel_日期计算_03


对照着系统的日历查看下,两个日期之间的间隔正好是五个工作日。


两个日期计算天数 Java 两个日期计算天数excel_中两个数做减法_04


这是一般的计算情况,如果我们碰到两个日期中间有节假日,节假日当然也不是工作日,这时候我们就需要用到NETWORKDAYS这个函数的第三参数了。

比如说我们选取2019-9-30到2019-10-8这段日期,中间是有连续七天的节假日,我们这里需要先在EXCEL内做个日历表,将节假日写上去,然后将国庆节这几天的单元格区域当做第三参数写进NETWORKDAYS函数里面去,最后就可以得出正确的两个工作日了。


两个日期计算天数 Java 两个日期计算天数excel_中两个数做减法_05


这个函数用起来还是比较简单的,平时注意活学活用即可,有什么疑问的也欢迎大家在评论区一起讨论。