8

我使用的 XIRR 公式如下:

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

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

我的第一次尝试:

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

导致#VALUE

我尝试使用 CHOOSE 函数来执行此操作,如下所示:

=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))

谢谢你的帮助。

4

2 回答 2

9

我弄清楚了这是如何工作的,并认为我会与遇到此问题的任何人分享。

诀窍是 FREQUENCY 函数返回一个比输入数组多一个元素的数组。我将在此处省略对该函数的全部解释,因为帮助文件做得很好,但由于在本例中实现它,它返回一个类似 {0;0;0;1} 的数组。当执行 1-{} 操作时,我们得到了数组 {1;1;1;0}。

该数组现在与一个值数组(连续单元格)一起输入到 IF 函数,以评估等于 1 的元素(在上面的数组中)和一个值(异常值单元格)以评估元素等于为 0。因此,生成用作 XIRR 公式输入的所需数组。

注意: FREQUENCY 函数不必使用值数组之一作为输入。它只需要一个比所需输出数组小一个元素的数值数组。您可以在充满 0 的一侧创建一个隐藏列,并在整个工作表中根据需要重复使用它。如果使用 0,则 FREQUENCY 函数中的第一个值可以是任何大于 0 的值。例如,1 使其易于阅读。9^9 被用作任意大的值。

您可以重复此过程以从整个工作表中构建一个离散单元阵列。

于 2015-09-29T20:12:31.923 回答
8

您可以尝试类似的方法:

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

于 2014-01-05T10:47:29.787 回答