![331a0bbc883f418961d0c43d49d3e3a0.png](https://i-blog.csdnimg.cn/blog_migrate/6e75d9c93e85ed197e2d943c1259835e.jpeg)
编按:哈喽,大家好!在上一篇文章中,我们说到了EDATE、DATEDIF、EOMONTH、WEEKDAY等日期函数,相信大家对于excel中的日期计算,已经有了一个大致的了解,今天我们继续上篇内容,为大家带来两个比较冷门,但又非常好用的日期函数,一起来看看吧!
*********
制定工作计划是我们平时工作中经常会遇到的一类事务,例如某个项目,需要分成七个阶段来完成,已知项目的开始日期和每个项目需要的时间(以天为单位),就可以做出一个项目的工作计划表:
![963703f483a1e2e9a9ff00b42594f8dd.png](https://i-blog.csdnimg.cn/blog_migrate/29f4f29415535f96fa4ddbbced94eea0.jpeg)
需要重点强调的是,计划时间要排除周末,只考虑周一到周五这样的正常工作日。
其中黄色部分为手工输入的数据,蓝色部分如果要手动填写就太麻烦了,希望有公式能够自动完成。
如果不考虑排除周末这个因素的话,还是很容易的,甚至连函数都不需要,只要简单的加减法就能搞定,“完成日期”列使用公式:=C2+B2-1就可以得到结果。
![42b53f81dc57b9d3eaadcfed2d2179c1.png](https://i-blog.csdnimg.cn/blog_migrate/a1b2e0704929efaa454047852773e4b8.jpeg)
“开始日期”列使用公式:=D2+1就能得到下一个阶段的起始日期。
![a36ca14f962768a42d85d4e9dc4b269c.png](https://i-blog.csdnimg.cn/blog_migrate/54ab58271ed7fbb4930baac8e06cba41.jpeg)
关于这两个公式,没有什么好解释的,在Excel中日期本质上就是数字,这个在之前的教程《在excel里,80%的职场人录入的日期都是错的!》中很详细的介绍过。
现在面临的问题是如果不考虑周六和周日,该用什么样的公式呢?
如果你不知道WORKDAY这个函数的话,此问题就会非常麻烦,而用WORKDAY函数后,问题很容易就可以解决。先来看一下公式是怎样的吧。
“完成日期”列使用公式:=WORKDAY(C2,B2-1)
![e0758acc2f72e6bd5f12297604d334c0.png](https://i-blog.csdnimg.cn/blog_migrate/ce35e1015c634fb39fb2378643645f24.jpeg)
“开始日期”列使用公式:=WORKDAY(D2,1)
![082c64b2b4f7c1c25856e7fef2300e13.png](https://i-blog.csdnimg.cn/blog_migrate/a57f9223e33f81ac4542afcd949b546e.jpeg)
从结果来看,是符合要求的,看来WORKDAY函数还真挺好用。
那么这个函数到底是什么意思呢,下面就结合这个例子来详细介绍一下。
WORKDAY函数的功能是根据开始日期和指定的间隔天数,得到一个日期。(注意:间隔天数是不包含周末和指定节假日的。)
间隔天数为正数时得到的是指定日期之后的一个日期,间隔天数为负数时得到的是指定日期之前的一个日期。
函数格式为=WORKDAY(开始日期,间隔天数,特殊节假日列表)。如果只需排除周末的日期,则可以省略第三参数。
注意这里所说的周末只包含周六和周日。
在本例中,计算完成日期的公式=WORKDAY(C2,B2-1),省略了第三参数,同时第二参数用B2-1也就是该阶段所需天数减1作为间隔天数,就能得到对应的完成日期。
如果在这个期间有特殊日期不需要计算在内,例如10月22日公司安排活动,需要排除的话,公式可以改为=WORKDAY(C2,B2-1,"10-22")。
![555712cd1c2eb1c013936e394f3af662.png](https://i-blog.csdnimg.cn/blog_migrate/33003c56a17c4ab63193f512dbcafa1b.jpeg)
如果要排除的日期有多个,可以将日期写在空白的单元格区域,第三参数使用该单元格区域即可。
看到这里,有朋友估计会想,如果只有周日需要排除的话怎么处理?
对于这个问题,excel中有个加强版的函数WORKDAY.INTL可以胜任。
与WORKDAY函数不同之处在于,WORKDAY.INTL函数多了一个周末选项的参数。函数格式为=WORKDAY.INTL(开始日期,间隔天数,周末选项,特殊节假日列表),其中第三参数可以指定星期几为周末,共有14个选项,在输入函数参数的时候会有提示:
![37ce24dea82aa2483702379a88aef6db.png](https://i-blog.csdnimg.cn/blog_migrate/975dd3bac54e53c75566858e4ffd0d67.jpeg)
从提示可以看出,如果仅排除周日的话,第三参数选11就可以,因此可以对公式做出如下修改。
“完成日期”列的公式改为:=WORKDAY.INTL(C2,B2-1,11)
“开始日期”列的公式改为:=WORKDAY.INTL(D2,1,11)
![d227790670b7d6c855656eefc7b1768c.png](https://i-blog.csdnimg.cn/blog_migrate/50e4ca2f5879c6bf74878e1484a529fb.jpeg)
如果有特殊日期需要排除的话,第四参数可以使用对应的日期或者单元格区域,这一点与WORKDAY函数完全一样。
今天分享的这两个函数不算很常用的函数,但是万一遇上这类问题,还是很方便的,如果怕忘记的话,可以收藏今天的教程以备不时之需。
****部落窝教育-excel完成日期函数****
原创:老菜鸟/部落窝教育(未经同意,请勿转载)
更多教程:部落窝教育(http://www.itblw.com)
微信公众号:exceljiaocheng