Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen Wert zurück, der die Hauptzahlung für einen bestimmten Zeitraum einer Annuität basierend auf regelmäßigen Festzahlungen und einem festen Zinssatz angibt.
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
Parameter
- Rate
- Double
Required. Der Zinssatz pro Periode. Wenn Sie beispielsweise einen Autokredit mit einem Jahreszins von 10 Prozent aufnehmen und monatliche Zahlungen leisten, beträgt der Zinssatz pro Zeitraum 0,1/12 oder 0,0083.
- Per
- Double
Required. Der Zahlungszeitraum im Bereich 1 bis NPer.
- NPer
- Double
Required. Die Gesamtzahl der Zahlungszeiträume in der Annuität. Wenn Sie z. B. monatliche Zahlungen für einen Vierjahres-Autokredit tätigen, hat Ihr Kredit insgesamt 4 x 12 (oder 48) Zahlungszeiträume.
- PV
- Double
Required. Der aktuelle Wert einer Reihe zukünftiger Zahlungen oder Einnahmen. Wenn Sie beispielsweise einen Kredit für ein Auto aufnehmen, ist die Summe dieses Kredits für den Kreditgeber gleich dem Barwert der monatlichen Zahlungen, die Sie für das Auto leisten.
- FV
- Double
Dies ist optional. Der zukünftige Wert oder barsaldo, den Sie benötigen, nachdem Sie die endgültige Zahlung getätigt haben. Der zukünftige Wert eines Kredits lautet z. B. "\$0", da dies nach der endgültigen Zahlung der Wert ist. Wenn Sie jedoch \$50.000 über 18 Jahre für die Ausbildung Ihres Kindes speichern möchten, ist \$50.000 der zukünftige Wert. Fehlt dieses Argument, wird 0 angenommen.
- Due
- DueDate
Dies ist optional. Objekt des Typs DueDate , der angibt, wann Zahlungen fällig sind. Dieses Argument muss entweder DueDate.EndOfPeriod sein, wenn Zahlungen am Ende des Zahlungszeitraums fällig sind oder DueDate.BegOfPeriod zahlungen am Anfang des Zeitraums fällig sind. Wird diese Angabe weggelassen, DueDate.EndOfPeriod wird angenommen.
Gibt zurück
Die Hauptzahlung für einen bestimmten Zeitraum einer Annuität basierend auf regelmäßigen Festzahlungen und einem festen Zinssatz.
Ausnahmen
Per
<=0 oder Per>NPer.
Beispiele
In diesem Beispiel wird die PPmt Funktion verwendet, um zu berechnen, wie viel einer Zahlung für einen bestimmten Zeitraum prinzipal ist, wenn alle Zahlungen gleich wert sind. Angegeben sind der zinsprozentige Zinssatz pro Zeitraum (APR / 12), der Zahlungszeitraum, für den der Hauptanteil gewünscht wird (Period), die Gesamtzahl der Zahlungen (TotPmts), der Barwert oder der Kapitalbetrag des Darlehens (PVal), der zukünftige Wert des Darlehens (FVal), und eine Zahl, die angibt, ob die Zahlung am Anfang oder Ende des Zahlungszeitraums fällig ist (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
Hinweise
Eine Annuität ist eine Reihe von konstanten Barzahlungen, die in einem Zeitraum geleistet werden. Eine Annuität kann ein Kredit (z. B. eine Eigenheimhypothek) oder eine Investition (z. B. eine monatliche Spareinlage) sein.
Die Argumente NPer und Die Rate Argumente müssen mit Zahlungszeiträumen berechnet werden, die in denselben Einheiten angegeben sind. Wenn sie beispielsweise Rate mithilfe von Monaten berechnet wird, NPer müssen sie auch mithilfe von Monaten berechnet werden.
Bei allen Argumenten wird bargeldbezahlte Zahlungen (z. B. Einlagen zu Ersparnissen) durch negative Zahlen dargestellt; Barmittel (z. B. Dividendenprüfungen) werden durch positive Zahlen dargestellt.