Excel计算范围内的值是否符合使用VBA的特定条件

我有两个范围在Excel中,说:

x | y ------------ 5 | -1 46 | -4 2 | 1 67 | -1 22 | 1 6 | 0 34 | 0 7 | -2 

如果第一列中的值小于10(即,对于i<0x(i)<10 sum(y(i) ,我想计算小于O的第二列的sum(y(i) 。因此,这个情况的总和将是-3。

假设你的头在A1:B1,你的数据是A2:B9使用这个:

 =SUMIFS(B2:B9,A2:A9,"<10",B2:B9,"<0") 

尝试类似

 Function calc() AS Integer Dim sum AS Integer: sum = 0 Dim c AS Range For Each c In ThisWorkbook.Worksheets(1).Range("A1:A15") If c.Value < 10 And c.Offset(0, 1).Value < 0 Then sum = sum + c.Offset(0, 1).Value End If Next c calc = sum End Function