我正在尝试对列进行平均,但仅当值大于零时才这样做。然后,我希望它将信息放在该行的下一个空白单元格中。
下面的代码是一个简单的平均值,但我希望它从上面的单元格中排除任何零值。
With Range("D2")
.End(xlDown)(2, 1) = _
"=AVERAGE(" & .Address & ":" & .End(xlDown).Address & ")"
End With
我尝试使用以下代码使其好像单元格地址大于零。但它一直给我一个错误调试?
With Range("D2")
.End(xlDown)(2, 1) = _
"=AVERAGEIF(" & .Address & ":" & .End(xlDown).Address & "," & Cell.Address & " > 0," & .Address & ":" & .End(xlDown).Address & ")"
End With
任何帮助都会很棒。
由于 人
答案 0 :(得分:5)
您的公式语法错误。
您需要创建一个类似
的公式=AVERAGEIF(D2:Dxx, ">0")
所以使用这个
With Range("D2")
.End(xlDown)(2, 1) = _
"=AVERAGEIF(" & .Address & ":" & .End(xlDown).Address & ","">0"")"
End With