1

我是 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 
4

1 回答 1

0

在单元格中输入此公式D1

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

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

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

于 2012-11-15T07:23:39.793 回答