Online Reference

Home

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

NPV Function

VBA Function, ส่งออกค่าเป็นประเภทข้อมูล Double ของมูลค่าปัจจุบันสุทธิของการลงทุนที่ขึ้นกับงวดการจ่ายสม่ำเสมอ การจ่ายคงที่ และอัตราดอกเบี้ยคงที่

ไวยากรณ์

NPV(rate, value() )

อากิวเมนต์ของฟังก์ชัน NPV มีความหมาย คือ

ส่วน รายละเอียด
rate บังคับ, เป็นประเภทข้อมูล Double, ระบุอัตราดอกเบี้ยส่วนลดตลอดช่วงการลงทุน แสดงค่าเป็นเลขทศนิยม
value บังคับ, เป็น array ของประเภทข้อมูล Double, ระบุมูลค่าของกระแสเงิน โดย array ต้องเก็บค่าอย่างน้อยเป็นค่าลบ 1 ค่า (รายจ่าย) และค่าบวก 1 ค่า (รายรับ)

ลักษณะการประยุกต์

มูลค่าปัจจุบันสุทธิของการลงทุนเป็นกระแสของมูลค่าในของรายจ่ายและรายรับในอนาคต

ฟังก์ชัน NPV ใช้ลำดับของ value ภายใน array ในการแปรความหมายลำดับของรายจ่ายและรายรับ ดังนั้นจึงต้องมั่นใจว่ารายจ่ายและรายรับอยู่ในลำดับที่ถูกต้อง

ฟังก์ชัน NPV ให้การลงทุนเริ่มต้นก่อนเกิดกระแสเงินสดครั้งแรกและสิ้นสุดที่สิ้นงวดสุดท้ายของกระแสเงินสดใน array

ถ้ามูลค่าปัจจุบันสุทธิคำนวณบนพื้นฐานของกระแสเงินสดในอนาคต ถ้ากระแสเงินสดแรกเกิดขึ้นที่ต้นงวด กระแสเงินสดจะนำไปรวมเป็นค่าที่ส่งออกของฟังก์ชัน NPV และไม่นำไปรวมกับกระแสเงินสดของ value

ฟังก์ชัน NPV คล้ายกับฟังก์ชัน PV แต่มีข้อแตกต่างที่สำคัญระหว่าง NPV และ PV คือ PV ยอมให้กระแสเงินสดที่งวดเริ่มสามารถกำหนดที่ต้นงวดหรือปลายงวด และตัวแปร value ของ PV ต้องคงที่ตลอดการลงทุน ในขณะที่ NPV ไม่จำเป็น

ดูเพิ่มเติม

ฟังก์ชัน DDB, ฟังก์ชัน FV, ฟังก์ชัน IPMT, ฟังก์ชัน IRR, ฟังก์ชัน MIRR, ฟังก์ชัน NPer, ฟังก์ชัน Pmt, ฟังก์ชัน PPmt, ฟังก์ชัน PV, ฟังก์ชัน Rate, ฟังก์ชัน SLN, ฟังก์ชัน SYD

ตัวอย่าง

ตัวอย่างการใช้ฟังก์ชัน NPV ในการส่งออกค่ามูลค่าปัจจุบันสุทธิสำหรับกระแสเงินสดที่เก็บใน array ชื่อ Values() ส่วน RetRate แสดงค่าอัตราผลตอบแทนภายในคงที่

Dim Fmt, Guess, RetRate, NetPVal, Msg
Static Values(5) As Double ' กำหนด array

' กำหนดรูปแบบการเงิน
Fmt = "###,##0.00"
' guess เริมต้นที่ 10%
Guess = .1
' กำหนดอัตราผลตอบแทนภายในคงที่
RetRate = .0625
' ค่าใช้จ่ายในจัดตั้งธุรกิจ
Values(0) = -70000

' กระแสเงินสดเป็นบวกแสดงรายรับ 4 ปีในการทำธุรกิจ
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
' การคำนวณผลตอบแทนภายในสุทธิ
NetPVal = NPV(RetRate, Values())

Msg = "The net present value of these cash flows is "
Msg = Msg & Format(NetPVal, Fmt) & "."
' แสดงค่าผลตอบแทนภายในสุทธิ
MsgBox Msg