在excel中使用vba我如何以编程方式获取列的平均值,不包括空字段和等于“3”的值。
我有一个标题为“isCompleted”的列,其值可以是0(否)或1(是)或3(不相关)
看看有多少已经完成我只取0和1分的平均值。我该如何以编程方式执行此操作?
答案 0 :(得分: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值
答案 1 :(得分:0)
不需要VBA,这个公式将完成这项工作:
=SUMIFS(A:A,A:A,"<>3")/COUNTIFS(A:A,"<>3",A:A,">=0")