ส่งกลับ สองชั้น ที่ระบุมูลค่าปัจจุบันสุทธิของการลงทุนโดยยึดตามชุดข้อมูลกระแสเงินสดเป็นงวด (การชําระเงินและใบเสร็จ) และอัตราส่วนลด
ไวยากรณ์
NPV( rate, values ())
ไวยากรณ์ของฟังก์ชัน NPV มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
อัตรา |
จำเป็น Double ที่ระบุอัตราส่วนลดตลอดระยะเวลาซึ่งแสดงเป็นทศนิยม |
values () |
จำเป็น อาร์เรย์ของ 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