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)))
上述公式完美,但太长了。 这里有人能想出比这个更好,更短的公式吗?
你可以使用DATEDIF
function来做到这一点。 由于我不明白的原因,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
),因此将需要适当的单元格格式。