Trả về một Double, xác định giá trị hiện tại ròng của một khoản đầu tư dựa trên một chuỗi các dòng tiền định kỳ (thanh toán và nhận hàng) và một tỷ lệ chiết khấu.
Cú pháp
NPV(rate, values () )
Cú pháp hàm NPV có các đối số sau:
| Đối số | Mô tả |
|---|---|
| Xếp hạng | Bắt buộc. Kép: xác định tỷ lệ chiết khấu trong suốt thời gian, được thể hiện dưới dạng thập phân. |
| giá trị () | Bắt buộc. Mảng Double xác định các giá trị dòng tiền. Mảng phải chứa ít nhất một giá trị âm (một khoản thanh toán) và một giá trị dương (một hóa đơn). |
Chú thích
Giá trị hiện tại ròng của một khoản đầu tư là giá trị hiện tại của một chuỗi các khoản thanh toán và thu tương lai.
Hàm NPV sử dụng trật tự của các giá trị trong mảng để diễn giải trật tự của các khoản thanh toán và hóa đơn. Hãy bảo đảm bạn nhập các giá trị thanh toán và biên lai của bạn theo đúng thứ tự.
Khoản đầu tư NPV bắt đầu một kỳ trước ngày của giá trị dòng tiền thứ nhất và kết thúc với giá trị dòng tiền cuối cùng trong mảng.
Việc tính toán giá trị hiện tại ròng dựa vào các dòng tiền tương lai. Nếu dòng tiền thứ nhất của bạn xảy ra vào đầu của kỳ thứ nhất, thì giá trị thứ nhất phải được thêm vào giá trị do NPV trả về và không được đưa vào giá trị dòng tiền của các giá trị( ).
Hàm NPV tương tự như hàm PV (giá trị hiện tại), ngoại trừ việc hàm PV cho phép các dòng tiền bắt đầu ở cuối kỳ hoặc đầu kỳ. Không giống như các giá trị dòng tiền NPV biến thiên, các dòng tiền PV phải được cố định trong toàn bộ kỳ đầu tư.
Ví dụ
Lưu ý
Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Ví dụ này dùng hàm NPV để trả về giá trị hiện tại ròng cho một chuỗi dòng tiền chứa trong mảng Values().
RetRate thể hiện tỷ suất hoàn vốn nội bộ cố định.
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