ส่งกลับ Double ที่ระบุมูลค่าปัจจุบันสุทธิของการลงทุนโดยยึดตามชุดข้อมูลกระแสเงินสดเป็นงวด (การชําระเงินและใบเสร็จรับเงิน) และอัตราส่วนลด
ไวยากรณ์
NPV(rate, values () )
ไวยากรณ์ของฟังก์ชัน NPV มีอาร์กิวเมนต์ดังนี้
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
| อัตรา | จำเป็น Double ระบุอัตราส่วนลดตลอดระยะเวลา แสดงเป็นทศนิยม |
| ค่า () | จำเป็น อาร์เรย์ของ Double ที่ระบุ ค่ากระแสเงินสด อาร์เรย์ต้องมีอย่างน้อยหนึ่งค่าลบ (การชําระเงิน) และค่าบวกหนึ่งค่า (ใบเสร็จ) |
ข้อสังเกต
มูลค่าปัจจุบันสุทธิของการลงทุนคือมูลค่าปัจจุบันของชุดการชําระเงินและใบเสร็จรับเงินในอนาคต
ฟังก์ชัน NPV ใช้ลําดับของค่าภายในอาร์เรย์เพื่อแปลลําดับของการชําระเงินและใบเสร็จ โปรดแน่ใจว่าคุณใส่การชําระเงินและใบเสร็จของคุณตามลําดับถูกต้อง
การลงทุน NPV จะเริ่มต้นหนึ่งงวดก่อนที่จะเกิดค่ากระแสเงินสดครั้งแรก และสิ้นสุดที่ค่ากระแสเงินสดครั้งสุดท้ายในอาร์เรย์
การคํานวณมูลค่าปัจจุบันสุทธิจะขึ้นอยู่กับกระแสเงินสดในอนาคต ถ้ากระแสเงินสดครั้งแรกของคุณเกิดขึ้นตอนต้นงวดแรก ค่าแรกจะต้องบวกกับค่าที่ NPV ส่งกลับ และต้องไม่รวมอยู่ในค่ากระแสเงินสดของ values( )
ฟังก์ชัน NPV คล้ายกับฟังก์ชัน PV (มูลค่าปัจจุบัน) ยกเว้นว่าฟังก์ชัน PV อนุญาตให้กระแสเงินสดเริ่มต้นเมื่อสิ้นสุดหรือเริ่มต้นช่วงเวลา กระแสเงินสด PV ต้องคงที่ตลอดการลงทุน ซึ่งแตกต่างจากค่ากระแสเงินสด NPV ที่ผันแปร
ตัวอย่าง
หมายเหตุ
ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ตัวอย่างนี้ใช้ฟังก์ชัน NPV เพื่อส่งกลับมูลค่าปัจจุบันสุทธิสําหรับชุดข้อมูลกระแสเงินสดที่อยู่ในอาร์เรย์Values()
RetRate แสดงอัตราผลตอบแทนภายในที่คงที่
Dim Fmt, Guess, RetRate, NetPVal, Msg
Static Values(5) As Double ' Set up array.
Fmt = "###,##0.00" ' Define money format.
Guess = .1 ' Guess starts at 10 percent.
RetRate = .0625 ' Set fixed internal rate.
Values(0) = -70000 ' Business start-up costs.
' Positive cash flows reflecting income
' for four successive years.
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
' Calculate net present value.
NetPVal = NPV(RetRate, Values())
Msg = "The net present value " & _
"of these cash flows is "
Msg = Msg & Format(NetPVal, Fmt) & "."
' Display net present value.
MsgBox Msg