ฟังก์ชัน PPmt

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

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

ไวยากรณ์

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

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

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

ข้อสังเกต

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

อาร์กิวเมนต์ 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 เพื่อคํานวณจํานวนเงินต้นของการชําระเงินสําหรับงวดที่ระบุ เมื่อการชําระเงินทั้งหมดมีมูลค่าเท่ากัน อัตราร้อยละดอกเบี้ยต่องวด (),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