• ベストアンサー

excel 数値と空白がランダムに並んだセルの移動平均

エクセル2003でA列に適当な数値と空白セルが、上からの順番でランダムに並んでいて、それをもとにB列の各行それぞれに移動平均を出したいと思っています。 移動平均は数値が入力されたセルのみを対象にして空白のセルをとばし、さらに直近の異なる数値をさかのぼって4つ探し、計算対象としたいのですがどのようにしたらよいでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

質問を勘違いしていなければ、作業列の案参考にしてください。  A  B  C 数値 10 20 30 40 ・・・とあるとして B2に =IF(A2="","",MAX(B$1:B1)+1) 下へコピィすれば、数値が入っているセルに順番が出ます。 C2セルに  =IF(A2="","",AVERAGE(A2:INDEX(A:A,MATCH(B2-3,B:B)))) 下へコピィします。 最初の3つにはエラーがでますが、4つ目以降は希望の数値では?

excelsell
質問者

お礼

できました!ありがとうございます!

その他の回答 (2)

noname#204879
noname#204879
回答No.2

[回答番号:No.1]の続きですが、 B1: =AVERAGE(A$1:A1) では、駄目なのですか?

excelsell
質問者

お礼

参考になりました!

noname#204879
noname#204879
回答No.1

「A列に適当な数値と空白セルが、上からの順番でランダムに並んでいて」は分かりますが、「それをもとにB列の各行それぞれに移動平均を出したい」の「各行それぞれに移動平均を」が理解できません。例を挙げて説明願います。 それから「移動平均」は、「相加平均」とか「算術平均」と道義の「単純移動平均」のことですか?

excelsell
質問者

補足

分かりにくくてすみません。 まず移動平均はおっしゃる通り「単純移動平均」のことです。 「各行それぞれに移動平均を」のところですが、 例えば、A列の6行目であれば1~6行目までの範囲で直近4つの平均値を、7行目であれば1~7行目までの範囲で直近4つの平均値を、8行目であれば・・・、という具合に計算された値をとなりのB列に表していきたく、 出来上がったときに下記のような状態を望んでいます。 A列  B列 5 3 5 6  4.75 2  4    4    4 10 5.75 ・   ・ ・   ・ ・   ・ 空白のセルが続けば移動平均値は直前のものと同じになります。 これで伝わりましたでしょうか?お手数おかけいたしますが 宜しくお願い致します。

関連するQ&A