我有一个与excel sumif公式有关的问题。我有两列EmpID和TimeSpent(以小时为单位)。
我想通过宏计算 sumif 公式的总和。我已应用以下公式:
= SUMIF($ A $ 2:$ A $ 30000,A2,OFFSET(数据$ B $ 2,0,0,COUNTA(数据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 :(得分: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