0

的excel 中,我如何以编程方式取一列的平均值,不包括空字段和等于“3”的值。

我有一个标题为“isCompleted”的列,其中值可以是 0(否)或 1(是)或 3(不相关)

要查看已完成的数量,我将仅取 0 和 1 分数的平均值。我如何以编程方式做到这一点?

4

2 回答 2

2

XL03

With Application.WorksheetFunction
MsgBox .SumIf(Range("A:A"), "<3") / .CountIf(Range("A:A"), "<3")
End With

或者,假设您有 xl07 或更高版本

我想你想要

MsgBox Application.WorksheetFunction.AverageIfs(Range("A:A"), Range("A:A"), "<3")

'or perhaps
MsgBox Application.WorksheetFunction.AverageIfs(Range("A:A"), Range("A:A"), "<=1")

平均 0 和 1 值

于 2013-02-12T11:51:24.733 回答
0

不需要 VBA,这个公式就可以了:

=SUMIFS(A:A,A:A,"<>3")/COUNTIFS(A:A,"<>3",A:A,">=0")
于 2013-02-12T11:38:23.767 回答