2011-04-05 50 views
0

SUMIF公式的動態數據範圍我要練成SUMIF公式相關的問題。我有兩列EmpID和TimeSpent(以小時計)。 我想 SUMIF通過宏觀的公式來計算的總和。我已應用以下公式:
需要在Excel

= SUMIF($ A $ 2:$ A $ 30000,A2,OFFSET(Data!$ B $ 2,0,0,COUNTA(Data!A:$ A),2))

 
EmpID   TimeSpent  Sum 
393    6.34  46.75 
393    0.07  46.75 
393    40.34  46.75 
888    0.02  0.02 
405    15.39  48.16 
405    32.50  48.16 
405    0.27  48.16 
328    5.22  63.6 
328    2.08  63.6 
328    25.04  63.6 
328    0.11  63.6 
328    0.08  63.6 
328    22.34  63.6 
328    0.07  63.6 
328    0.06  63.6 
328    7.50  63.6 
328    0.20  63.6 
328    0.41  63.6 
328    0.49  63.6 
61    18.02  36.36 
61    18.34  36.36 

它正確地顯示選定行的總和。每個文件都有不同的行。我的問題是如何設置動態數據源來應用sumif函數。我已經搜查過它,但沒有人能幫助我。

回答

0

將這項工作?我在同一列假設相關的數據總是與第一個記錄始終處於行2

Sub asdf() 

    Dim rc As Integer 
    Dim strFormula As String 

    rc = Range("A1", Range("A1").End(xlDown)).Count 

    strFormula = "=SUMIF($A$2:$A$" & rc & ",A2,OFFSET($B$2,0,0,COUNTA($A$2:$A$" & rc & "),2))" 

    Range("C2") = strFormula 
    Range("C2").AutoFill Destination:=Range("C2:C" & rc) 

End Sub