0

ExcelVBAで分子と分母を計算する際に問題が発生しました。numとdenは、Excelスプレッドシートにデータが入力された四半期に限定されます。

次に例を示します。Excelシートに2つの列があります。

Date_data_entered_for each_person   Number of visits to the office
1/1/2009                                            5
1/10/2009                                           6
2/10/2009                                           7
5/12/2009                                           9

この例に基づいて、四半期ごとの「平均訪問数」=訪問の合計/人数を計算する必要があります。この2009年第1四半期の例では、3人のデータが入力され、訪問の総数は5 + 6 + 7 = 18であるため、平均= 18/3=6です。

私が書いたコードは次のとおりです。

Function Visits(target_timeframe)

    Target_Quarter = Format(target_timeframe, "YYYYq")

    For vRow = 2 To 2000

        entered_timeframe = Format(Sheets("sheet1").Range("A" & vRow).Value, "YYYYq")

        Entered_Visits = Sheets("sheet1").Range("B" & vRow).Value 'equals value of column

        If (entered_timeframe = Target_Quarter) Then
            denominator = denominator + 1
            If (Entered_Visits > 0) Then
                numerator = numerator + 1
            End If
        End If
    Next

    If denominator > 0 Then
        Average = numerator / denominator
    Else
        Average = "N/A"
    End If

End Function

コードの何が問題なのか理解できません。その平均を計算していません。誰かがこの問題で私を助けてくれるなら、私は非常にありがたいです。

お時間をいただきありがとうございます!

4

1 に答える 1

2

私はその代わりに:

numerator = numerator + 1

あなたが欲しい:

numerator = numerator + Entered_Visits 

現在のコードでは、実際には分子への訪問数を追加したいのに、毎回分子に1を追加するだけです。

于 2012-10-10T20:39:11.437 に答える