在Excel的日常工作中,对于日期的处理和引用是很常见的,在群里也有很多的表友经常问及这块知识,那不妨今天我们就来一起探讨一下日期的函数处理。
1、Date ()、Year()、Month()、Day()
四个非常简单而常用的函数,但是却可以有很大的用途:
这样的嵌套,是自动计算当月的天数的,而且自动进位,很明显3个月不等于90天。这类问题还有财务的账期日计算,生产行业的交货日计算等等。
2、Edate()、Eomonth()
这两个函数的语法是完全一样的,函数名(start_date,months),但是仔细看两个函数截然不同。
Edate函数是返回的N月后当日,如果日期超过那个月的最后一天,则以最后一天为定。
Eomonth函数是返回的N月后的那个月的月底最后一天。
函数用在哪?有的表友说,这两个函数用的很少。听到这样的说法,作者只能说我们的工作用这两个函数比较少而已。
在合同日期管理中有3种情况,举例如下:
1)签订了3年合作合同,3年后今天的后一天开始,合同自动解除:
2)签订了3年合作合同,甲乙双方约定延续到3年后月份的末一天:
3)还有一种情况就是6月30日之前签订的,履行到3年后的6月30日,6月30日之后签订的,履行到3年后的12月31日:
3、Yearfrac()、Datedif()、days()
这三个函数都可以返回两个日期的间隔天数,但是每个函数又都有自己的特点:
1)Yearfrac()函数返回的是两日期之间的天数占全年天数的百分比
语法:Yearfrac(Start_date,end_date, [basis])
Basis参数:0/空是以360天为比;
1是按实际/实际天数;
2是按实际/360天;
3是按实际/365天;
4也是按时间/360(欧洲)。
2)Datedif函数是按参数指定条件返回日期比较值
语法:Datedif(start_date,end_date,unit)
Unit参数:”Y" 两个日期间的年份差;
”M" 两个日期间的月份差;
”D" 两个日期间的天数差;
”MD" 两个日期间,忽略年月值的,日期差;
”YM" 两个日期间,忽略年日值的,月份差;
”YD" 两个日期间,忽略年份,月日的差。
3)Days这个才是明证言顺的两个日期之间的差值,值得一说的是。区别于days函数,还有一个函数是days360函数。两个如何理解呢,days函数是按365天返回值,而days360是按照360来计算的,不符合中国人的用法。
4、Networkdays()、Networkdays.intl()
Networkdays函数和Networkdays.intl函数,很直译的说法就是法定工作日,即抛开周六日后的工作天数。但是有的表友说了“我们是单休”,或者“我们不休周六日”,那我就建议大家要学习一下networkdays.intl函数了。
语法:networkdays.intl(start_date,end_date,weekend,holidays)
Weekend是周末参数,具体内容如下:
不用死记硬背,输入函数的时候会有提示的,那么holidays参数怎么运用呢?用实例说明吧
在2017年的10月份,单休的表友要上满23天是满勤,双休的表友要上满19天满勤。
今天的内容就是这些了,总感觉意犹未尽,给自己出一道题吧。
举例:2017-9-29去政务窗口办事,程序流转完,告知15个工作日后再来。应该是个很常见的例子,注意的是“15个工作日”,查一查是哪天,是不是下面的那天。
注意:上面有的函数是需要安装加载项——分析工具库后才可以使用的。所以平时建议大家安装Excel还是完全安装的好。
作者云:
日期的处理在工作中五花八门,但是作者相信有上面这些函数,处理起来也就不是那么繁琐了。
编后语:
对于日期,本教案中没有体现出周序号、星期几这些比较常见的函数,相信很多表友对于上面某些内容还都是很陌生的,那就学会它吧,谁知道什么时候就用的上了呢。
閱讀更多 孫樹帥老師 的文章