|
PPmt Function
VBA Function, ส่งออกค่าเป็นประเภทข้อมูล Double ที่ระบุจำนวนเงินจ่ายในแต่ละงวดที่ต้องการทราบ
โดยมีงวดการจ่ายสม่ำเสมอ การจ่ายคงที่ และอัตราดอกเบี้ยคงที่
ไวยากรณ์
Pmt(rate, nper, pv [,fv [,type]] )
อากิวเมนต์ของฟังก์ชัน Pmt มีความหมาย คือ
ส่วน |
รายละเอียด |
rate |
บังคับ, เป็นประเภทข้อมูล Double, ระบุอัตราดอกเบี้ยต่องวด
เช่น การกู้เงินซื้อรถยนต์ที่อัตราดอกเบี้ย 10% ต่อปี และงวดการจ่ายเป็นรายเดือน
อัตราดอกเบี้ยต่อเดือน คือ 0.1/12 หรือ 0.0083 |
per |
บังคับ, เป็นประเภทข้อมูล Double, ระบุงวดการจ่าย ซึ่งอยู่ในช่วง 1 ถึง nper |
nper |
บังคับ, เป็นประเภทข้อมูล Integer, ระบุจำนวนงวดการจ่ายทั้งหมด
เช่น การจ่ายเงินกู้รายเดือนของเงินกู้ 4 ปี จำนวนงวดทั้งหมด คือ 4 *
12 (หรือ 48) งวดการจ่าย |
pv |
ไม่บังคับ, เป็นประเภทข้อมูล Variant, มูลค่าปัจจุบัน
(หรือเงินรวมทั้งหมด) ของชุดการจ่ายสำหรับมูลค่าอนาคต เช่น การยืมเงินเพื่อซื้อรถยนต์
เงินกู้ คือ มูลค่าปัจจุบันที่ผู้กู้ต้องจ่ายเป็นรายเดือน ถ้าไม่กำหนด
จะใช้ค่าเป็น 0 |
fv |
ไม่บังคับ, เป็นประเภทข้อมูล Double, ระบุมูลค่าในอนาคต หรือจำนวนสดคงเหลือเมื่อสิ้นสุดงวดการจ่าย เช่น ต้องการฝากเงินออมเพื่อห้ได้ ฿50,000 ในระยะเวลา 18 เดือน เงินจำนวน ฿50,000 คือ มูลค่าอนาคต ถ้าไม่กำหนด จะใช้ค่าเป็น 0 |
type |
ไม่บังคับ, เป็นประเภทข้อมูล Variant, ระบุกำหนดการจ่าย ใช้ 0 ถ้ากำหนดชำระเป็นสิ้นงวด หรือ 1 ถ้ากำหนดชำระเป็นต้นงวด ถ้าไม่กำหนด
จะใช้ค่าเป็น 0 |
ลักษณะการประยุกต์
งวดการจ่ายเป็นชุดการจ่ายที่คงที่ตลอดระยะเวลาทั้งหมด การจ่ายสามารถเป็นการชำระเงินกู้
( เช่น ค่างวดเงินกู้ซ้อบ้าน) หรือการลงทุน ( เช่น การฝากเงินออมเป็นรายเดือน)
อากิวเมนต์ rate และ nper ต้องมีหน่วยเป็นหน่วยเดียวกัน เช่น rate คำนวณเป็นอัตราต่อเดือน
nper จะต้องเป็นรายเดือนด้วย
อากิวเมนต์ทั้งหมด เงินสดจ่ายออก ( เช่น การฝากเงินออม) ให้เป็นค่าลบ เงินสดรับเข้า
( เช่น เงินปันผล) ให้เป็นบวก
ดูเพิ่มเติม
ฟังก์ชัน DDB, ฟังก์ชัน
FV, ฟังก์ชัน IPMT, ฟังก์ชัน
IRR, ฟังก์ชัน MIRR, ฟังก์ชัน
NPer, ฟังก์ชัน NPV, ฟังก์ชัน
Pmt, ฟังก์ชัน PV, ฟังก์ชัน
Rate, ฟังก์ชัน SLN, ฟังก์ชัน
SYD
ตัวอย่าง
ตัวอย่างการใช้ฟังก์ชัน PPmt ในการคำนวณการเงินต้นในงวดที่ต้องการทราบโดยการจ่ายทุกงวดเท่ากัน
โดยให้กำหนดอัตราดอกเบี้ยเป็นงวด (APR / 12), งวดที่ต้องทราบการจ่ายเงินต้น
(Period), จำนวนงวดการจ่ายทั้งหมด (TotPmts), มูลค่าปัจจุบันของการลงทุน
(PVal), มูลค่าเงินกู้ในอนาคต (FVal), และตัวเลขที่ระบุกำหนดการจ่าย (PayType)
Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment
DIM Msg, MakeChart, Period, P, I
' เมื่อมีการจ่าย
Const ENDPERIOD = 0, BEGINPERIOD = 1
' กำหนดแถวใหม่
NL = Chr(13) & Chr(10)
' กำหนดแท๊บ
TB = Chr(9)
' กำหนดรูปแบบการเงิน
Fmt = "###,###,##0.00"
' ค่า FV ของเงินกู้มักจะกำหนดเป็น 0
FVal = 0
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
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)
If MakeChart <> vbNo Then
If TotPmts > 12 Then
MsgBox "Only first year will be shown."
Msg = "Month Payment Principal Interest"
& NL
Else
For Period = 1 To TotPmts
' แสดงเฉพาะ 12 ค่าแรก
If Period > 12 Then Exit For
P = PPmt(APR / 12, Period, TotPmts,
-PVal, FVal, PayType)
' ปรับค่าเงินต้น
P = (Int((P + .005) * 100) / 100)
I = Payment - P
' ปรับค่าดอกเบี้ย
I = (Int((I + .005) * 100) / 100)
Msg = Msg & Period & TB &
Format(Payment, Fmt)
Msg = Msg & TB & Format(P,
Fmt) & TB & Format(I, Fmt) & NL
Next Period
' แสดงตาราง
MsgBox Msg
End If
End If
|
|