表格中的 Arrayformula 用于使用趋势公式自动填充

Arrayformula in Sheets for autofilling with Trend formula

我有一个趋势公式,它将一个小的水平数组作为输入,我希望它使用 arrayformula 自动填充列。如果趋势的 y 和 x 范围是 A_:C_ 和 D_:F_,我不能说 A2:C 和 D2:F,因为它会将整列作为趋势数组。我试过了

=ARRAYFORMULA(TREND(OFFSET(A1:C1,ROW(A2:A)-1,0),OFFSET(D1:F1,ROW(A2:A)-1,0),1,False))

但是 ROW(A2:A) 不会在列的每个单元格中重新打印 arrayformula;只有第一个单元格填充。尽管参数是水平数组,有没有办法让它自动填充?

在此处查看 sheet:https://docs.google.com/spreadsheets/d/1M9DMhcc8r7ngKgjN4OuhNh1wVGocQGMz1go-LZEWquw/edit?usp=sharing

TREND 已经是 arrayformula 类型的函数,因此无法实现您寻求的功能。但是...

硬编码可以这样实现:

={TREND(A2:C2, D2:F2, 1, );
  TREND(A3:C3, D3:F3, 1, );
  TREND(A4:C4, D4:F4, 1, );
  TREND(A5:C5, D5:F5, 1, )}

ofc 如果您不能说出您将拥有多少行或者您不想手动输入 50 行,您可以使用公式来生成如下公式:

={""; ARRAYFORMULA("={"&TEXTJOIN("; ", 1, "TREND(A"&
 SEQUENCE(COUNTA(A2:A), 1, ROW(A2))&":C"&SEQUENCE(COUNTA(A2:A), 1, ROW(A2))&", D"&
 SEQUENCE(COUNTA(A2:A), 1, ROW(A2))&":F"&SEQUENCE(COUNTA(A2:A), 1, ROW(A2))&", 1, 0)")&"}")}

然后你 copy-paste 从下面生成了 fx: