VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。
定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。
Q&A
解決済
1回答
3510閲覧
総合スコア2
0グッド
0クリップ
投稿2021/04/16 04:01
0
VBAを最近始めた初心者です。
B列の単価の平均値を表示したい。 st1を単純に st1 = st1 + Cells(i, 2) / i としましたが 思い通りの数値になりません。 どこが間違っているのかわかりません… こうなってほしい結果を追加しました。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2021/04/16 04:18
2021/04/16 05:22
2021/04/16 06:25 編集
回答1件
ベストアンサー
st1 = st1 + Cells(i, 2) / i
i はForループで1加算され続けるので、それで割っては平均になるはずがないですね。
平均は 合計÷個数 ですので、ここは単純に加算して合計を求めます。
st1 = st1 + Cells(i, 2)
別に個数を計算する変数(cnt)を用意して、それに加算していきます。 cnt = cnt + 1
cnt = cnt + 1
で、小計行(Elseの時)で 合計(st1)÷個数(cnt)で平均を計算して代入します。
Cells(i,2) = st1 / cnt
このあと、変数をリセットします。
st = 0 cnt = 0
これで平均がでると思います。
投稿2021/04/16 08:58
総合スコア34075
回答へのコメント
2021/04/21 02:03
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.35%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
VBAでの平均値計算