Trả về một Double xác định số tiền thanh toán gốc cho một kỳ niên kim nhất định dựa trên các khoản thanh toán cố định định kỳ và lãi suất cố định.
Cú pháp
PPmt(rate, per,nper,pv [, fv ] [, type ] )
Cú pháp hàm PPmt có những đối số sau:
| Đối số | Mô tả |
|---|---|
| Xếp hạng | Bắt buộc. Gấp đôi chỉ định lãi suất theo kỳ hạn. Ví dụ, nếu bạn có một khoản vay mua xe hơi với lãi suất phần trăm hàng năm (APR) là 10 phần trăm và bạn trả nợ hàng tháng, thì lãi suất mỗi kỳ là 0,1/12, hay 0,0083. |
| mỗi | Bắt buộc. Số nguyên xác định kỳ thanh toán trong phạm vi từ 1 tới nper. |
| nper | Bắt buộc. Số nguyên xác định tổng số kỳ hạn thanh toán trong niên kim. Ví dụ, nếu bạn thanh toán hàng tháng cho một khoản vay mua xe hơi với kỳ hạn bốn năm, thì khoản vay của bạn có tổng cộng 4 * 12 (hay 48) kỳ thanh toán. |
| pv | Bắt buộc. Xác định kép giá trị hiện tại, hoặc giá trị hôm nay, của một chuỗi các khoản thanh toán hoặc biên lai tương lai. Ví dụ, khi bạn vay tiền để mua một chiếc xe hơi, số tiền vay là giá trị hiện tại đối với người cho vay các khoản thanh toán xe hàng tháng mà bạn sẽ thực hiện. |
| fv | Không bắt buộc. Biến_thể xác định giá trị tương lai hoặc số dư tiền mặt bạn muốn sau khi thực hiện khoản thanh toán cuối cùng. Ví dụ: giá trị tương lai của khoản vay là $0 vì đó là giá trị của khoản vay sau khoản thanh toán cuối cùng. Tuy nhiên, nếu bạn muốn tiết kiệm 50.000 đô la trong 18 năm cho việc học của con mình, thì 50.000 đô la là giá trị tương lai. Nếu bỏ qua, giả định là 0. |
| kiểu | Không bắt buộc. Biến_thể xác định thời điểm thanh toán đến hạn. Dùng 0 nếu các khoản thanh toán đến hạn vào cuối kỳ thanh toán hoặc dùng 1 nếu các khoản thanh toán đến hạn vào đầu kỳ. Nếu bỏ qua, giả định là 0. |
Chú thích
Niên kim là một chuỗi các khoản thanh toán bằng tiền cố định được thực hiện trong một khoảng thời gian. Niên kim có thể là một khoản vay (chẳng hạn như thế chấp nhà) hoặc một khoản đầu tư (chẳng hạn như một kế hoạch tiết kiệm hàng tháng).
Các đối số rate và nper phải được tính toán bằng cách sử dụng các kỳ hạn thanh toán được thể hiện bằng cùng một đơn vị. Ví dụ, nếu lãi suất được tính bằng cách sử dụng tháng, nper cũng phải được tính bằng số tháng.
Đối với tất cả các đối số, tiền mặt trả ra (chẳng hạn như nộp vào tài khoản tiết kiệm) được thể hiện bằng số âm; Số tiền nhận được (chẳng hạn như séc chia cổ tức) được thể hiện bằng số dương.
Ví dụ về truy vấn
| Biểu thức | Kết quả |
|---|---|
| SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; | Trả về tất cả các trường từ bảng "FinancialSample", tính toán số tiền gốc được trả trong "per"(10 trong ví dụ này) của "LoanAmount" dựa trên "AnnualRate" và "TermInYears" và hiển thị kết quả trong cột INTPaid. |
Ví dụ về VBA
Lưu ý
Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Ví dụ này sử dụng hàm PPmt để tính toán số tiền thanh toán cho một kỳ cụ thể là nợ gốc khi tất cả các khoản thanh toán có giá trị bằng nhau. Cho ra là lãi suất phần trăm theo kỳ (),APR / 12 kỳ hạn thanh toán mà phần gốc được mong muốn (),Period tổng số lần thanh toán (),TotPmts giá trị hiện tại hoặc nợ gốc của khoản vay (),PVal giá trị tương lai của khoản vay ()FVal và một số cho biết khoản thanh toán đến hạn vào đầu hay cuối kỳ thanh toán ().PayType
Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment, Msg, MakeChart, Period, P, I
Const ENDPERIOD = 0, BEGINPERIOD = 1 ' When payments are made.
NL = Chr(13) & Chr(10) ' Define newline.
TB = Chr(9) ' Define tab.
Fmt = "###,###,##0.00" ' Define money format.
FVal = 0 ' Usually 0 for a loan.
PVal = InputBox("How much do you want to borrow?")
APR = InputBox("What is the annual percentage rate of your loan?")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = InputBox("How many monthly payments do you have to make?")
PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
Payment = Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
Msg = Msg & "Would you like a breakdown of your principal and "
Msg = Msg & "interest per period?"
MakeChart = MsgBox(Msg, vbYesNo) ' See if chart is desired.
If MakeChart <> vbNo Then
If TotPmts > 12 Then MsgBox "Only first year will be shown."
Msg = "Month Payment Principal Interest" & NL
For Period = 1 To TotPmts
If Period > 12 Then Exit For ' Show only first 12.
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
P = (Int((P + .005) * 100) / 100) ' Round principal.
I = Payment - P
I = (Int((I + .005) * 100) / 100) ' Round interest.
Msg = Msg & Period & TB & Format(Payment, Fmt)
Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
Next Period
MsgBox Msg ' Display amortization table.
End If