【问题标题】:Need Dynamic data range for sumif formula in ExcelExcel中sumif公式需要动态数据范围
【发布时间】:2011-04-05 08:24:50
【问题描述】:

我有一个与 excel sumif 公式有关的问题。我有两列 EmpID 和 TimeSpent(以小时为单位)。 我想通过宏用 sumif 公式计算总和。我已应用以下公式:

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

EmpID 花费时间总和 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 函数。我已经搜索过,但没有人可以帮助我。

【问题讨论】:

    标签: excel


    【解决方案1】:

    这行得通吗?我假设相关数据总是在相同的列中,并且第一条记录总是在第 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
    

    【讨论】:

      猜你喜欢
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-21
      • 2014-11-17
      相关资源
      最近更新 更多