ส่งกลับ สองชั้น ที่ระบุการชําระเงินต้นสําหรับงวดที่กําหนดของเงินรายปีโดยยึดตามการชําระเงินเป็นงวด การชําระเงินคงที่ และอัตราดอกเบี้ยคงที่
ไวยากรณ์
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 จะต้องคํานวณโดยใช้เดือนด้วย
สําหรับอาร์กิวเมนต์ทั้งหมด เงินสดที่จ่ายออกไป (เช่น เงินฝากเพื่อการออม) จะถูกแสดงด้วยจํานวนลบ เงินสดที่ได้รับ (เช่น เช็คเงินปันผล) จะแสดงด้วยจํานวนบวก
ตัวอย่างคิวรี
Expression |
ผลลัพธ์ |
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