如何在Excel公式中创建数组?

时间:2018-02-12 19:19:51

标签: excel excel-formula

我想计算IRR,其中我有3个连续输入:初始值,一系列付款,最终值。支付数量是可变的,因此,我想在IRR可以作为输入的公式中创建一个动态数组。我在下面写了一个公式,但结果出乎意料:

Data:
A
-----
1  -15
2   10
3   10
4   10
5    5

{=IF( ROW(1:5)=1 , IF(ROW(1:1),$A$1,"") , IF(ROW(1:4)<4,$A$2:$A$4,$A$5))}


This should result in {-15,10,10,10,5}
However, this results in {-15,10,10,5,#N/A}

这里有什么问题?或者有更简单/更好的方式吗?

1 个答案:

答案 0 :(得分:1)

对于您的公式,rows()必须相同:

=IF(ROW(1:5)=1 , $A$1, IF(ROW(1:5)<=4,$A$2,$A$5))

enter image description here

为了使支付的数量是动态的,请尝试以下数组公式:

=IRR(IF(ROW(INDEX(AAA:AAA,1):INDEX(AAA:AAA,B4+2))=1,B2,IF(ROW(INDEX(AAA:AAA,1):INDEX(AAA:AAA,B4+2))<B4+2,B3,B5)))

作为数组公式,需要在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter来确认。如果操作正确,那么Excel会将{}放在公式周围。

enter image description here