分享

函数365之EDATE函数:十年之前十年之后我依然是我

 L罗乐 2017-03-18
1
函数名称

EDATE

2
函数作用

EDATE函数主要用于根据某个日期返回指定月份之后(之前)的日期序列号。

3
函数语法

EDATE(日期或表示日期的序列号,月份数)

注意事项

1、第1参数为必选参数。一个代表开始日期的日期或日期序列号。

2、第2参数为必选参数。表示日期之前或之后的月份数。正值将生成未来日期;负值将生成过去日期。

3、如果第1参数不是有效日期,EDATE结果返回错误值 #VALUE! 。

4、如果第2参数不是整数,将截尾取整。

5、EDATE函数的结果不是一个标准的日期格式,而是一个表示日期的序列号,例如“2017-3-11”就是42805。


函数应用

实例一

根据下表A列的日期,计算10年之前与10年之后的日期,如下表B列和C列所示。


函数公式  

=TEXT(EDATE($A2,120*(-1)^COLUMN(A1)),'yyyy/m/d'),公式右拉下拉即可

解释说明

1、要计算10年之前的日期,那就是EDATE函数,第2参数是-120(每年12个月,12*10),要计算10年之后的日期,那么EDATE函数的第2参数就是120;

2、如何能让公式在B列是-120,C列变成120,我们可以将120乘以-1的1次方120*(-1)^1得到-120,将120乘以-1的2次方120*(-1)^2得到120;


3、现在的关键就变成了怎么将B列的1次方变成C列的2次方,我们可以在B列用COLUMN(A1)表示1,那么公式拉到C列就变成了COLUMN(B1)刚好得到2;


4、通过第2和第3步就得到公式EDATE($A2,120*(-1)^COLUMN(A1)),但是由于EDATE函数的结果只是一个序列号,所以我们还要用TEXT函数将日期格式标准化。




实例二

根据下表A列日期计算当月的最大天数,效果如B列。


函数公式  

=EDATE(A2,1)-A2,公式下拉即可

解释说明

1、首先计算2008/12/23这个日期当月的最大天数,我们可以理解成2008/12/1至2008/12/22的日期加上2008/12/23至2008/12/31的日期之和;

2、我们可以计算出这个日期下个月的同一天2009/1/23,我们都知道2008/12/1至2008/12/22的日期差与2009/1/1至2009/1/22的日期差是相等的,所以计算最大天数等于2009/1/1至2009/1/22加上2008/12/23至2008/12/31的日期之和;


3、2009/1/1至2009/1/22加上2008/12/23至2008/12/31的日期之和等同于2009/1/23与2008/1/23的日期之差,也就是=EDATE(A2,1)-A2。


4、原理如下图所示,绿色区域就是12月的总天数。






结束语

人生太短,岁月太长。生活是公平的,要活出精彩,需要一颗奋进的心。以勤为本,以韧为基,尽自己的全力,求最好的结果,行动成就梦想,奋斗成就人生。人生苦短,财富地位都是附加的,生不带来死不带去,简单的生活就是快乐的生活。





    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多