数组作为单元格公式参数
Array as cell formula parameter
我需要在 LibreOffice Calc 中计算多项式系数以拟合数据点。 X 和 Y 值位于单元格 A2:... 和 B2:... 中,数据大小位于单元格 D1 中,多项式次数位于单元格 D2 中。这很好用:
=TRANSPOSE(LINEST(OFFSET($B;0;0;$D;1);OFFSET($A;0;0;$D;1)^{1;2;3}))
我需要将数组 1:$D
而不是 {1;2;3}
动态传递给此公式。我尝试使用 Excel 帮助中的示例:
ROW(INDIRECT("1:" & $D))
但它给出了一个值错误。如何在数组中得到这个序列?
第二个问题:如果可以的话,如何得到降序{3;2;1;0}
?
这是因为 ROW
生成了一个 垂直 数组,而你需要一个 水平 数组。
因此,使用:
TRANSPOSE(ROW(INDIRECT("1:"&$D)))
由于 INDIRECT
和 OFFSET
都是 volatile 函数,我个人更喜欢:
=TRANSPOSE(LINEST($B:INDEX($B2:$B1048576,$D),$A:INDEX($A2:$A1048576,$D)^TRANSPOSE(ROW(INDEX(A:A,1):INDEX(A:A,$D)))))
此致
我需要在 LibreOffice Calc 中计算多项式系数以拟合数据点。 X 和 Y 值位于单元格 A2:... 和 B2:... 中,数据大小位于单元格 D1 中,多项式次数位于单元格 D2 中。这很好用:
=TRANSPOSE(LINEST(OFFSET($B;0;0;$D;1);OFFSET($A;0;0;$D;1)^{1;2;3}))
我需要将数组 1:$D
而不是 {1;2;3}
动态传递给此公式。我尝试使用 Excel 帮助中的示例:
ROW(INDIRECT("1:" & $D))
但它给出了一个值错误。如何在数组中得到这个序列?
第二个问题:如果可以的话,如何得到降序{3;2;1;0}
?
这是因为 ROW
生成了一个 垂直 数组,而你需要一个 水平 数组。
因此,使用:
TRANSPOSE(ROW(INDIRECT("1:"&$D)))
由于 INDIRECT
和 OFFSET
都是 volatile 函数,我个人更喜欢:
=TRANSPOSE(LINEST($B:INDEX($B2:$B1048576,$D),$A:INDEX($A2:$A1048576,$D)^TRANSPOSE(ROW(INDEX(A:A,1):INDEX(A:A,$D)))))
此致