如何在 Excel 中将小数年份添加到日期?

如何在 Excel 中将小数年份添加到日期?

有没有办法在 Excel 中将小数年份添加到日期?我尝试过类似的方法,=date(2000 + 1.2, 1, 1)但结果1/1/2001不是预期的近似值3/14/2001

答案1

您可以使用:

=A1  +  TRUNC(  IF(  OR(  YEAR(A1) = 2000,  MOD(  YEAR(A1),  4  ))  <>  0,  365,  366  )  *1.2,  0)

YEAR()函数提取所涉及的年份,然后让MOD()函数判断它是否为 2000 年或不能被 4 整除。如果满足任一条件(2000 年或不能被 4 整除),则需要乘以 365 天。否则将得到 366 天。然后将其乘以 1.2,尽管任何数字或任何单元格都可以放在那里。最后,它会在小数点后 0 位被截断,因此只添加整天,然后将其添加到初始值(假定在 A1 中)。

对闰年没有太大的强迫症,对吧?现在你只要把它放在眼前,就可以把它复制出来并粘贴到一个方便的地方,以便将来通过复制和粘贴使用。这是一个快速而简单的测试,可以测试人们可能在合理范围内工作的任何事物,尽管在 2020 年,2000 年的非闰年通常可能不是什么问题。

答案2

将年份的小数部分添加到日期:

  1. 将年份的整数部分(包括时间值(时、分、秒))转换为相应的天数,并将其添加到给定的日期以获取另一个日期 EDATE(A1,INT(B1*12))+TIMEVALUE( TEXT(A1,"d/m/y h:mm:ss"))
  2. 将年份的小数部分转换为天数(EDATE(EDATE(A1,INT(B1*12)),1)-EDATE(A1,INT(B1*12)))*(B1*12-INT(B1*12))
  3. 将 1 和 2 相加即可得到所需的日期。

完整的工作公式是

=EDATE(A1,INT(B1*12))+TIMEVALUE( TEXT(A1,"d/m/y  h:mm:ss"))+(EDATE(EDATE(A1,INT(B1*12)),1)-EDATE(A1,INT(B1*12)))*(B1*12-INT(B1*12))

其中A1是给定的日期,B1是要添加的年份。

看这里通过添加日期时间文本根据开始日期计算结束日期

相关内容