ส่งกลับ สองชั้น ที่ระบุอัตราผลตอบแทนภายในสําหรับชุดข้อมูลกระแสเงินสดเป็นงวด (การชําระเงินและใบเสร็จ)
ไวยากรณ์
IRR( values () [, guess ] )
ไวยากรณ์ของฟังก์ชัน IRR มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
values () |
จำเป็น อาร์เรย์ของ Double ที่ระบุมูลค่ากระแสเงินสด อาร์เรย์ต้องมีอย่างน้อยหนึ่งค่าลบ (การชําระเงิน) และค่าบวกหนึ่งค่า (ใบเสร็จ) หนึ่งค่า |
การคาดเดา |
ไม่จำเป็น Variant ที่ระบุค่าที่คุณประเมินจะถูกส่งกลับโดย IRR ถ้าไม่ใส่ค่าอะไรไว้ guess คือ 0.1 (10 เปอร์เซ็นต์) |
ข้อสังเกต
อัตราผลตอบแทนภายในคืออัตราดอกเบี้ยที่ได้รับสําหรับการลงทุน ซึ่งประกอบด้วยการชําระเงินและใบเสร็จรับเงินที่เกิดขึ้นในช่วงเวลาที่สม่ําเสมอ
ฟังก์ชัน IRR จะใช้ลําดับของค่าภายในอาร์เรย์เพื่อแปลลําดับการชําระเงินและใบเสร็จรับเงิน ตรวจสอบให้แน่ใจว่าได้ใส่ค่าการชําระเงินและใบเสร็จของคุณตามลําดับที่ถูกต้อง กระแสเงินสดสําหรับแต่ละงวดไม่จําเป็นต้องคงที่ เนื่องจากเป็นเงินรายปี
IRR จะคํานวณโดยการคํานวณซ้ํา เริ่มต้นด้วยค่า guessIRR จะคํานวณไปเรื่อยๆ จนกว่าผลลัพธ์จะถูกต้องภายใน 0.00001 เปอร์เซ็นต์ หาก IRR ไม่พบผลลัพธ์หลังจากพยายาม 20 ครั้ง จะล้มเหลว
ตัวอย่าง
หมายเหตุ: ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงสําหรับนักพัฒนา ในรายการดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ในตัวอย่างนี้ ฟังก์ชัน IRR จะส่งกลับอัตราผลตอบแทนภายในสําหรับชุดข้อมูลกระแสเงินสด 5 ชุดที่อยู่ในอาร์เรย์ Values() องค์ประกอบอาร์เรย์แรกเป็นกระแสเงินสดที่เป็นค่าลบซึ่งแสดงถึงต้นทุนเริ่มต้นทางธุรกิจ กระแสเงินสดที่เหลือ 4 รายการแสดงถึงกระแสเงินสดที่เป็นบวกสําหรับ 4 ปีต่อมา Guess คืออัตราผลตอบแทนภายในโดยประมาณ
Dim Guess, Fmt, RetRate, Msg
Static Values(5) As Double ' Set up array. Guess = .1 ' Guess starts at 10 percent. Fmt = "#0.00" ' Define percentage format. 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 internal rate. RetRate = IRR(Values(), Guess) * 100 Msg = "The internal rate of return for these " & _ "five cash flows is " Msg = Msg & Format(RetRate, Fmt) & " percent." MsgBox Msg ' Display internal return rate.