数组作为单元格公式参数

时间:2018-09-15 15:06:29

标签: excel excel-formula libreoffice openoffice.org openoffice-calc

我需要在LibreOffice Calc中计算多项式系数以适合数据点。 X和Y值在单元格A2:...和B2:...中,数据大小在单元格D1中,多项式在单元格D2中。效果很好:

=TRANSPOSE(LINEST(OFFSET($B$2;0;0;$D$1;1);OFFSET($A$2;0;0;$D$1;1)^{1;2;3}))

我需要将数组1:$D$2动态传递给该公式,而不是{1;2;3}。我尝试使用Excel帮助中的示例:

ROW(INDIRECT("1:" & $D$2))

,但是会给出值错误。如何在数组中获得此序列?

第二个问题:如果我能够这样做,如何获得降序{3;2;1;0}

1 个答案:

答案 0 :(得分:3)

这是由于ROW生成了一个垂直数组,而您需要一个水平数组。

这样,使用:

TRANSPOSE(ROW(INDIRECT("1:"&$D$2)))

由于INDIRECTOFFSET都是 volatile 函数,因此我个人更希望:

=TRANSPOSE(LINEST($B$2:INDEX($B2:$B1048576,$D$1),$A$2:INDEX($A2:$A1048576,$D$1)^TRANSPOSE(ROW(INDEX(A:A,1):INDEX(A:A,$D$2)))))

致谢