Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
VBA
Financial Function
ดาวน์โหลดคู่มือ

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