Gibt einen Double-Wert zurück, der die Anzahl der Perioden für eine Annuität basierend auf regelmäßigen, festen Zahlungen und einem festen Zinssatz angibt.
Syntax
NPer ( rate, pmt, pv [, fv ] [, type ] )
Die Syntax der Funktion NPer weist die folgenden Argumente auf:
Argument |
Beschreibung |
rate |
Erforderlich. Double-Wert, der den Zinssatz pro Zeitraum angibt. 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. |
pmt |
Erforderlich. Double-Wert, der die pro Zeitraum zu leistende Zahlung angibt. Die Zahlungen enthalten in der Regel Kreditsumme und Zinsen und ändern sich während der Laufzeit einer Annuität nicht. |
BW |
Erforderlich. Double-Wert, der den Barwert, also den heutigen Wert, einer Reihe zukünftiger Zahlungen oder Geldeingänge angibt. 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. |
ZW |
Optional. Variant-Wert, der den Endwert (future value) oder Kontostand angibt, der nach der letzten Zahlung erreicht sein soll. Der Endwert eines Kredits ist z. B. 0 Euro, da dies sein Wert 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. Fehlt dieses Argument, wird 0 angenommen. |
type |
Optional. Variant-Wert, der angibt, wann Zahlungen fällig sind. Verwenden Sie 0, wenn die Zahlungen am Ende des Zahlungszeitraums fällig sind, oder verwenden Sie 1, wenn die Zahlungen am Anfang des Zeitraums fällig sind. Fehlt dieses Argument, wird 0 angenommen. |
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.
Für alle Argumente gilt, dass Geldbeträge, die ausgezahlt werden (etwa Spareinlagen), durch negative Zahlen und Geldbeträge, die eingenommen werden (etwa Dividenden), durch positive Zahlen dargestellt werden.
Abfragebeispiel
Ausdruck |
Ergebnisse |
SELECT FinancialSample.*, INT(NPER([AnnualRate]/12,-[MonthlyRePayment],[LoanAmount],0,0)) AS MonthsRequired FROM FinancialSample; |
Gibt alle Felder aus der Tabelle "FinancialSample" zurück, berechnet die Anzahl der Zeiträume (in diesem Beispiel Monate), die für die Zahlung von "LoanAmount" auf Grundlage von "AnnualRate" und "MonthlyRePayment" erforderlich sind, und zeigt die Ergebnisse in der Spalte MonthsRequired an. Die INT-Funktion wird verwendet, um die "Double"-Datenausgabe in einen Ganzzahlwert zu konvertieren. |
VBA-Beispiel
Hinweis: Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.
In diesem Beispiel wird die NPer-Funktion verwendet, um die Anzahl der Perioden zurückzugeben, in denen Zahlungen zur Auszahlung eines Darlehens erfolgen müssen, dessen Wert in PValenthalten ist. Darüber hinaus sind der Zinsprozentsatz pro Zeitraum (APR / 12), die Zahlung (Payment), der zukünftige Wert des Darlehens (FVal) und eine Zahl angegeben, die angibt, ob die Zahlung zu Beginn oder Ende des Zahlungszeitraums fällig ist (PayType).
Dim FVal, PVal, APR, Payment, PayType, TotPmts
' When payments are made. Const ENDPERIOD = 0, BEGINPERIOD = 1 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. Payment = InputBox("How much do you " & _ "want to pay each month?") PayType = MsgBox("Do you make payments " & _ "at the end of month?", vbYesNo) If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD End If TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType) If Int(TotPmts) <> TotPmts Then TotPmts = Int(TotPmts) + 1 End If MsgBox "It will take you " & TotPmts & _ " months to pay off your loan."