平均数、众数和计数

本文我们继续讨论几个简单的统计方法,分别是平均数、众数和计数。

平均数

日常生活中,相信大家也经常听到平均数的概念,也称为平均值、均值等。要想了解平均数的本质,首先要知道平均数的计算方法,很简单,首先将一个数值序列中的所有数值相加,然后用相加的和除以序列中数值的数量,这种方法计算的平均数也称为算术平均数;如1、2、3的平均数就是2,即(1+2+3)÷3=2。

Excel中可以使用AVERAGE()函数计算平均数,如下图所示,在A6单元格使用公式“=ARERAGE(A1:A5)”计算A1到A5单元格中数值的平均数。

使用AVERAGE()函数

AVERAGE()函数只能计算数值的平均数,会忽略其它类型的数据,而AVERAGEA()函数可以将字符串和FALSE值当作0,TRUE值当作1进行平均数计算,如下图所示,其中的红色数值为实际参与计算的数据。

使用AVERAGEA()函数

请注意,由于Excel中的日期和时间数据本质上也是数值,所以其值也会参与平均数的计算,工作中应根据实际情况具体分析。

根据条件计算平均数时可以使用AVERAGEIF()函数和AVERAGEIFS()函数。其中,AVERAGEIF()函数可以指定一个条件,如下图的所示,在A6单元格使用公式“=AVERAGEIF(A1:A5,">3")”计算大于3的数值的平均值。

使用AVERAGEIF()函数

此外,AVERAGEIF()函数还可以有三个参数的使用方法,其中,参数1指定条件数据区域,参数2指定条件,参数3指定计算平均数的数据区域,如下图所示,使用公式“=AVERAGEIF(A2:A8,"水果",B2:B8)”计算类型为“水果”的单价的平均数。

在AVERAGEIF()函数中使用外部条件

需要多个条件计算平均数时可以使用AVERAGEIFS()函数,其中,参数1指定计算平均数的数据区域,参数2开始每两个参数为一组,前一个参数指定条件数据区域,后一个参数指定条件。如下图中使用公式“=AVERAGEIFS(B2:B8,A2:A8,"水果",B2:B8,">5")”计算“类型”为水果且单价大于5的单价平均数。

使用AVERAGEIFS()函数

从计算的过程中可以看出,平均数反映了一个数据序列的整体属性,而序列中的数据可能比平均数大,也可能比平均数小,或者和平均数相同;一个极端的情况是序列中的数据都相同,那么所有数据和平均数也会相同。

实际上,使用序列中的单个数据与序列的平均数做比较并没有多大意义,因为受序列中数据大小的影响,特别是极值的影响,序列中各个数据与平均数的差距可能很大,也可能很小。

一个企业中的管理层和基层工作人员工资水平的差别会很大,这时的平均工资对于两端的人来说都没有参考价值;但是,如果两家企业的平均工资相差很大,人们可能更愿意到平均工资高的企业工作。

对于一个班级,特别是中小学的班级来说,同班的学生年龄可能相差不大,所以,一个班级的平均年龄和每一位同学的年龄相差不大;但考试成绩又是另外一回事了,一个同学的考试成绩和班级的平均成绩相比,可能相差很大,也可能差不多。……

说了这么多,平均数到底有什么作用呢?首先,平均数是一个数据序列的整体属性,虽然它是序列中各个数据一起计算出来的,但和单个数据并无可比性。第二,在其它条件相同的情况下,多个数据序列的平均数可以对序列的整体情况作比较,如同一学校、同一年级、同一次考试,一班和二班的语文平均分数分别是75和77时,可以说这两个班的语文教学水平比较接近,但是,如果平均数分别是75和85,那么,教学水平的高低就显而易见了。第三,在观察平均数时,要注意序列中极值的影响,如1、2、3的平均数为2,而1、2、15的平均数为6,但它们只有一个最大值不同,平均数并不能很好地反映出两个序列的整体差别有多大。

众数

众数是指数据序列中出现次数最多的数据,可能是一个,也可以有多个。如下图所示,我们使用MODE.SNGL()函数查找A1:A9中的众数。

MODE.SNGL()函数查找众数

MODE.SNGL()函数的功能正如其名,可以找到序列中的一个(single)众数,如上图中的数字1出现了3次;此外,这里使用MODE()函数可以得到相同的结果。细心的读者也许发现了,序列中的数字3也出现了3次,如何一次找出所有众数呢?可以使用MODE.MULT()函数。

MODE.MULT()函数可以返回多个众数,还以上面的数列为例,我们在B1单元格输入公式“=MODE.MULT(A1:A9)”并回车(Enter)确认,执行结果如下图所示。

使用MODE.MULT()函数查找多个众数

众数是数据序列中出现最多的数据,在序列的数据中有一定的代表性,但在实际应用中也需要注意一些问题。首先,如果数据序列中的众数过多,则单个众数的代表性会降低,应考虑所有众数一起使用;其次,如果众数数据的数量占数据总量的比例过小,则代表性会大打折扣;第三,在分析数据序列的典型数据和整体特征时,可以综合考虑平均数、众数,以及后续文章中介绍的中位数等统计量。

计数

众数可以反映出数据集合中出现次数最多的数据,但有时候可能只需要判断特定的数据有多少个,这时就需要使用计数功能,也称为频数统计。相关函数有COUNT()函数、COUNTA()函数、COUNTIF()函数和COUNTIFS()函数。

COUNT()函数会统计参数范围内数字、日期和参数中文本形式的数字(如 "1")的数量。如下图所示。

COUNT()函数测试

请注意本例中A2单元格的内容是单引号开始的“'2”,会作为文本处理,COUNT()函数不会统计。但注意,函数COUNT("2")会返回1。

COUNTA()函数在COUNT()统计范围基础上还会统计逻辑值、文本值或错误值的个数,如下图所示,只要是非空的单元格,COUNTA()函数都会统计在内。

COUNTA()函数测试

下面了解两个按条件计数的函数,分别是COUNTIF()函数和COUNTIFS()函数。COUNTIF()可以指定一个条件,其参数1为统计数据区域,参数2指定统计条件,如下图中使用公式“=COUNTIF(A2:A8,"水果")”统计了“水果”出现了多少次。

使用COUNTIF()函数

还使用上图中的数据,我们使用公式“=COUNTIF(B2:B8,">=5")”统计单价大于等于5的项目数量,结果如下图所示。

使用COUNTIF()函数

COUNTIFS()函数可以指定多个条件,其中,每两个参数为一组,每组中的前一个参数指定条件数据区域,后一个指定条件,如下图所示,我们使用公式“=COUNTIFS(A2:A8,"水果",B2:B8,">5")”统计类型为“水果”且单价大于5的记录有多少条。

使用COUNTIFS()函数