ส่งกลับ สองชั้น ที่ระบุอัตราผลตอบแทนภายในสําหรับชุดข้อมูลกระแสเงินสดเป็นงวด (การชําระเงินและใบเสร็จ)
ไวยากรณ์
IRR(values () [, guess ] )
ไวยากรณ์ของฟังก์ชัน IRR มีอาร์กิวเมนต์ดังนี้
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
| ค่า () | จำเป็น อาร์เรย์ของ 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.