Funzione PPmt

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Restituisce un valore Double che specifica il pagamento principale per un determinato periodo di un'annualità basata su pagamenti periodici fissi e su un tasso di interesse fisso.

Sintassi

PPmt(tasso_int; periodi; periodi; val_attuale [; val_futuro ] [, tipo ] )

La sintassi della funzione PPmt ha gli argomenti seguenti:

Argomento Descrizione
Tasso Obbligatorio. Valore Double che specifica il tasso di interesse per periodo. Ad esempio, se si ottiene un prestito per l'auto a un tasso percentuale annuo del 10% e si effettuano pagamenti mensili, il tasso di interesse per periodo è 0,1/12 o 0,0083.
per Obbligatorio. Intero che specifica il periodo di pagamento nell'intervallo da 1 a periodi.
periodi Obbligatorio. Intero che specifica il numero totale di periodi di pagamento nell'annualità. Ad esempio, se si effettuano pagamenti mensili per un prestito quadriennale per l'auto, il prestito avrà un totale di 4 * 12 (o 48) periodi di pagamento.
Pv Obbligatorio. Valore Double che specifica il valore attuale di una serie di pagamenti o incassi futuri. Ad esempio, quando si prende in prestito del denaro per acquistare un'auto, l'importo del prestito è il valore attuale per il prestatore dei pagamenti mensili dell'auto da effettuare.
val_futuro Facoltativo. Variante che specifica il valore futuro o il saldo in contanti da conseguire dopo l'ultimo pagamento. Ad esempio, il valore futuro di un prestito è € 0 poiché è il valore dopo l'ultimo pagamento. Se invece si vogliono risparmiare € 50.000 in 18 anni per l'istruzione dei figli, il valore futuro è € 50.000. Se omesso, viene usato il valore 0.
tipo Facoltativo. Variante che specifica le scadenze dei pagamenti. Usare 0 se la scadenza dei pagamenti è alla fine del periodo di pagamento oppure 1 se è all'inizio del periodo. Se omesso, viene usato il valore 0.

Osservazioni

Un'annualità è una serie di pagamenti fissi in contanti effettuati in un periodo di tempo. Può essere un prestito (ad esempio un mutuo per la casa) o un investimento (ad esempio un piano di risparmio mensile).

Gli argomenti tasso_int e periodi devono essere calcolati usando periodi di pagamento espressi nelle stesse unità. Ad esempio, se tasso_int viene calcolato con mesi, anche periodi deve essere calcolato con mesi.

In tutti gli argomenti, gli esborsi in contanti, come i depositi versati su un conto di risparmio, sono rappresentati da numeri negativi, mentre le somme in contanti incassate, come i dividendi, sono rappresentate da numeri positivi.

Esempio di query

Espressione Risultati
SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; Restituisce tutti i campi della tabella "FinancialSample", calcola l'importo principale pagato in "per"(10 in questo esempio)di "LoanAmount" in base a "AnnualRate" e "TermInYears" e visualizza i risultati nella colonna INTPaid.

Esempio di VBA

Nota

Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.

Questo esempio usa la funzione PPmt per calcolare quanto di un pagamento per un periodo specifico è capitale quando tutti i pagamenti sono di uguale valore. Dati sono il tasso di interesse percentuale per periodo (APR / 12), il periodo di pagamento per il quale si desidera la parte principale (Period), il numero totale di pagamenti (TotPmts), il valore attuale o il capitale del prestito (PVal), il valore futuro del prestito (FVal) e un numero che indica se il pagamento è dovuto all'inizio o alla fine del periodo di pagamento (PayType).

Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment, Msg, MakeChart, Period, P, I
Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
NL = Chr(13) & Chr(10)    ' Define newline.
TB = Chr(9)    ' Define tab.
Fmt = "###,###,##0.00"    ' Define money format.
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.
TotPmts = InputBox("How many monthly payments do you have to make?")
PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
Payment = 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?"
MakeChart = MsgBox(Msg, vbYesNo)    ' See if chart is desired.
If MakeChart <> vbNo Then
    If TotPmts > 12 Then MsgBox "Only first year will be shown."
    Msg = "Month  Payment  Principal  Interest" & NL
    For Period = 1 To TotPmts
        If Period > 12 Then Exit For    ' Show only first 12.
        P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
        P = (Int((P + .005) * 100) / 100)    ' Round principal.
        I = Payment - P
        I = (Int((I + .005) * 100) / 100)    ' Round interest.
        Msg = Msg & Period & TB & Format(Payment, Fmt)
        Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
    Next Period
    MsgBox Msg    ' Display amortization table.
End If