在XIRR公式中的范围(系列)中包含一个不相邻的单元格

我使用XIRR公式如下:

=XIRR(E$11:E17,B$11:B17) 

但需要添加一个额外的不相邻的单元格的值和date范围。

我第一次尝试:

 =XIRR((E$11:E17,H17),(B$11:B17,B17)) 

导致#VALUE

我试图使用CHOOSEfunction做到这一点,如下所示:

 =XIRR(CHOOSE({1,2},E$11:E17,H17),CHOOSE({1,2},B$11:B17,B17)) 

但是这不能产生正确的结果。

我不知道如何将一个单元格添加到范围的末尾。 下面的工作是为了给出正确的结果,但不会为我工作,因为我需要使用范围和个人单元格,而不是所有单个单元格

 =XIRR(CHOOSE({1,2,3},E11,E12,H13),CHOOSE({1,2,3},B11,B12,B13)) 

谢谢你的帮助。

你可以尝试类似这样的事情:

=XIRR(IF(1-FREQUENCY(9^9,B11:B17),E11:E17,H17),IF(1-FREQUENCY(9^9,B11:B17),B11:B17,B17))

我想出了这是如何工作的,我认为我会分享给任何碰到过这个问题的人。

诀窍是FREQUENCY函数返回的数组比input数组多一个元素 。 在这里,我将把这个函数的全部解释放在帮助文件中,但是在这种情况下,它会返回一个像{0; 0; 0; 1}这样的数组。 当执行1- {}操作时,我们留下数组{1; 1; 1; 0}。

该数组现在被input到IF函数以及一个数值数组(连续单元格),用于计算元素等于1(在上面的数组中)和单个值(exception值单元格)为0.因此,产生所需的arrays用作XIRR公式的input。

注意:FREQUENCY函数不必使用其中一个值数组作为input。 它只需要一个比所需输出数组小一个数值的数组。 您可以创build一个隐藏的列到满的0边,并在整个表单中重复使用它。 如果使用0,则FREQUENCY函数中的第一个值可以是大于0的任何值。例如,1可以使读取变得容易。 9 ^ 9被用作一个任意大的值。

你可以重复这个过程来从整个表单中build立一个离散单元格的数组。