【问题标题】:Excel OFFSET function error when using TREND in reference在参考中使用 TREND 时 Excel OFFSET 函数错误
【发布时间】:2012-12-07 21:01:36
【问题描述】:

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

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

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

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

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

同样,=OFFSET(TrendRange,1,0) 给出了正确的结果,但 =OFFSET(TrendFormula,1,0) 没有(它导致 #VALUE!)。

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

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

【问题讨论】:

    标签: excel excel-formula offset named-ranges trend


    【解决方案1】:

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

    这样的公式

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

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

    【讨论】:

    • 好的,再次感谢巴里。我希望找到解决此限制的技巧,但显然没有(VBA 除外)。是的,和my other question有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多