Excel使用VBA计算范围中的值是否满足特定条件

时间:2013-03-28 12:27:36

标签: excel vba if-statement range

我有两个excel范围,比如说:

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

如果第一列中的相应值小于10(即sum(y(i)i<0的{​​{1}}),我想计算小于O的第二列的总和。因此,在这种情况下,总和将为-3。

2 个答案:

答案 0 :(得分:2)

假设您的标题位于A1:B1并且您的数据是A2:B9使用此:

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

答案 1 :(得分: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