dポイントプレゼントキャンペーン実施中!

関数でもいけると思いますが、
VBAを使用して数値シートに1項目の選択範囲での平均値を求めて、集計シートに転記をしていきたいです。 それを繰り返しfor文で処理を行いたいです。
具体的に、数値シートにB2~B5の平均した値を集計シートのB2に転記する。
これらの作業を画像添付した箇所に繰り返し処理を行う。
どのような構文でできあがりますでしょうか? また適切な関数だとどんな表記になりますか?
 (初心者ですいません)

「ExcelVBAで選択したセルで平均値(」の質問画像

A 回答 (2件)

問い合わせの文面を見て、Sample-005.xlsmを作成しました。


集計したいシートをセレクトしてマクロ(集計)を実行させると
集計シートに結果が出力されます。
ご参考になれば幸いです。

アクセスはこちらから http://1drv.ms/1dgAdio
    • good
    • 1

こんにちは!


関数でできると思います。

ただ、セルの結合があると何かと厄介です。
(VBAでやるにしても同様)

↓の画像のように作業用の列を設けるのが簡単だと思います。
Sheet1のデータをSheet2に表示するようにしています。

まずSheet1に作業用の列をデータ列数だけ設けます。
画像ではC2セルに
=IF(A2="",C1,A2)
F2セルに
=IF(D2="",F1,D2)
という数式を入れそれぞれをフィルハンドルで下へコピーしておきます。

そして、Sheet2のB2セルに
=IF(A2="","",AVERAGEIF(Sheet1!C:C,A2,Sheet1!B:B))
D2セルに
=IF(C2="","",AVERAGEIF(Sheet1!F:F,C2,Sheet1!E:E))
という数式を入れフィルハンドルで下へコピー!
これで画像のような感じになります。

※ 作業列が目障りであれば遠く離れた列にするか
非表示にしておきます。

こんなんではどうでしょうか?m(_ _)m
「ExcelVBAで選択したセルで平均値(」の回答画像1
    • good
    • 0

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