ส่งกลับ 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