我在使用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
我无法弄清楚代码有什么问题。它没有计算平均值。如果有人能帮我解决这个问题,我将非常感激。
谢谢你的时间!
答案 0 :(得分:2)
我认为不是:
numerator = numerator + 1
你想:
numerator = numerator + Entered_Visits
使用当前代码,您每次只需将1加到分子上,而实际上您希望将分数加入到分子中。