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)予想通り、リターンを入力します{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で使用できません。

これを回避する方法はありますか?TRENDの代わりにLINESTとSLOPE/INTERCEPTを使用してみましたが、同じ結果が得られます。

4

1 に答える 1

1

OFFSETには参照(最初の引数としてセルまたは範囲)が必要です。配列を受け入れないため、次のような数式は次のようになります。

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

常に配列を返します。OFFSETの最初の引数として使用することはできません。これはあなたの前の質問に関連していますか?

于 2012-12-07T21:40:21.567 に答える