excel - 在使用 Excel 中的自定义函数计算 IRR 时需要帮助

标签 excel vba excel-formula

我正在使用 Excel 表格来跟踪我的所有投资。为了计算我的 IRR,我需要以特定方式输入值,以便 Excel 进行计算。所以我决定创建一个自定义函数。我将为该自定义函数提供以下值。

  1. 总投资
  2. 投资时间
  3. 投资的最终值(value)。

我使用以下代码创建自定义函数。但是我得到了 #VALUE 错误

Function ROI(fundInvested, timePeriod, finalValue)
    
    eachValue = fundInvested / timePeriod
    Dim cashFlow() As Double
    Dim n As Integer
        For n = 0 To (timePeriod - 1)
            cashFlow(n) = -1 * eachValue
        Next n
    cashFlow(timePeriod) = finalValue
    ROI = IRR(cashFlow)
 
End Function

我的公式哪里错了?

最佳答案

因为你标记了它的公式:

=IRR(CHOOSE(INT((ROW($ZZ$1:INDEX($ZZ:$ZZ,B2+1))-1)/B2)+1,-1*A2/B2,C2))

根据版本的不同,这可能需要在退出编辑模式时使用 Ctrl-Shift-Enter 而不是 Enter 来确认。

enter image description here

关于excel - 在使用 Excel 中的自定义函数计算 IRR 时需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67021016/

相关文章:

excel - 生成协方差矩阵的更快方法

excel - 有没有办法查看一个单元格是否在公式中使用并用条件格式标记它

excel - VLOOKUP 在 VLOOKUP 公式中查找 table_array

python数据框到excel

excel - 公式 "IF ANY"(基本上每个一个)

excel - 来自字符串的 VBA TreeView

vba - Excel 2010 VBA 在所有打开的文件中运行

excel - 用于删除已位于另一张工作表中的重复行的 VBA 代码

excel - 如何从旧的 xls 文件中获取 VBA 代码

Excel - 查找一列,结果来自第二列