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