重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

EXCEL(2000)で、関数が参照する範囲を自由に変える方法はないでしょうか? 仕事で、時系列のデータに対する移動平均線が必要になりました。

具体的には、
=AVERAGE(R[-10]C[-1]:RC[-1])
のような関数を同一列にコピーして、左隣の列のデータを順次平均する関数が必要です。

[-10]の代わりに特定のセルの値を入れて、平均値に用いる引数の個数を自由にコントロールしたいと考えています。
=AVERAGE(R[R1C1]C[-1]:RC[-1])
等と指定しても、エラーになるので、困っています。

よろしくお願いします。

A 回答 (3件)

offset関数は試してみましたか?


=offset(基準のセル,-1,0,3,1)
とすれば、基準のセルとその上下の全部で3つのセルからなる参照を返します。

どこかに5点平均とか7点平均のための数値を格納する場所を決めておいて
=average(offset(基準のセル,-1*((個数-1)/2),0,個数,1))
なんてやると、インタラクティブにコントロールできると思いますよ。
    • good
    • 0
この回答へのお礼

こんなに早く回答を頂いて、ありがとうございます。
まさに「これ」です。
offset関数なんて知らなかったので、勉強になりました。

本当にありがとうございます。助かりました。

お礼日時:2002/09/03 23:38

例えば、セル"B11"に


 =AVERAGE($A$1:A10)
と入力して、そのセルを右方向にドラッグでコピーしていけば。
 C11=AVERAGE($A$1:B10)
 D11=AVERAGE($A$1:C10)
 E11=AVERAGE($A$1:D10) ・・・
というように、「$」を付けると絶対参照
付けないと相対参照します。

この回答への補足

説明不足ですみません。
AVERAGEで参照するセルの個数は、常に一定にした上でコピーしたいと考えていますので、この方法では考えていたような結果は得られないと思います。

ご回答どうもありがとうございました。

補足日時:2002/09/03 23:34
    • good
    • 0

こんにちは



=AVERAGE(R[R1C1]C[-1]:RC[-1])
と同じ意味を持ちエラーの出ない式の例です

=AVERAGE(INDIRECT("R["&R1C1&"]C"&COLUMN()-1&":RC"&COLUMN()-1,0))

同様の処理はOFFSET()でも可能な筈です。
(苦手なので提示できませんが^^;)
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

無理かと思っていましたが、いろいろと方法はあるものですね。

思ったとおりの結果が得られましたが、この方法、理解するのにちょっと時間がかかりそうです。

お礼日時:2002/09/03 23:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!