可以对数组进行条件求和吗
时间: 2023-09-11 21:07:45 浏览: 97
可以的,你可以使用 VBA 中的 For 循环和 If 语句来对数组进行条件求和。以下是一个示例代码,可以用于计算数组中满足特定条件的元素之和:
```vb
Function sumIf(arr() As Variant, condition As String) As Double
Dim sum As Double
Dim i As Long
For i = LBound(arr) To UBound(arr)
If condition = "positive" And arr(i) > 0 Then
sum = sum + arr(i)
ElseIf condition = "negative" And arr(i) < 0 Then
sum = sum + arr(i)
ElseIf condition = "even" And arr(i) Mod 2 = 0 Then
sum = sum + arr(i)
ElseIf condition = "odd" And arr(i) Mod 2 = 1 Then
sum = sum + arr(i)
End If
Next i
sumIf = sum
End Function
```
在这个函数中,我们使用了一个 For 循环来遍历数组中的每个元素。在循环中,我们使用了一个 If 语句来检查当前元素是否满足特定条件。如果满足条件,我们将当前元素的值加到一个变量中。最后,我们将变量的值作为函数的返回值。在这个函数中,我们假设条件可以是以下四种之一:positive(正数)、negative(负数)、even(偶数)和 odd(奇数)。你可以根据实际需求修改这些条件。
例如,如果你想计算数组中所有正数的和,你可以调用函数 `sumIf(arr, "positive")`。如果你想计算数组中所有偶数的和,你可以调用函数 `sumIf(arr, "even")`。
阅读全文