WEEKDAY等日期函数相信大家对excel中的日期计算有一个大致的理解。!
?制定工作计划是我们平时在工作中经常遇到的工作种类。
需要重点强调的是,计划时间要排除周末,只考虑周一到周五这样的正常工作日。
其中黄色部分为手工输入的数据,蓝色部分如果要手动填写就太麻烦了,希望有公式能够自动完成。
如果不考虑排除周末这个因素的话,还是很容易的,甚至连函数都不需要,只要简单的加减法就能搞定,“完成日期”列使用公式:=C2+B2-1就可以得到结果。
“开始日期”列使用公式:=D2+1就能得到下一个阶段的起始日期。
关于这两个公式,没有什么好解释的,在Excel中日期本质上就是数字,这个在之前的教程《在excel里,80%的职场人录入的日期都是错的!》中很详细的介绍过。
现在面临的问题是如果不考虑周六和周日,该用什么样的公式呢?
如果你不知道WORKDAY这个函数的话,此问题就会非常麻烦,而用WORKDAY函数后,问题很容易就可以解决。先来看一下公式是怎样的吧。
“完成日期”列使用公式:=WORKDAY(C2,B2-1)
“开始日期”列使用公式:=WORKDAY(D2,1)
从结果来看,是符合要求的,看来WORKDAY函数还真挺好用。
那么这个函数到底是什么意思呢,下面就结合这个例子来详细介绍一下。
WORKDAY函数的功能是根据开始日期和指定的间隔天数,得到一个日期。(注意:间隔天数是不包含周末和指定节假日的。)
间隔天数为正数时得到的是指定日期之后的一个日期,间隔天数为负数时得到的是指定日期之前的一个日期。
函数格式为=WORKDAY(开始日期,间隔天数,特殊节假日列表)。如果只需排除周末的日期,则可以省略第三参数。
注意这里所说的周末只包含周六和周日。
在本例中,计算完成日期的公式=WORKDAY(C2,B2-1),省略了第三参数,同时第二参数用B2-1也就是该阶段所需天数减1作为间隔天数,就能得到对应的完成日期。
如果在这个期间有特殊日期不需要计算在内,例如10月22日公司安排活动,需要排除的话,公式可以改为=WORKDAY(C2,B2-1,"10-22")。
如果要排除的日期有多个,可以将日期写在空白的单元格区域,第三参数使用该单元格区域即可。
看到这里,有朋友估计会想,如果只有周日需要排除的话怎么处理?
对于这个问题,excel中有个加强版的函数WORKDAY.INTL可以胜任。
与WORKDAY函数不同之处在于,WORKDAY.INTL函数多了一个周末选项的参数。函数格式为=WORKDAY.INTL(开始日期,间隔天数,周末选项,特殊节假日列表),其中第三参数可以指定星期几为周末,共有14个选项,在输入函数参数的时候会有提示:
从提示可以看出,如果仅排除周日的话,第三参数选11就可以,因此可以对公式做出如下修改。
“完成日期”列的公式改为:=WORKDAY.INTL(C2,B2-1,11)
“开始日期”列的公式改为:=WORKDAY.INTL(D2,1,11)
如果有特殊日期需要排除的话,第四参数可以使用对应的日期或者单元格区域,这一点与WORKDAY函数完全一样。
今天分享的这两个函数不算很常用的函数,但是万一遇上这类问题,还是很方便的,如果怕忘记的话,可以收藏今天的教程以备不时之需。