Share via


Funzione IPmt

Aggiornamento: novembre 2007

Restituisce un valore Double che specifica il valore degli interessi per un periodo specifico di una rendita basata su pagamenti periodici costanti e su un tasso di interesse fisso.

Function IPmt( _
   ByVal Rate As Double, _
   ByVal Per As Double, _
   ByVal NPer 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.

  • Per
    Obbligatorio. Valore Double che specifica il periodo di pagamento nell'intervallo compreso tra 1 e NPer.

  • NPer
    Obbligatorio. Valore Double che specifica il numero totale di periodi di pagamento della rendita. Nel caso di un prestito di durata complessiva di 4 anni da restituire con rate mensili, il numero totale dei periodi di pagamento sarà 4 x 12 = 48.

  • 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

Per <= 0 o > NPer

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 nel tempo. Può trattarsi di un prestito, ad esempio un mutuo fondiario, oppure di un investimento, ad esempio un programma di risparmio mensile.

Gli argomenti Rate e NPer devono essere calcolati utilizzando periodi di pagamento espressi nelle stesse unità di misura. Se ad esempio Rate viene calcolato su base mensile, anche NPer dovrà essere calcolato in mesi.

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 IPmt viene utilizzata per calcolare il valore degli interessi inclusi in un pagamento quando tutti i pagamenti sono di pari importo. Vengono specificati il tasso di interesse per periodo (APR / 12), il periodo di pagamento per cui si desidera determinare la quota di interessi (Period), il numero totale di rate (TotPmts), il valore attuale o il capitale del prestito (PVal), 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 TestIPMT()
    Dim APR, PVal, Period, IntPmt, TotInt, TotPmts As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' Usually 0 for a loan.
    Dim Fval As Double = 0
    ' Define money format.
    Dim Fmt As String = "###,###,##0.00"
    PVal = CDbl(InputBox("How much do you want to borrow?"))
    APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
    If APR > 1 Then APR = APR / 100 ' Ensure proper form.
    TotPmts = CInt(InputBox("How many monthly payments?"))
    Response = MsgBox("Do you make payments at end of the month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    For Period = 1 To TotPmts   ' Total all interest.
        IntPmt = IPmt(APR / 12, Period, TotPmts, -PVal, Fval, PayType)
        TotInt = TotInt + IntPmt
    Next Period

    ' Display results.
    MsgBox("You will pay a total of " & Format(TotInt, Fmt) & _
        " in interest for this 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