excel中按照条件求平均数的方法
的有关信息介绍如下:
在excel中,经常需要根据条件求平均值,例如根据学生成绩表,求出大于某一成绩的学生平均成绩。今天我们来分享一下这种按照条件求平均值的方法,希望对大家有用。
我们以excel2010为例。
例如,根据下图成绩表中,求出大于80分的成绩平均分。
我们用两种方法来求。
一、函数公式法:把结果放置在B2单元格中。在B2单元格中录入条件求平均值的公式:=AVERAGEIFS(B2:C15,B2:C15,">80")
注意一下AVERAGEIFS函数的用法是:
AVERAGEIFS(求平均值的区域,条件区域1,条件1,条件区域,2,条件2,......)
回车,我们看到,函数已经将大于80分的平均成绩求出来了:92.75分。
上述我们列举的是多条件求平均值的公式,如果求平均值的区域和条件区域相同,第二参数可以省去。因为本例中我们使用的单条件,可以这样简化公式为:
=AVERAGEIF(B2:C15,">80"),回车,可以看到,函数仍然返回92.75。
注意:第一次我们用的是多条件求平均值的公式AVERAGEIFS
第二次我们用的是单条件求平均值的公式AVERAGEIF
二、vba代码:
我们把所得结果写入到E6单元格中。
我们先用下列方法将【开发工具】选项卡调出来。
点击【文件】/【选项】,调出【excel选项】工具框。
点击【excel选项】中的【自定义功能区】按钮,将右侧【主选项卡】下面的勾勾勾选上。点击【确定】。
点击【开发工具】/【visual basic】,在弹出的窗口中点击【视图】/【代码窗口】。就调出了vba的代码窗口。我们将通过运行vba的代码求大于80分的平均成绩。
在代码窗口写入代码:
Sub 求大于80分的平均成绩()
Dim a%, bb%, cc%, k%
For a = 1 To 40
Range("b2:c15")(a).Select
bb = Range("b2:c15")(a)
If bb > 80 Then cc = cc + bb: k = k + 1
Next
Range("e6") = cc / k
End Sub
通过以下三种方式运行代码:
1.通过点击代码窗口的运【运行】按钮。
2.点击excel工作表中的【宏】,将代码中宏名选择在框内,点击【执行】按钮。
3.点击【插入】/【形状】,插入一个形状,例如矩形,右击此矩形,将上述宏名选中,点击【确定】。然后单击矩形。
上述三种方法运行的结果,均在E6单元格中填入了符合条件的平均值92.75分,同第一种方法结果相同,说明我们写的代码是正确的。



