动态日期跟踪自动滚存存款的到期日

时间:2017-07-18 11:48:01

标签: excel date excel-formula

假设我于2017年1月17日(价值日期)在银行开立自动转期定期存款(ARO TD)账户。此帐户中的资金必须保留3个月(期限)。由于它是ARO TD,如果我选择什么都不做,成熟日期将自动更新,不需要我采取任何行动。今天的日期是2017年7月18日。因此,我的帐户将于2017年10月17日到期。如果我在2017年1月19日开放,它将于2017年7月19日到期,依此类推。

enter image description here

如何仅使用输入跟踪Excel帐户的到期日:存款期和值日期?意思是,到期日会在每次成熟时不断更新到下一个期间。我能找到这个Excel公式:

=IF(EDATE(B2,A2*CEILING(DATEDIF(B2,TODAY(),"M")/A2,1))<TODAY(),EDATE(B2,A2*(1+CEILING(DATEDIF(B2,TODAY(),"M")/A2,1))),EDATE(B2,A2*CEILING(DATEDIF(B2,TODAY(),"M")/A2,1)))

上述公式完美无缺,但时间过长。这里的任何人都能想出一个比这个更好更短的公式吗?

1 个答案:

答案 0 :(得分:1)

您可以使用DATEDIF功能执行此操作。由于我不明白的原因,Excel在您打字时没有提出建议,但it exists and is documented

DATEDIF很有用,因为您对日期之间的月数感兴趣。较早的利息日期是价值日期;更晚的日期是今天(实际上是昨天,因为在你的第一个例子中你希望日期在到期日期)。

一旦您有这个月数,您就可以获得确定的期限数量,添加一个,然后将这几个月添加到价值日期。

公式实际上比上面的文字更容易!

您的C2单元格应为:

=EDATE(B2, A2 * (FLOOR( DATEDIF(B2, TODAY()-1, "m") / A2, 1) + 1))

从中间向外工作,DATEDIF获取从值日期到昨天的月数,我们将它除以期限和楼层以获得已经过去的期限的数量,我们添加一个得到目标期限的期限,我们多次通过期限来获得要添加的的数量,然后最后EDATE进行月份添加。

结果将是一个日期序列(例如43025),因此需要适当的单元格格式化。