Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Olyan értéket ad vissza, amely egy adott járadék adott időszakára vonatkozó tőketörlesztést határoz meg rendszeres rögzített kifizetések és rögzített kamatláb alapján.
public static double PPmt(double Rate, double Per, double NPer, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member PPmt : double * double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function PPmt (Rate As Double, Per As Double, NPer As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod) As Double
Paraméterek
- Rate
- Double
Kötelező. Az időszakonkénti kamatláb. Ha például van egy autókölcsöne, amelynek évenkénti kamata 10 százalék, és havonta fizeti vissza, akkor a kamat értéke egy időszakra 0,1/12, vagyis 0,0083.
- Per
- Double
Kötelező. A fizetési időszak az 1–1 NPer. tartományban.
- NPer
- Double
Kötelező. A törlesztési időszakok teljes száma a járadékban. Ha például havi törlesztőrészletet fizet egy négyéves autóhitelen, a kölcsön összesen 4 x 12 (vagy 48) törlesztési időszakból áll.
- PV
- Double
Kötelező. A jövőbeli kifizetések vagy nyugták sorozatának aktuális értéke. Ha például egy autó megvásárlásához kölcsönkér pénzt, a kölcsön összege a havi autófizetések kölcsönadójának jelenlegi értéke.
- FV
- Double
Optional. A végleges kifizetés után a kívánt jövőbeli érték vagy készpénz egyenleg. A kölcsön jövőbeli értéke például \$0, mert ez az értéke a végső törlesztés után. Ha azonban 18 év alatt \50 000 000 dollárt szeretne menteni a gyermek oktatásához, akkor a \50 000 usd a jövőbeli érték. Ha nincs megadva, 0-nak feltételezi a rendszer.
- Due
- DueDate
Optional. A kifizetések esedékességéről meghatározó típusú DueDate objektum. Ennek az argumentumnak akkor DueDate.EndOfPeriod kell lennie, ha a kifizetések a fizetési időszak végén esedékesek, vagy DueDate.BegOfPeriod ha a kifizetések az időszak elején esedékesek. Ha nincs megadva, DueDate.EndOfPeriod akkor a függvény feltételezi.
Válaszok
A törlesztés adott időszakára vonatkozó tőketörlesztés rendszeres rögzített kifizetések és rögzített kamatláb alapján.
Kivételek
Per
<=0 vagy Per>NPer.
Példák
Ez a példa a függvényt használja annak PPmt kiszámítására, hogy egy adott időszak kifizetése mekkora tőke, ha az összes kifizetés egyenlő értékű. A megadott érték az időszakonkénti kamatláb (APR / 12), az a törlesztési időszak, amelyre a tőkerészt kívánja használni (Period), a kifizetések teljes száma (TotPmts), a kölcsön jelenértéke vagy tőkerésze (PVal), a hitel jövőbeli értéke (FVal), valamint egy szám, amely jelzi, hogy a törlesztés a törlesztési időszak elején vagy végén esedékes-e (PayType).
Sub TestPPMT()
Dim PVal, APR, TotPmts, Payment, Period, P, I As Double
Dim PayType As DueDate
Dim Msg As String
Dim Response As MsgBoxResult
' Define money format.
Dim Fmt As String = "###,###,##0.00"
' Usually 0 for a loan.
Dim Fval As Double = 0
PVal = CDbl(InputBox("How much do you want to borrow?"))
APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
' Ensure proper form.
If APR > 1 Then APR = APR / 100
TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
Payment = Math.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?"
' See if chart is desired.
Response = MsgBox(Msg, MsgBoxStyle.YesNo)
If Response <> MsgBoxResult.No Then
If TotPmts > 12 Then MsgBox("Only first year will be shown.")
Msg = "Month Payment Principal Interest" & Environment.NewLine
For Period = 1 To TotPmts
' Show only first 12.
If Period > 12 Then Exit For
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
' Round principal.
P = (Int((P + 0.005) * 100) / 100)
I = Payment - P
' Round interest.
I = (Int((I + 0.005) * 100) / 100)
Msg = Msg & Period & vbTab & Format(Payment, Fmt)
Msg = Msg & vbTab & Format(P, Fmt) & vbTab & Format(I, Fmt) & Environment.NewLine
Next Period
' Display amortization table.
MsgBox(Msg)
End If
End Sub
Megjegyzések
Az annuitás fix összegű készpénzfizetések egy sorozata, melyet egy adott időszakban tesz. Az annuitás lehet kölcsön (például jelzálogkölcsön) vagy befektetés (például havi megtakarítás).
Az Rate és NPer az argumentumokat ugyanabban a mértékegységben kifejezett fizetési időszakok alapján kell kiszámítani. Ha például Rate hónapokkal van kiszámítva, NPer akkor a hónapokat is ki kell számítani.
Minden argumentum esetében a kifizetett készpénzt (például a megtakarításokat) negatív számok jelölik; a kapott készpénzt (például az osztalékellenőrzéseket) pozitív számok jelölik.