性格いい人が優勝

エクセル上に3600行のデータがあり、その中から任意の40個の行(行番号234、行番号336、行番号487、・・・)から、それぞれ連続する50行分の左から4行目のセル(D234:D283、D336:D485、D487:D536、・・・)の数値データの平均(D234:D283の平均、D336:D485の平均、D487:D536の平均、・・・)を算出する作業を行っています。
今は、「任意の行からその連続する50行分の左から4行目のセルを範囲指定して平均値を算出」する方法で行っています。
この方法だと、「任意の行からその連続する50行分の左から4行目のセルを範囲指定して平均値を算出」という作業を40回繰り返すことになります。また、同様に処理するワークシートが残り3部あります。
このような作業はマクロを利用すると可能でしょうか?もし可能なら、その方法を教えて下さい。
どうぞよろしくお願いします。

A 回答 (1件)

 例えば、元データがSheet1にあるとします。



 平均値を表示させる専用のシートを作成して、そのシートのA1セルに「シート名」
B1セルに「任意の行(先頭行)」
C1セルに「平均値」
と入力して下さい。

 次に、C2セルに次の数式を入力して下さい。

=IF(OR($A2="",$B2=""),"",AVERAGE(INDIRECT($A2&"!D"&$B2&":D"&$B2+49)))

 次に、C2セルをコピーして、C3以下に貼り付けて下さい。

 後は、A列に各元データが存在しているシート名を、B列に任意の行の行番号を、それぞれ入力すると、任意のシートの任意の行から50行の範囲にあるD列のセル範囲の平均値が表示されます。
    • good
    • 0
この回答へのお礼

ありがとうございました!
時間を大幅に節約することができました!

お礼日時:2011/02/17 11:46

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