求助一个关于年金代码的问题



  • 示例Excel: VBA代码.xlsx
    表内公式能算出Annuity IF那一列,temp1=Annuity IF+Total Annuity,然后通过VBA代码定义result1为Total Annuity那一列,同时将temp1赋值到result1,最后得出Total Annuity.
    这中间存在一个循环引用的过程,我大概的理解是Total Annuity为年金累计的期望值,但是总感觉有点说不通,不知大家有没有更好的理解方法呢?或者说这是用了哪些基础原理?



  • 这个工具是用来把所有模型点的每年的现金流加起来的, Annuity IF是当前模型点未来的现金流,Total Annuity用来储存累加值。Temp1是用来做累加的辅助列。具体计算过程是:

    假设有三个模型点A B C
    Total Annuity首先清零,先算A的现金流存到Annuity IF,然后Temp1此时等于Total Annuity加A的现金流,因为Total Annuity是0,所以此时的Temp1就是A的现金流;然后把Temp1的值存到Total Annuity。
    然后通过宏跑到模型点B,然后把B的现金流存到Annuity IF,然后Temp1等于Total Annuity加B的现金流,也就是A加B的现金流。然后把Temp1的值存到Total Annuity,此时Total Annuity就是A的现金流加B的现金流,以此类推。

    ae4aefba-c1a1-4889-81c0-f5ea4b6c00e8-image.png


登录后回复