ここから本文です

Excel VBAの質問です 写真の表でのアベレージ関数を使わない、科目ごとでの、平均...

アバター

ID非公開さん

2018/12/2113:39:07

Excel VBAの質問です
写真の表でのアベレージ関数を使わない、科目ごとでの、平均の出し方、最高点、最低点、
また関数を使わない分散、標準偏差のやり方を教えて下さい

Excel VBA,標準偏差,アベレージ関数,SData,最低点,sum2,最高点

閲覧数:
45
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

アバター

ID非公開さん

2018/12/2200:17:32

平均、最高点、最低点は、AVERAGE関数以外の関数は使ってもいいのですか?
そもそもなぜ、AVERAGE関数を使ってはいけないのか分からないですが、
=SUM(B3:B42)/COUNT(B3:B42)
=MAX(B3:B42)
=MIN(B3:B42)

関数を使わない分散、標準偏差のやり方って、四則演算や累乗だけで一切の関数を使わないということでしょうか。
せめてデータ数は40というのを使って良いですか?

分散は
=(B3^2+B4^2+B5^2+B6^2+B7^2+B8^2+B9^2+B10^2+B11^2+B12^2+B13^2+B14^2+B15^2+B16^2+B17^2+B18^2+B19^2+B20^2+B21^2+B22^2+B23^2+B24^2+B25^2+B26^2+B27^2+B28^2+B29^2+B30^2+B31^2+B32^2+B33^2+B34^2+B35^2+B36^2+B37^2+B38^2+B39^2+B40^2+B41^2+B42^2)/40-((B3+B4+B5+B6+B7+B8+B9+B10+B11+B12+B13+B14+B15+B16+B17+B18+B19+B20+B21+B22+B23+B24+B25+B26+B27+B28+B29+B30+B31+B32+B33+B34+B35+B36+B37+B38+B39+B40+B41+B42)/40)^2

標準偏差は
=((B3^2+B4^2+B5^2+B6^2+B7^2+B8^2+B9^2+B10^2+B11^2+B12^2+B13^2+B14^2+B15^2+B16^2+B17^2+B18^2+B19^2+B20^2+B21^2+B22^2+B23^2+B24^2+B25^2+B26^2+B27^2+B28^2+B29^2+B30^2+B31^2+B32^2+B33^2+B34^2+B35^2+B36^2+B37^2+B38^2+B39^2+B40^2+B41^2+B42^2)/40-((B3+B4+B5+B6+B7+B8+B9+B10+B11+B12+B13+B14+B15+B16+B17+B18+B19+B20+B21+B22+B23+B24+B25+B26+B27+B28+B29+B30+B31+B32+B33+B34+B35+B36+B37+B38+B39+B40+B41+B42)/40)^2)^0.5

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

lgk********さん

2018/12/2322:00:31

VBA の質問です、ということは、VBA は使っていいのですね。

分散、標準偏差は2種類あります。
点数なので、標本分散(VAR) 標本標準偏差(STDEV) だと思います。
母分散(VARP)、母標準偏差(STDEVP)の場合、コメントになっている式を使って下さい。
'
Option Explicit
'
Sub Macro1()
'
    Dim Col As Integer
    Dim Sum As Long
    Dim Sum2 As Long
    Dim Min As Integer
    Dim Max As Integer
    Dim Row As Long
    Dim SData As Double
'
    For Col = 2 To 5
        Sum = 0
        Sum2 = 0
        Min = 100
        Max = 0
'
        For Row = 3 To [B1] + 2
            SData = Cells(Row, Col)
            Sum = Sum + SData
            Sum2 = Sum2 + SData ^ 2
'
            If Min > SData Then
                Min = SData
            End If
        
            If Max < SData Then
                Max = SData
            End If
        Next Row
        Cells(43, Col) = Sum / [B1]
        Cells(44, Col) = Max
        Cells(45, Col) = Min
        SData = (Sum2 - Sum ^ 2 / [B1]) / ([B1] - 1) '標本分散
'        SData = (Sum2 - Sum ^ 2 / [B1]) / [B1]       '母分散
        Cells(46, Col) = SData
        Cells(47, Col) = Sqr(SData)
    Next Col
End Sub

a_h********さん

2018/12/2123:37:36

>写真の表でのアベレージ関数を使わない、科目ごとでの、
>平均の出し方、最高点、最低点、
科目毎に、
数字が入力されているセルの合計をSUMで求める・・・・A
数字が入力されているセルの個数をCOUNTAで数える・・B
AをBで割れば平均。

最大値、最小値はそれぞれ、AVERAGE関数は使わないので、
MAX(範囲)、MIN(範囲)
で求まります。
もし、この関数を使わない、と言うのであれば、無謀だと思います。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる