Javascript 如何计算每月最高付款额
(注意:虽然这个问题涉及解决问题的电子表格,但我也愿意使用PHP或Javascript) 我有一个电子表格,用于预测我未来3年的个人财务预算。我们的目标是尽可能多地偿还最高优先权债务,直到其还清,然后下一个优先权债务开始收到所有额外的每月资金,直到其还清,依此类推。我希望债务支付自动计算它们的支付,但我遇到了循环引用错误,因为计算债务支付需要考虑债务余额,而债务余额是使用债务支付计算的。此外,净收入和检查余额使用债务支付得出其价值,因此在尝试自行计算债务支付时,它会进行另一个循环参考 是否有一个财务函数可以在不参考债务余额的情况下计算可能的最大付款额?需要一个起始余额和利率,并查看已经支付的金额的东西?我想我可以绕过支票余额循环参考 下面是我的电子表格样本。收入和费用行是手工输入的。债务目前也是手动输入的,但我希望它能自动计算,如上所述。净收入、支票余额和债务余额按行计算Javascript 如何计算每月最高付款额,javascript,php,excel-formula,financial,Javascript,Php,Excel Formula,Financial,(注意:虽然这个问题涉及解决问题的电子表格,但我也愿意使用PHP或Javascript) 我有一个电子表格,用于预测我未来3年的个人财务预算。我们的目标是尽可能多地偿还最高优先权债务,直到其还清,然后下一个优先权债务开始收到所有额外的每月资金,直到其还清,依此类推。我希望债务支付自动计算它们的支付,但我遇到了循环引用错误,因为计算债务支付需要考虑债务余额,而债务余额是使用债务支付计算的。此外,净收入和检查余额使用债务支付得出其价值,因此在尝试自行计算债务支付时,它会进行另一个循环参考 是否有一个
---------------------------------------------------------------------------------------------
| | Jan | Feb | Mar | Apr | May | June | July | Aug | Sep | ...
---------------------------------------------------------------------------------------------
| INCOME
---------------------------------------------------------------------------------------------
| Salary 1 | 6500 | 6500 | 6500 | 6500 | 7000 | 7000 | 7000 | 7000 | 7000 | ...
---------------------------------------------------------------------------------------------
| Salary 2 | 2500 | 2500 | 2500 | 2500 | 2500 | 2500 | 2500 | 2500 | 2500 | ...
---------------------------------------------------------------------------------------------
| Misc | 500 | | | | | 500 | | | | ...
---------------------------------------------------------------------------------------------
| EXPENSES
---------------------------------------------------------------------------------------------
| Gas | 400 | 400 | 400 | 400 | 400 | 400 | 400 | 400 | 400 | ...
---------------------------------------------------------------------------------------------
| Food | 800 | 800 | 800 | 800 | 800 | 800 | 800 | 800 | 800 | ...
---------------------------------------------------------------------------------------------
| Auto Ins | 150 | | | | | | 150 | | | ...
---------------------------------------------------------------------------------------------
| Misc | 500 | 1000 | 500 | 500 | 500 | 2500 | 2500 | 500 | 500 | ...
----------------------------------------------------------------------------------------------
| DEBT
---------------------------------------------------------------------------------------------
| Auto | 500 | 500 | 500 | 500 | 500 | 500 | 500 | 500 | 500 | ...
---------------------------------------------------------------------------------------------
| Mortgage | 2500 | 2500 | 2500 | 2500 | 2500 | 2500 | 2500 | 2500 | 2500 | ...
---------------------------------------------------------------------------------------------
| Student Loan | 700 | 700 | 700 | 700 | 700 | 700 | 700 | 700 | 700 | ...
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
| NET INCOME
---------------------------------------------------------------------------------------------
| | 3950 | 3100 | 3600 | 3600 | 4100 | 2600 | 1950 | 4100 | 4100 | ...
----------------------------------------------------------------------------------------------
| CHECKING BALANCE
---------------------------------------------------------------------------------------------
| | 3950 | 7050 | 10650 | 14250 | 18350 | 20950 | 22900 | 27000 | 31100 | ...
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
| DEBT BALANCE
---------------------------------------------------------------------------------------------
| Auto | 14809 | 14618 | 14427 | 14235 | 14043 | 13850 | 13657 | 13463 | 13269 | ...
---------------------------------------------------------------------------------------------
| Mortgage |249571 |249141 |248710 |248278 |247844 |247409 |246974 |246537 |246100 | ...
---------------------------------------------------------------------------------------------
| Student Loan | 84541 | 84050 | 83616 | 83148 | 82677 | 82203 | 81726 | 81245 | 80761 | ...
---------------------------------------------------------------------------------------------
编辑–2014年9月25日
进一步澄清上面的表格。这就是我要做的
netIncome = SUM(INCOME) - SUM(EXPENSE) - SUM(DEBT)
checkingBalance = previousBalance + netIncome
if (debtBalance > 0 && debtBalance <= debtMinimumPayment) // last payment is equal to or less than min payment, pay it off
thePayment = debtBalance
else if (debtBalance > 0) // we owe something greater than minimum payment
if (paymentAbove = 0 && checkingBalance > debtMinimumPayment) // the debt in the row above is paid off, now we begin applying extra funds to this debt
if (checkingBalance < debtBalance) // payoff as much as we have available
thePayment = checkingBalance
else // we have enough funds to payoff this debt - do it
thePayment = debtBalance
/if
else
thePayment = debtMinimumPayment
/if
else // debt already paid off
thePayment = 0
/if
netIncome=SUM(收入)-SUM(费用)-SUM(债务)
checkingBalance=以前的余额+净收入
如果(借方余额>0&&借方余额0)//我们欠的钱比最低付款额还多
如果(PaymentOver=0&&checkingBalance>debtMinimumPayment)//上一行中的债务已付清,现在我们开始对该债务应用额外资金
if(checkingBalance
不幸的是,在上面的sudo代码中,我无法引用“netIncome”和“debt balance”,因为这些值是使用“debt payment”计算的,这正是我试图计算的。我的电子表格不允许我使用这些单元格,并声明您不能引用引用此单元格的单元格。因此,我希望Excel中可能有一个财务功能可以帮助或以其他方式剥这只猫的皮。看起来您可能指的是Ramsey或life leadership的财务健身包。我明白你想做什么,但你是想像这些课程建议的那样先支付最低金额还是先支付最高利率?首先支付最低的一笔款项,然后再将该款项用于下一笔款项,这有心理原因 在电子表格中列出每行的所有最低付款额以及总债务和利息
example
total amount extra to apply: 25
total Interest Jan Feb Mar Apr May
1253 17.3% Visa card: 25 25 25 25 25
4700 22.1% Master : 35 35 35 35 35
...
接下来需要添加一行以更新金额。计算被简化,您可以使用这些或获得更精确的计算
example
jan feb mar apr
Visa card : min min min min
paid : *A* *A* *A* *A*
int : *B* *B* *B* *B*
new total : *C* *C* *C* *C*
Master card: min min min min
paid : *D* *D* *D* *D*
int : *B* *B* *B* *B*
new total : *C* *C* *C* *C*
...
*A* formula = min payment + extra payment
*B* formula = (interest/12)*total
*C* formula = total - paid + *A*
after the first column use 'new total' instead of total from above in all formulas
现在,您可以将if语句添加到每个付费框中。if语句应该类似于
if new total < min then pay new total
事实证明,我不相信用Excel或数字中的原生公式可以解决这个问题。因此,我使用Applescript一次执行一行逻辑。不完美,但它节省了我大量的时间手动输入值。< /P>你问的收入如何适用于任何给定的债务=收入-费用=最大可能的支付?关闭,但它需要考虑计算的债务余额。请看我上面的说明。我已经阅读并听取了Dave Ramsey的意见,但这是我自己的项目/方法。我认为我的情况比你的例子要复杂一点——见我上面的编辑。我需要的债务支付是由可变收入和费用和自动计算,直到全额支付驱动。这将允许我运行基于出售汽车或房屋和减少其他费用的模拟,同时预测加薪和杂项收入。如果您将所有额外费用用于其中一项付款,则不必访问其余部分。您的期末余额应始终为0对吗?
*D* formula = min + (extra payment - *A* from above)
the min is whatever the minimum payment is for that debt.