我遇到了一个需要帮助的问题。我有两个贷款日期:当前日期和到期日。我还知道每月/每季度/每年哪一天将转账。因此,问题是:当贷款有不同的还款计划时,如何计算两个日期之间的还款次数。例如:
当前日期:2020 年 12 月 2 日 到期日:2021 年 6 月 15 日 付款日:20 日 付款年份:12
因此结果为:6(十二月、一月、二月、三月、四月、五月)
示例 2:
当前日期:2020 年 12 月 2 日 到期日:2021 年 6 月 15 日 付款日:20 日 年付款次数:4(因此每季度一次)
结果:2(一月、四月)
我应该使用某种 VBA 循环吗?
答案1
使用:
=SUMPRODUCT((DAY(ROW(INDEX($ZZ:$ZZ,A1):INDEX($ZZ:$ZZ,B1)))=C1)*(MOD(MONTH(ROW(INDEX($ZZ:$ZZ,A1):INDEX($ZZ:$ZZ,B1)))-1,12/D1)=0))
它会迭代每一天并测试它是否符合要求,并在匹配的地方进行加总。
如果有 Office 365,那么我们可以使用 LET 和 SQUENCE 来缩短它:
=LET(dts,SEQUENCE(B1-A1+1,,A1),SUMPRODUCT((DAY(dts)=C1)*(MOD(MONTH(dts)-1,12/D1)=0)))
或者:
=LET(dts,SEQUENCE(,B1-A1+1,A1),COUNT(FILTER(dts,(DAY(dts)=C1)*(MOD(MONTH(dts)-1,12/D1)=0))))