0

我在使用 excel VBA 计算分子和分母时遇到问题。num 和 den 仅限于在 Excel 电子表格中输入数据的季度。

这是一个示例:我的 excel 表中有两列:

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 年第一季度的示例中,输入了 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 回答