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 bei regelmäßigen, konstanten Zahlungen und einem konstanten 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
Erforderlich. Der Zinssatz pro Zeitraum. Wenn Sie beispielsweise einen Kredit für ein Auto mit einem Jahreszins von 10 Prozent aufnehmen und monatliche Zahlungen vereinbart haben, beträgt der Zinssatz pro Zeitraum 0,1 dividiert durch 12 oder 0,0083.
- Per
- Double
Erforderlich. Der Zahlungszeitraum im Bereich von 1 bis NPer
.
- NPer
- Double
Erforderlich. Die Gesamtzahl der Zahlungszeiträume für die Annuität. Wenn Sie beispielsweise monatliche Zahlungen für einen Autokredit mit vierjähriger Laufzeit vereinbart haben, beträgt die Summe der Zahlungszeiträume für den Kredit 4 x 12 (oder 48).
- PV
- Double
Erforderlich. Der aktuelle Wert einer Folge zukünftiger Einnahmen oder Ausgaben. Wenn Sie beispielsweise einen Kredit für einen Autokauf aufnehmen, stellt die Kredithöhe für den Kreditgeber den Barwert der von Ihnen zu leistenden monatlichen Zahlungen dar.
- FV
- Double
Dies ist optional. Der zukünftige Wert oder Kassenbestand, der nach der letzten Zahlung erreicht sein soll. Der Endwert eines Kredits ist z. B. 0 Euro, da dies die Kredithöhe nach der letzten Zahlung ist. Wenn Sie jedoch für die Ausbildung Ihrer Kinder 50.000 Euro in 18 Jahren ansparen möchten, entspricht der Endwert 50.000 Euro. Wenn der Wert nicht angegeben wird, wird 0 angenommen.
- Due
- DueDate
Dies ist optional. Ein Objekt vom Typ DueDate, das den Fälligkeitszeitpunkt einer Zahlung angibt. Dieses Argument muss entweder DueDate.EndOfPeriod
sein, wenn die Zahlungen am Ende des Zahlungszeitraums fällig sind, oder DueDate.BegOfPeriod
, wenn die Zahlungen zu Beginn des Zeitraums fällig sind. Wenn die Werte nicht angegeben werden, wird DueDate.EndOfPeriod
angenommen.
Gibt zurück
Die Hauptzahlung für einen bestimmten Zeitraum einer Annuität bei regelmäßigen, konstanten Zahlungen und einem konstanten 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 den gleichen Wert aufweisen. Angegeben sind der 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 (PayType
) fällig ist.
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 festen Barzahlungen, die über einen bestimmten Zeitraum geleistet werden. Eine Annuität kann ein Darlehen (z. B. eine Haushypothek) oder eine Investition (z. B. ein monatlicher Sparplan) sein.
Die Rate
Argumente und NPer
müssen anhand von Zahlungsfristen berechnet werden, die in denselben Einheiten ausgedrückt werden. Wenn z. B Rate
. mit Monaten berechnet wird, NPer
muss auch mithilfe von Monaten berechnet werden.
Bei allen Argumenten wird das bezahlte Bargeld (z. B. Einlagen auf Sparguthaben) durch negative Zahlen dargestellt; Empfangene Mittel (z. B. Dividendenprüfungen) werden durch positive Zahlen dargestellt.