|
一住房存款兩種還款方式及計算公式
1、等額本息還款法,在歸還初期利錢支出最大,本金最少,往後利錢支出逐漸淘汰,本金逐漸增添,但每月以相等的額度歸還金額(本+息)。它對比契合支出低且儲存少的年老人,因月供壓力小不會低沉生活質量。公式爲:房屋貸款利率.
每月還款額=存款本金*月利率*(1+月利率)^總還款月數/((1+月利率)^總還款月數-1)
下面公式中,全是穩定的數,所以還款額度是穩定的,我們把公式改造一下:
每月還款額=存款本金*月利率+存款本金*月利率/((1+月利率)^總還款月數-1)
其中:我們稱‘存款本金*月利率’爲月付利錢,稱‘存款本金*月利率/((1+月利率)^總還款月數-1)’爲月付本金。兩者相加的和爲每月還款額,我們也稱其爲本息算計(一個月的);利錢總計=總還款月數*本息算計-存款本金,也就是你支出的一齊利錢。“^”表示指數,在Excel中操縱power表示,在c中操縱pow表示,必要頭文件 #include <cmhere ath> 。
2、等額本金還款法,指每月等額歸還存款本金,房屋貸款利率.存款利錢随本息逐月遞加,每月歸還金額(本+息)逐漸淘汰。總共歸還的利錢比等額本息法要少。契合支出高且有必然儲存的中年人。公式爲:
每月還款額=存款本金/總還款月數+(存款本金-累計已還款本金)*月利率
其中: 累計已還款本金=存款本金/總還款月數*已還款月數
下面公式中,已還款月數是變化的數,所以每月還款額度是變化的,我們把公式改造一下就成爲:
每月還款額=存款本金/總還款月數+(存款本金*月利率-存款本金/總還款月數*月利率*已還款月數)
其中:存款本金/總還款月數,我們稱其爲月應還本金,是一個穩定的值;存款本金*月利率,我們稱其爲首月對付利錢,房屋貸款利率.是一個穩定的值;存款本金/總還款月數*月利率=月付本金*月利率,我們稱其爲利差,是一個穩定的值;首月對付利錢-利差*已還款月數,就是當月要還的利錢,它是一個變數即:第X月對付利錢=首月對付利錢-利差*(X-1);對付利錢總額=一齊月數的月對付利錢總和,就是你支出的一齊利錢。
二 兩種還款方式舉例
本表以本金元爲例的公積金存款,現行利率是,五年以下(含五年)年利率4.14%(月利率3.45‰),五年以上年利率4.59%(月利率3.825‰)
注:商業代款和公積金存款是依利率不同來計算的。房屋貸款利率.
等額本息還款表1
A列
B列
C列
D列
E列
1
年限
月付本金
月付利錢
本息算計
利錢總計
2
1
到期
一次
還本付息
414
3
2
400.37
34.5
434.87
436.88
4
3
261.36
34.5
295.86
650.96
5
4
191.92
34.5
226.42
868.16
6
5
150.3
34.5
184.80
1088
我們假定,F2單元格爲本金元,F4爲月利率0.00345,F6爲月利率0.003825元,則B3單元格輸出公式月付本金=$F$2*IF($A3<=5.$F$4.$F$6)/(POWER(1+IF($A3<=5.$F$4.$F$6).$A3*12)-1)。C3單元格輸出公式爲月付利錢=$F$2*IF($A3<=5.$F$4.$F$6),D3單元格輸出公式本息算計 =B3+C3,E3單元格輸出公式利錢總計=D3*A3*12-$F$2,就是對應2年存款的還款方式。2到5行對應的,先揀選B3到E3,然後拖動E3的黑點,但每月以相等的額度償還金額(本+息).到E6松手即可。
其中B6單元格,5年 5*12=60月的月付本金,*0.00345/((1+0.00345)^(5*12)-1)=150.3,C6列月付利錢=*0.00345=34.5,D6列爲一個月的本息算計=B6+C6=184.8,E6列爲利錢總計=D6*5*12-=1087.86。從上表中知,存款元,5年還,每月穩定還款184.8元。
等額本金還款表2
A列
B列
C列
D列
E列
1
年限
月應還本金
首月對付利錢
對付利錢總額
利差
2
1
到期
一次
還本付息
3
2
416.67
34.5
431.25
1.44
4
3
277.78
34.5
638.25
0.96
5
4
208.33
34.5
845.25
0.72
6
5
166.67
34.5
1052.25
0.58
我們仍舊假定,F2單元格爲本金元,相等.F4爲月利率0.00345,F8爲月利率0.003825,則B3單元格輸出公式月應還本金=$F$2/(A3*12)。C3單元格輸出公式爲首月對付利錢=$F$2*IF($A3<=5.$F$4.$F$6) 。D3單元格對付利錢總額,必要另外Excel表格計算見下面表3,或其它方式計算,貸款計算器.參見反面措施。E3單元格輸出公式利差=$F$2/(A3*12)*IF($A3<=5.$F$4.$F$6) 。
其中B6單元格,5年 5*12=60月的月應還本金,/(5*12)=166.67,C6首月對付利錢*0.00345=34.5。D6列爲對付利錢總額,即一齊月利錢的和必要其它發言可能Excel表完成(見下面表3)循環累加。房屋貸款流程.E6列爲利差/(5*12)*0.00345=0.575,保存兩位小數爲0.58。
從上表中知,存款元,5年60月來還:
第1月還款166.67+34.5=201.17元。
第2月還款166.67+34.5-0.575*(2-1)=200.595元。
第3月還款166.67+34.5-0.575*(3-1)=200.02元。
……
第60月還款166.67+34.5-0.575*(60-1)=167.245元。
60月一齊還款加起來-本金=1052.25是一齊利錢。
不言而喻,1088-1052.25=35.75,1萬元本金5年還,但每月以相等的額度償還金額(本+息).等額本息比等額本金多支出利錢35.75元。
等額本金還款表3 對付利錢總額計算
G列
H列
I列
J列
1
月份
月利錢
月還款
利錢總額
2
1
34.5
201.17
1052.25
3
2
33.925
200.59
...
61
60
0.575
167.24
在H2單元格内輸出公式月利錢=$C$6-$E$6*(G2-1),參見表2可知,C6、E6分手是5年期的首月對付利錢和利差,本表的G列是月份,所以算出是月利錢。
在I2單元格内輸出公式月還款=$B$6+H2,參見表2可知,B6單元格是5年期的月應還本金,所以與本表的H2相加就是月還款。
G2到G61是月份等差,而H2到H61,I2到I61要穩定援用表2的單元格,所以上述公式中,都加穩定援用符号$号。揀選G2、H2、I2,房屋貸款利率.鼠标點按I2的黑點,直到I61松手即可。你每月的還款就按I2到I61數值即可。在恣意沒有操縱的單元格内,個人身份證貸款.譬喻J2輸出=SUM(H2:H61)就是元,5年還的總利錢。把其數值手工寫入表2的D2單元格即可,别的類推。
細心,房屋貸款計算.假使行數很多,不妨先揀選G2,房屋貸款利率.然後翻頁直到看見G61,按下shift鍵再點揀選G61,就一齊選中G2到G61單元格,然後從Excel菜單上,編輯-填充-序列,個人身份證貸款.在序列出目前處揀選列,在類型處揀選主動填充,按肯定即可。每月.
假使存款5萬元,以上項目一齊乘以5=/即可。
譬喻第1月還款5*201.17=1005.85元。
第60月還款5*167.245=836.225元。
一齊利錢5*1052.25=5261.25元。
三 兩種還款方式的vc完畢
#include <cmhere ath>
flohere at deveryjin=.;//存款本金,個人身份證貸款.不妨恣意竄改
flohere at nievery=30;//存款年限,不妨恣意竄改
double yuelilv1=3.45/1000.;//1-5年月利率3.45‰,随市場變換
double yuelilv6=3.825/1000.;//6年以上月利率3.825‰,随市場變換
//改換以上4項就不妨獲得必要的成效
double yuelilv=0.;//月利率,随市場變換
if (nievery<=5) yuelilv=yuelilv1;
else if (nievery>5 ) yuelilv=yuelilv6;
double licha=deveryjin/(nievery*12)*yuelilv;//利差
double yuehueverydeveryjin=deveryjin/(nievery*12);//月應還本金
double shouyuelixi=deveryjin*yuelilv;//首月對付利錢
double yuefudeveryjin=0;//月付本金
double yuefulixi=0;//月付利錢
double sum=0.temp;//總利錢
int k=0;
FILE *fp;
//《等額本息》還款
fp=fopen("c:/住房存款.txt"."wt");
if (fp)
{
fprintf(fp."住房存款%.2f元分%d年%d月還\n".deveryjin.(int)nievery.(int)nievery*12);
fprintf(fp."===============================\n");
fprintf(fp."一、《等額本息》還款一覽表(僅供參考)\n");
k=nievery;
fprintf(fp."年限.月付本金.月付利錢.本息算計.利錢總計\n");
for (k=1;k<=nievery;k++)
{
if ( k<=5) yuelilv=yuelilv1;
else if (k>5) yuelilv=yuelilv6;
yuefulixi=deveryjin*yuelilv;//月付利錢
yuefudeveryjin=yuefulixi/(pow((double)(1.+yuelilv).(double)(k*12)) -1.);//月付本金
sum=yuefudeveryjin+yuefulixi;//本息算計
fprintf(fp."%02d. %.2f. %.2f. %.2f. %.2f\n".
k.yuefudeveryjin.yuefulixi.sum.sum*(k*12)-deveryjin);
}
fprintf(fp."--------------------------------\n");
fprintf(fp."《等額本息》存款%d元,%d年(分%d個月)穩定還款明細\n".
(int)deveryjin.(int)nievery.(int)(nievery*12));
k=nievery;
fprintf(fp."年限.月付本金.月付利錢.本息算計.利錢總計\n");
fprintf(fp."%02d. %.2f. %.2f. %.2f. %.2f\n".
k.yuefudeveryjin.yuefulixi.sum.sum*(k*12)-deveryjin);
}//if (fp)
//《等額本金》還款
fprintf(fp."===============================\n");
if (fp)
{
fprintf(fp."二、《等額本金》還款一覽表(僅供參考)\n");
fprintf(fp."年限,月應還本金,首月對付利錢,對付利錢總額,利差\n");
for ( k=1;k<=nievery;k++)//年循環
{
if ( k<=5) yuelilv=yuelilv1;
else if (k>5) yuelilv=yuelilv6;
licha=deveryjin/(k*12)*yuelilv;//利差
yuehueverydeveryjin=deveryjin/(k*12);//月應還本金
shouyuelixi=deveryjin*yuelilv;//首月對付利錢
sum=0.;
for (int j=1;j<=k*12;j++)//月循環
{// 月應還本金 + 首月對付利錢 -當月利錢差
temp=yuehueverydeveryjin+shouyuelixi-licha*(j-1);//當月還款額度
sum=sum+temp;
}//月循環
fprintf(fp. "%02d . %.2f . %.2f . %.2f . %.3f\n".
k.yuehueverydeveryjin.shouyuelixi.sum-deveryjin.licha);
}//年循環
fprintf(fp."--------------------------------\n");
fprintf(fp. "以上兩表以本金%.2f元還款法爲例\n".deveryjin);
fprintf(fp. "五年及以下年利率%.3f%(月利率%.3f‰)\n".
yuelilv1*1000.*12./10..yuelilv1*1000.);
fprintf(fp. "五年以上年利率%.3f%(月利率%.3f‰)\n".
yuelilv6*1000.*12./10..yuelilv6*1000.);
fprintf(fp. "其中等額本息每月等量還款,等額本金爲穩定本金+可變利錢,并且\n");
fprintf(fp. "第X月對付利錢=首月對付利錢-利差×(X-1))\n");
fprintf(fp."--------------------------------\n");
fprintf(fp."《等額本金》存款%d元,%d年(分%d個月)還款明細\n".
(int)deveryjin.(int)nievery.(int)(nievery*12));
k=nievery;
if ( k<=5) yuelilv=yuelilv1;
else if (k>5) yuelilv=yuelilv6;
licha=deveryjin/(k*12)*yuelilv;//利差
yuehueverydeveryjin=deveryjin/(k*12);//月應還本金
shouyuelixi=deveryjin*yuelilv;//首月對付利錢
sum=0.;
for ( k=1;k<=nievery*12;k++)
{
temp=yuehueverydeveryjin+shouyuelixi-licha*(k-1);//當月還款額度
sum=sum+temp;//還款累計
fprintf(fp."第%02d月還款:%.2f 元\n".k.temp);
}
fprintf(fp."存款%d元,%d年(=%d個月)總支出利錢=%.2f元\n".
(int)deveryjin.(int)nievery.(int)(nievery*12).sum-deveryjin);
fprintf(fp."--------------------------------\n");
fclose(fp);
}// if (fp)
return;
|
|