Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Methode

Definition

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.

Gilt für:

Weitere Informationen