dynamicdate追踪自动翻转保证金的到期日

假设我在2017年1月17日(价值date)在银行开设了自动转存定期存款(ARO TD)账户。 这个账户的资金必须持有3个月(男高音)。 由于是ARO TD,如果我不做任何事情,到期日将自动更新,不需要我采取任何行动。 今天的date是2017年7月18日,所以我的账户将于2017年10月17日到期。如果我在2017年1月19日开户,则将于2017年7月19日到期,等等。

在这里输入图像说明

如何在Excel中跟踪我的账户的到期日,只使用input:存款期限和价值date? 这意味着,到期日将在每次成熟时不断更新到下一个期间。 我能find这个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))) 

上述公式完美,但太长了。 这里有人能想出比这个更好,更短的公式吗?

你可以使用DATEDIFfunction来做到这一点。 由于我不明白的原因,Excel不会在你input时显示它,但它存在并被logging下来 。

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

一旦你有这个月的数量,你可以得到确切的数量是,添加一个,然后添加那么多个月的价值date。

一个公式实际上比上面的文本更容易!

你的C2细胞应该是:

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

从中间向外工作, DATEDIF获得从价值date到昨天的月数,我们将其除以中期和下限,以获得已过期的中期数目,我们加上一个来获得目标中期数目,我们通过男高音来获得多less个月的增加,最后EDATE做了增加月份。

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