ฟังก์ชัน PPmt

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ส่งกลับ สองชั้น ที่ระบุการชําระเงินต้นสําหรับงวดที่กําหนดของเงินรายปีโดยยึดตามการชําระเงินเป็นงวด การชําระเงินคงที่ และอัตราดอกเบี้ยคงที่

ไวยากรณ์

PPmt(rate, per,nper,pv [, fv ] [, type ] )

ไวยากรณ์ของฟังก์ชัน PPmt มีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์ คำอธิบาย
อัตรา จำเป็น Double ที่ระบุอัตราดอกเบี้ยต่องวด ตัวอย่างเช่น ถ้าคุณได้รับเงินกู้รถยนต์ในอัตราเปอร์เซ็นต์รายปี (เม.ย.) เท่ากับ 10 เปอร์เซ็นต์และผ่อนชําระรายเดือน อัตราต่องวดคือ 0.1/12 หรือ 0.0083
ต่อ จำเป็น จํานวนเต็มที่ระบุรอบระยะเวลาการชําระเงินในช่วง 1 ถึง nper
nper จำเป็น จํานวนเต็ม ที่ระบุจํานวนงวดทั้งหมดของการชําระเงินรายปี ตัวอย่างเช่น ถ้าคุณผ่อนชําระรายเดือนสําหรับเงินกู้ยืมรถยนต์ระยะเวลาสี่ปี เงินกู้ของคุณจะมียอดการชําระเงินทั้งหมด 4 * 12 (หรือ 48) งวด
Pv จำเป็น สองเท่า ที่ระบุมูลค่าปัจจุบัน หรือมูลค่าปัจจุบันของชุดข้อมูลการชําระเงินหรือใบเสร็จรับเงินในอนาคต ตัวอย่างเช่น เมื่อคุณยืมเงินเพื่อซื้อรถยนต์ จํานวนเงินกู้คือมูลค่าปัจจุบันของผู้ให้กู้ของการชําระเงินรถยนต์รายเดือนที่คุณจะต้องทํา
Fv ไม่จำเป็น Variant ที่ระบุมูลค่าในอนาคตหรือยอดดุลเงินสดที่คุณต้องการหลังจากที่คุณชําระเงินงวดสุดท้ายแล้ว ตัวอย่างเช่น มูลค่าในอนาคตของเงินกู้คือ $0 เนื่องจากเป็นค่าหลังจากการชําระเงินงวดสุดท้าย อย่างไรก็ตามหากคุณต้องการประหยัด $ 50,000 มากกว่า 18 ปีสําหรับการศึกษาของบุตรหลานของคุณแล้ว $ 50,000 คือมูลค่าในอนาคต ถ้าไม่ระบุจะถือว่าเป็นค่า 0
ชนิด ไม่จำเป็น ตัวแปร ที่ระบุวันครบกําหนดชําระเงิน ใช้ 0 ถ้าการชําระเงินครบกําหนดเมื่อสิ้นสุดระยะเวลาการชําระเงิน หรือใช้ 1 ถ้าการชําระเงินครบกําหนดเมื่อต้นรอบระยะเวลา ถ้าไม่ระบุจะถือว่าเป็นค่า 0

ข้อสังเกต

เงินรายปีคือชุดของการชําระเงินสดคงที่ในช่วงเวลาหนึ่ง เงินรายปีอาจเป็นเงินกู้ (เช่น การจํานองบ้าน) หรือเงินลงทุน (เช่น แผนการออมรายเดือน)

อาร์กิวเมนต์ rate และ nper ต้องคํานวณโดยใช้ระยะเวลาการชําระเงินที่แสดงในหน่วยเดียวกัน ตัวอย่างเช่น ถ้า rate คํานวณโดยใช้เดือน nper จะต้องคํานวณโดยใช้เดือนด้วย

สําหรับอาร์กิวเมนต์ทั้งหมด เงินสดที่จ่ายออกไป (เช่น เงินฝากเพื่อการออม) จะถูกแสดงด้วยจํานวนลบ เงินสดที่ได้รับ (เช่น เช็คเงินปันผล) จะแสดงด้วยจํานวนบวก

ตัวอย่างคิวรี

นิพจน์ ผลลัพธ์
SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; ส่งกลับเขตข้อมูลทั้งหมดจากตาราง "FinancialSample" คํานวณจํานวนเงินต้นที่ชําระใน "per"(10 ในตัวอย่างนี้) ของ "LoanAmount" โดยยึดตาม "AnnualRate" และ "TermInYears" และแสดงผลลัพธ์ในคอลัมน์ INTPaid

ตัวอย่าง VBA

หมายเหตุ

ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงสําหรับนักพัฒนา ในรายการดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา

ตัวอย่างนี้ใช้ฟังก์ชัน PPmt เพื่อคํานวณจํานวนเงินที่ต้องชําระสําหรับรอบระยะเวลาที่ระบุเป็นเงินต้นเมื่อการชําระเงินทั้งหมดมีค่าเท่ากัน Given คืออัตราเปอร์เซ็นต์ดอกเบี้ยต่องวด (APR / 12) ระยะเวลาการชําระเงินที่ส่วนของเงินต้นเป็นที่ต้องการ (Period) จํานวนรวมของการชําระเงิน (TotPmts) มูลค่าปัจจุบันหรือเงินต้นของเงินกู้ (PVal) มูลค่าในอนาคตของเงินกู้ (FVal) และตัวเลขที่ระบุว่าการชําระเงินครบกําหนดเมื่อต้นหรือสิ้นสุดระยะเวลาการชําระเงิน (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