EDATE EDATE函数主要用于根据某个日期返回指定月份之后(之前)的日期序列号。 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月的总天数。 结束语 人生太短,岁月太长。生活是公平的,要活出精彩,需要一颗奋进的心。以勤为本,以韧为基,尽自己的全力,求最好的结果,行动成就梦想,奋斗成就人生。人生苦短,财富地位都是附加的,生不带来死不带去,简单的生活就是快乐的生活。 |
|
来自: L罗乐 > 《生日提醒和合同到期提醒》