Excel 公式生成自定义数组结果

Excel 公式生成自定义数组结果

我在 excel 中有一个包含数组的公式;{1,2,3} 它的用法可以在我想动态生成它时看到,例如 arrayfun(4) 将生成 {1,2,3,4}。我可以使用 COLUMN(1:1) 生成一个非常长的数组,但我需要一个生成明确长度的数组的公式。

我尝试使用的具体公式是 LINEST,其使用示例可参见http://people.stfx.ca/bliengme/ExcelTips/Polynomial.htm

答案1

您使用 的想法是正确的COLUMN,但使用 可能更容易设置ROW。对于您的具体示例,您可以使用以下内容生成数组{1,2,3,4}

=ROW(1:4)

答案2

根据@Excellll的帮助,答案是公式

=COLUMN(INDEX(1:1024,1,1):INDEX(1:1024,1,3))

或者

=TRANSPOSE(ROW(1:3))

可以轻松使其动态化。

现在我可以使用 LINEST 生成具有动态顺序的多项式系数:

=LINEST(known_ys,known_xs^COLUMN(INDEX(1:1024,1,1):INDEX(1:1024,1,order)),TRUE,TRUE)

或者

=LINEST(known_ys,known_xs^TRANSPOSE(ROW(1:order)),TRUE,TRUE)

其中“known_ys”是包含我的 y 值的范围,“known_xs”是包含我的 x 值的范围,“order”是我想要应用多项式拟合的顺序。

此外,我可以将 LINEST 包装在 INDEX 函数中以根据需要提取任何特定系数,例如:

=INDEX(LINEST(known_ys,known_xs^TRANSPOSE(ROW(1:order)),TRUE,TRUE),1,3)

仅返回 R²

相关内容