【问题标题】:how to write sumif with changing the criteria and sum range for each row in excel vba如何通过更改excel vba中每一行的标准和总和范围来编写sumif
【发布时间】:2012-11-01 18:42:49
【问题描述】:

我是 VBA 的新手,我正在尝试在 D 列的每一行中编写一个 sumif 函数,但会更改每行的条件和求和列范围,直到条件列的最后一个值。

例如:从第 4 行开始,第一个 sum & 标准范围为 4:4,第二个为 4:5,第三个为 4:6,以此类推。

我希望答案应该类似于下面的示例,但它只显示 A 列中带有“x”的那些行的 8。

请任何人想办法让它在下面的示例中显示为 D 列。

工作表:

column A B C D E
4      x   1 1
5      x   2 3
6      y   1  
7      y   3 
8      z   4 
9      x   5 8

代码:

llistrow = ThisWorkbook.Worksheets(Source).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row - 1
For i = 4 To llistrow Step 1
    revisedbudget1314 = Application.WorksheetFunction.SumIf( _
        Arg1:=ThisWorkbook.Worksheets(Source).Range(Cells(4, 1), Cells(i, 1)), _
        Arg2:="x", _
        Arg3:=ThisWorkbook.Worksheets(Source).Range(Cells(4, 3), Cells(i, 3)))
Next i 

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    在单元格D1中输入此公式

    =IF(A1="x", SUMIF(A$1:A1, "=x", C$1:C1), "")
    

    然后将它与D 列的其他单元格相乘(选择D1 并双击右下角的小矩形)

    请为您的问题使用更好的标签(例如excelspreadsheet),以便更多人看到它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 1970-01-01
      相关资源
      最近更新 更多