用excel计算内部收益率计算结果出现#DIV⼀0怎么办

2025-03-18 11:58:13
推荐回答(3个)
回答1:

#DIV/0错误值
该错误值一般是由公式的运算产生,假设提问的数据是通过原公式产生:
原公式:
=A1/B1

现修改为:
=IF(COUNT(A1/B1),A1/B1,"")

或:
=IF(ISNUMBER(A1/B1),A1/B1,"")

再或:
=IF(ISERR(A1/B1),"",A1/B1)

如果用的是EXCEL 2003以上的版本,公式精简些:
=IFERROR(A1/B1,"")

回答2:

正数表示现金流入,负数表示流出,第一个周期流入这么多,然后流出,是不是有些问题?

回答3:

典型的IRR函数报错(#NUM!和#DIV/0等),在保证公式绝对正确的前提下,这个错误是由于IRR函数本身缺陷造成的。IRR的结果是没办法用方程算出来的,只能是用电脑“找”出来。大概的方法是,先估算一个值,再用这个利率和现金流计算npv,然后不断修改这个估算值,使得npv不断接近于零。但IRR公式迭代次数是有限的,现金流越复杂,IRR函数就越难直接得出结果

说重点,这个解决方法还是有的。关键在于IRR函数还有一个隐含参数:Guess

语法:=IRR(values, [guess])

[]代表此参数可省略。Guess函数代表用户对IRR结果的一个预估值。当IRR函数算不出结果时,你可以尝试输入不同的Guess,帮助函数找一个更适用的初始估算值,与实际结果越接近的Guess就越容易得出结果。只要多试几个Guess,很快就能算出结果的。

例如:我看题目里的项目,估计IRR是正的,大概不超过50%,那我就按顺序试:

=IRR(数据域, 0.3)

=IRR(数据域, 0.5)

=IRR(数据域, 0)

=IRR(数据域, -0.5)

.......

直到试出结果为止。guess都是我自己随便填的,一个数不行就换另一个数。

以上。

参考1:我的知乎回答里有详细的IRR使用教程:

网页链接

参考2:微软IRR函数使用手册

网页链接