PMT函数即年金函数,基于固定利率及等额分期付款方式,返回贷款的每期付款额,在计算时应确认所指定rate和nper单位的一致性。

语法

PMT(Rate, Nper, Pv, Fv, Type)。

语法参数

Rate贷款利率(期利率)。

Nper该项贷款的付款总期数(总年数或还租期数)。

● Pv现值(租赁本金),或一系列未来付款的当前值的累积和,也称为本金。

●Fv为未来值(余值),或在最后一次付款后希望得到的现金余额,如果省略Fv,则假设其值为零,也就是一笔贷款的未来值为零。

Type数字0或1,用以指定各期的付款时间是在期初还是期末。1代表期初(先付:每期的第一天付),不输入或输入0代表期末(后付:每期的最后一天付)。

说明:

PMT 返回的支付款项包括本金和利息,但不包括税款、保留支付或某些与贷款有关的费用。

/**
     * PMT公式
     * @param rate 年利率
     * @param nper 分期总数(月),
     *             rate 和 nper 单位的要一致。
     *             例如,同样是四年期年利率为 12% 的贷款,如果按月支付,rate 应为 12%/12,nper 应为 4*12;
     *             如果按年支付,rate 应为 12%,nper 为 4
     * @param pv 借贷总金额
     */
    public static double calculatePMT(double rate, double nper, double pv) {
        double v = (1 + (rate / 12));
        //double t = (-(nper / 12) * 12);
        double t = -nper;
        // v的t 次方
        double pow = Math.pow(v, t);

        //每期要还的金额
        double result = (pv * (rate / 12)) / (1 - pow);
        System.out.println("每期还款金额(本金+利息)= "+result);
        //还款的总金额
        double total = result * nper;
        System.out.println("还款结束后,还款总金额(本金+利息) = "+total);
        //还款的利息 (估算的免息金额)
        double fee = total - pv;
        System.out.println("还款结束后,还款手续费总金额 = "+fee);
        return fee;
    }

区别于PPMT函数:

PPMT函数是基于固定利率及等额分期付款方式,返回投资在某一给定期间内的本金偿还额。

语法

PPMT(rate,per,nper,pv,fv,type)

有关函数 PPMT 中参数的详细信息,请参阅函数 PV。

Rate 为各期利率。

Per 用于计算其本金数额的期数,必须介于 1 到 nper 之间。

Nper 为总投资期,即该项投资的付款期总数。

Pv 为现值,即从该项投资开始计算时已经入帐的款项,或一系列未来付款当前值的累积和,也称为本金。

Fv 为未来值,或在最后一次付款后希望得到的现金余额,如果省略 fv,则假设其值为零,也就是一笔贷款的未来值为零。

Type 数字 0 或 1,用以指定各期的付款时间是在期初还是期末。

Type 值 支付时间

0 或省略 期末

1 期初

参考:

1、百度百科