最近总是需要考虑工作日期限问题,希望通过电子表格函数自动计算解决这一问题,网上搜到的大多是不考虑调休日问题的,看来想不努力就得到是越来越不易了。
这里需要自己从日历中作两项准备工作:一是把所有的法定假日找出来并自行录入表格中,二是把所有调休的工作日找出来并录入表格中,以备函数计算时使用。
我这里使用的是NETWORKDAYS.INTL()函数与COUNTIFS()函数。总的想法就是使用NETWORKDAYS.INTL()函数计算出来两个日期之间的工作日(这里多去掉了调休的日子),再使用COUNTIFS()函数把调休的日子加回来。
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])参数介绍:
start_date是计算的起始日期,
end_date是计算的结束日期,
[weekend]是每周休息日是哪天,具体参数图上有对就关系,
[holidays]是法定节假日,可以包含周休息日,也可以不包含。
COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2],…)参数介绍:
criteria_range1是第一个条件区域,
criteria1是第一个区域统计的条件,条件的形式为数字、表达式、单元格引用或文本,它定义了要计数的单元格范围。
下面是计算工作日的函数组合:
NETWORKDAYS.INTL(C2,D2,1,$A$2:$A$19)+COUNTIFS($B$2:$B$8,">="&C2,$B$2:$B$8,"<="&D2)
下面就是Excel的截图,E2单元格为计算工作日的位置:
工作日计算