0

行 5 から 25 まで、列 C に 2013 年のデータ、列 D に 2014 年のデータがあります。列 E には、各行にチェックボックスがあり、それが配置されているセルにリンクされています。以下のコードを使用して、行 26 の列 C および D のデータですが、横に true (有効) チェックボックスがある行のみが含まれます。ここまでは順調ですね。

さて、私の問題は、このコードを拡張して、2013年と2014年の両方(つまり、それぞれ列CとD)の27行目の平均と28行目の標準偏差も計算したいということです。これを行う方法がよくわかりません。この問題を解決するのを手伝ってもらえますか? ご協力いただきありがとうございます!

mean13 = 0
mean14 = 0
inc = 0

For Each c In ActiveSheet.Range("E5:E26").Cells

If c.Row <> 26 Then

    If c = "True" Then

    mean13 = mean13 + Cells(c.Row, c.Column - 2).Value
    mean14 = mean14 + Cells(c.Row, c.Column - 1).Value
    inc = inc + 1

    End If

ElseIf c.Row = 26 Then

Cells(26, c.Column - 2).Value = mean13 / inc
Cells(26, c.Column - 1).Value = mean14 / inc

End If

Next
4

1 に答える 1

1

Julien Marrec のコメントによると、Array Formulas に慣れることができます。良い出発点は、Cheap Pearson intro to Array Formulasです。

あなたの場合、次を使用することができます:

=AVERAGE(IF(E5:E26=TRUE,D5:D26))
=AVERAGE(IF(E5:E26=TRUE,C5:C26))

列CとDの平均をそれぞれ計算します。

同様に:

=STDEV.P(IF(E5:E26=TRUE,D5:D26))
=MEDIAN(IF(E5:E26=TRUE,D5:D26))

覚えておいてください(リンクからの引用):

配列数式の入力: 数式を配列数式として入力するには、数式をセルに入力し、Enter キーだけでなく、Ctrl Shift キーと Enter キーを同時に押します。これは、式を初めて入力するときと、後で式を編集するときに行う必要があります。これを正しく行うと、中かっこ { } で囲まれた数式が Excel に表示されます。中かっこを入力しなくても、Excel によって自動的に表示されます。CTRL SHIFT ENTER を使用して数式を入力しないと、数式が #VALUE エラーを返すか、正しくない結果を返す場合があります。

于 2013-07-15T17:04:22.393 に答える