我试图找到大于500的平均值,并使用平均值将其置于F2中。我无法计算如何显示第1列中超过500的行数,因此我可以将其除以总和。 A2 = 435.02 A3 = 340.38 A4 = 551.11 A5 = 230.22 A6 = EOF。
到目前为止,我有:
Sub averageif()
Dim rownum as integer
Rownum=2
Do
If (cells(rownum,1).value>500) then
Cells(2,6).value=cells(2,6).value+cells(rownum,1).value
End if
Rownum=rownum+1
Loop until (cells(rownum,1).value="EOF")
End sub
答案 0 :(得分:1)
要查找第1列中超过500的行数,可以使用COUNTIF函数 在不在第1列中的单元格中,您可以使用以下公式。
= COUNTIF(A:A, “> 500”)
要在值上查找值的总和,您也可以使用SUMIF函数
= SUMIF(A:A, “> 500”)
然后你可以通过除以两者的结果找到平均值。 直接的公式是
= AVERAGEIF(A:A, “> 500”)
或者,在第1列中找到超过500的平均值的已完成的宏低于
Sub CalculateAverages()
'Find the average of Column 1 values over 500
Dim count_over_500 As Long
Dim sum_over_500 As Double
Dim average As Double
Sheets(1).Select 'Select the sheet where the data originates
count_over_500 = Application.WorksheetFunction.CountIf(Range("A:A"), ">500")
sum_over_500 = Application.WorksheetFunction.SumIf(Range("A:A"), ">500")
average = sum_over_500 / count_over_500
End Sub
或直线AverageIF优化版
Sub CalculateAveragesUsingAverageIf()
Dim average As Double
Sheets(1).Select 'Select the sheet where the data originates
average = Application.WorksheetFunction.AverageIf(Range("A:A"), ">500")
End Sub