2012-10-10 53 views
0

我在用Excel VBA計算分子和分母時遇到了問題。 num和den僅限於在excel電子表格中輸入數據的季度。使用VBA宏計算分子和分母

下面是一個例子: 我在我的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 

我無法弄清楚代碼有什麼問題。它不計算平均值。如果有人能夠幫助我解決這個問題,我將非常感激。

謝謝你的時間!

+1

爲了將來的參考,你應該指定什麼是不工作的。例如,返回的平均數有什麼問題?它總是1嗎?還有別的嗎? – LittleBobbyTables

回答

2

我認爲不是:

numerator = numerator + 1 

你想:

numerator = numerator + Entered_Visits 

在當前的代碼,你只是每次加1的分子,當在現實中你要將分子的訪問次數加上。