0

考虑具有以下值的 Excel 工作表:

   A   B
 --------
1| 1   5
2| 2   8
3| 3  11

正如预期的那样,=TREND(B1:B3,A1:A3,A1:A3)在单元格 C1:C3 中输入数组公式会返回 。{5;8;11}输入=OFFSET(C1:C3,1,0)return {8;11;0},也符合预期。

但是,如果我尝试输入=ROWS(OFFSET(TREND(B1:B3,A1:A3,A1:A3),1,0)),我会收到消息“您键入的公式包含错误”。我不能做任何事情让它接受这个公式。

=Sheet1!$C$1:$C$3接下来,我分别用公式和创建了命名范围“TrendRange”和“TrendFormula” =TREND(Sheet1!$B$1:$B$3,Sheet1!$A$1:$A$3,Sheet1!$A$1:$A$3)

再次,=OFFSET(TrendRange,1,0)给出正确的结果,但=OFFSET(TrendFormula,1,0)没有(结果为#VALUE!)。

有一个简单的测试似乎总能确定 OFFSET 何时会出现此问题。如果=CELL("address", xxx)=AREAS(xxx)结果为#VALUE!,则 xxx 部分不能用于 OFFSET。

有没有办法解决?我尝试使用 LINEST 和 SLOPE/INTERCEPT 而不是 TREND,但我得到了相同的结果。

4

1 回答 1

1

OFFSET 需要一个引用(一个单元格或一个范围作为第一个参数),它不会接受一个数组,所以因为像这样的公式

=TREND(B1:B3,A1:A3,A1:A3)

总是返回一个数组,你不能用它作为OFFSET的第一个参数。这与您之前的问题有关吗?

于 2012-12-07T21:40:21.567 回答