Share via


Funzione NPer

Aggiornamento: novembre 2007

Restituisce un valore Double che specifica il numero di periodi di una rendita basata su pagamenti periodici costanti e su un tasso di interesse fisso.

Function NPer( _
   ByVal Rate As Double, _
   ByVal Pmt As Double, _
   ByVal PV As Double, _
   Optional ByVal FV As Double = 0, _
   Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double

Parametri

  • Rate
    Obbligatorio. Valore Double che specifica il tasso di interesse per periodo. Nel caso di un prestito con tasso di interesse annuo del 10% da restituire con rate mensili, il tasso per periodo sarà 0,1/12 ovvero 0,0083.

  • Pmt
    Obbligatorio. Valore Double che specifica la rata da pagare per ciascun periodo. Le rate sono in genere costituite da un capitale e da un interesse che rimangono invariati per tutta la durata del periodo dei pagamenti.

  • PV
    Obbligatorio. Valore Double che specifica il valore attuale di una serie di entrate o uscite future. L'importo di un prestito corrisponde al valore attuale delle rate mensili che verranno pagate.

  • FV
    Facoltativo. Valore Double che specifica il valore futuro o il saldo in contanti richiesto dopo il pagamento finale. Nel caso di un prestito, il valore futuro sarà 0, a indicare che tutti i pagamenti sono stati effettuati. Nel caso di un programma di risparmio, il valore futuro corrisponderà all'importo che si è deciso di accantonare per il periodo specificato. Se l'argomento viene omesso, verrà utilizzato il valore 0.

  • Due
    Facoltativo. Oggetto di tipo Enumerazione DueDate in cui viene indicata la scadenza delle rate. Utilizzare DueDate.EndOfPeriod se le rate sono in scadenza al termine del periodo, DueDate.BegOfPeriod se le rate sono in scadenza all'inizio del periodo. Se l'argomento viene omesso, verrà utilizzato il valore DueDate.EndOfPeriod.

Eccezioni

Tipo di eccezione

Numero di errore

Condizione

ArgumentException

5

Rate <= -1.

ArgumentException

5

Rate = 0 e Pmt = 0

Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". È possibile confrontare il numero di errore con la Proprietà Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.

Note

Una rendita consiste in una serie di pagamenti costanti effettuati in un determinato periodo di tempo. Può trattarsi di un prestito, ad esempio un mutuo fondiario, oppure di un investimento, ad esempio un programma di risparmio mensile.

Per tutti gli argomenti, le uscite (ad esempio i depositi per risparmi) vengono indicate con numeri negativi e le entrate (ad esempio gli interessi attivi) con numeri positivi.

Esempio

Nell'esempio riportato di seguito la funzione NPer viene utilizzata per restituire il numero di periodi in cui devono essere effettuati i pagamenti per estinguere un prestito il cui valore è contenuto in PVal. Vengono inoltre specificati il tasso di interesse per periodo (APR / 12), la rata (Payment), il valore futuro del prestito (FVal) e un numero che indica se le rate sono in scadenza all'inizio o al termine del periodo (PayType).

Sub TestNPer()
    Dim TotPmts As Double
    Dim PVal, APR, Payment As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' 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?"))
    ' Usually 0 for a loan.
    If APR > 1 Then APR = APR / 100
    Payment = CDbl(InputBox("How much do you want to pay each month?"))
    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
    TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
    If Int(TotPmts) <> TotPmts Then TotPmts = Int(TotPmts) + 1

    MsgBox("It will take you " & TotPmts & " months to pay off your loan.")
End Sub

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

**Modulo:**Financial

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Vedere anche

Riferimenti

Riepilogo degli elementi finanziari

ArgumentException