1、Excel 函数应用之统计函数Excel 的统计工作表函数用于对数据区域进行统计分析。例如,统计工作表函数可以用来统计样本的方差、数据区间的频率分布等。是不是觉得好像是很专业范畴的东西?是的,统计工作表函数中提供了很多属于统计学范畴的函数,但也有些函数其实在你我的日常生活中是很常用的,比如求班级平均成绩,排名等。在本文中,主要介绍一些常见的统计函数,而属于统计学范畴的函数不在此赘述,详细的使用方法可以参考 Excel 帮助及相关的书籍。在介绍统计函数之前,请大家先看一下附表中的函数名称。是不是发现有些函数是很类似的,只是在名称中多了一个字母 A?比如,AVERAGE 与AVERAGEA;COU
2、NT 与 COUNTA。基本上,名称中带 A 的函数在统计时不仅统计数字,而且文本和逻辑值(如 TRUE 和 FALSE)也将计算在内。在下文中笔者将主要介绍不带 A 的几种常见函数的用法。一、用于求平均值的统计函数 AVERAGE、TRIMMEAN1、求参数的算术平均值函数 AVERAGE语法形式为 AVERAGE(number1,number2, .) 其中 Number1, number2, .为要计算平均值的 130 个参数。这些参数可以是数字,或者是涉及数字的名称、数组或引用。如果数组或单元格引用参数中有文字、逻辑值或空单元格,则忽略其值。但是,如果单元格包含零值则计算在内。 2、求
3、数据集的内部平均值 TRIMMEAN函数 TRIMMEAN 先从数据集的头部和尾部除去一定百分比的数据点,然后再求平均值。当希望在分析中剔除一部分数据的计算时,可以使用此函数。比如,我们在计算选手平均分数中常用去掉一个最高分,去掉一个最低分,XX 号选手的最后得分,就可以使用该函数来计算。语法形式为 TRIMMEAN(array,percent)其中 Array 为需要进行筛选并求平均值的数组或数据区域。Percent 为计算时所要除去的数据点的比例,例如,如果 percent = 0.2,在 20 个数据点的集合中,就要除去 4 个数据点(20 x 0.2),头部除去 2 个,尾部除去 2
4、个。函数 TRIMMEAN 将除去的数据点数目向下舍为最接近的 2 的倍数。3、举例说明:示例中也列举了带 A 的函数 AVERAGEA 的求解方法。求选手 Annie 的参赛分数。在这里,我们先假定已经将该选手的分数进行了从高到底的排序,在后面的介绍中我们将详细了解排序的方法。 Excel 函数精彩回顾 Excel 函数应用之函数简介 Excel 函数应用之数学和三角函数 Excel 函数应用之逻辑函数 Excel 函数应用之文本/日期/时间函数 Excel 函数应用之查询与引用函数 图 1二、用于求单元格个数的统计函数 COUNT语法形式为 COUNT(value1,value2, .)其
5、中 Value1, value2, .为包含或引用各种类型数据的参数(130 个),但只有数字类型的数据才被计数。函数 COUNT 在计数时,将把数字、空值、逻辑值、日期或以文字代表的数计算进去;但是错误值或其他无法转化成数字的文字则被忽略。如果参数是一个数组或引用,那么只统计数组或引用中的数字;数组中或引用的空单元格、逻辑值、文字或错误值都将忽略。如果要统计逻辑值、文字或错误值,应当使用函数 COUNTA。举例说明 COUNT 函数的用途,示例中也列举了带 A 的函数 COUNTA 的用途。仍以上例为例,要计算一共有多少评委参与评分(用函数 COUNTA),以及有几个评委给出了有效分数(用函
6、数 COUNT)。 图 2三、求区域中数据的频率分布 FREQUENCY由于函数 FREQUENCY 返回一个数组,必须以数组公式的形式输入。 语法形式为 FREQUENCY(data_array,bins_array)其中 Data_array 为一数组或对一组数值的引用,用来计算频率。如果 data_array 中不包含任何数值,函数 FREQUENCY 返回零数组。Bins_array 为一数组或对数组区域的引用,设定对 data_array 进行频率计算的分段点。如果 bins_array 中不包含任何数值,函数 FREQUENCY 返回 data_array 元素的数目。看起来 FR
7、EQUENCY 的用法蛮复杂的,但其用处很大。比如可以计算不同工资段的人员分布,公司员工的年龄分布,学生成绩的分布情况等。这里以具体示例说明其基本的用法。以计算某公司的员工年龄分布情况为例说明。在工作表里列出了员工的年龄。这些年龄为 28、25、31、21、44、33、22 和 35,并分别输入到单元格 C4:C11。这一列年龄就是 data_array。Bins_array 是另一列用来对年龄分组的区间值。在本例中,bins_array 是指 C13:C16 单元格,分别含有值 25、30、35、和 40。以数组形式输入函数 FREQUENCY,就可以计算出年龄在 25 岁以下、2630 岁
8、、3135 岁、3640 岁和 40 岁以上各区间中的数目。本例中选择了 5个垂直相邻的单元格后,即以数组公式输入下面的公式。返回的数组中的元素个数比 bins_array(数组)中的元素个数多 1。第五个数字 1 表示大于最高间隔 (40) 的数值(44)的个数。函数 FREQUENCY 忽略空白单元格和文本值。=FREQUENCY(C4:C11,C13:C16)等于 2;2;2;1;1 图 3四、一组用于求数据集的满足不同要求的数值的函数1、求数据集的最大值 MAX 与最小值 MIN这两个函数 MAX、MIN 就是用来求解数据集的极值(即最大值、最小值)。函数的用法非常简单。语法形式为 函
9、数(number1,number2,.),其中 Number1,number2,. 为需要找出最大数值的 1 到 30 个数值。如果要计算数组或引用中的空白单元格、逻辑值或文本将被忽略。因此如果逻辑值和文本不能忽略,请使用带 A 的函数 MAXA 或者 MINA 来代替。2、求数据集中第 K 个最大值 LARGE 与第 k 个最小值 SMALL这两个函数 LARGE、SMALL 与 MAX、MIN 非常想像,区别在于它们返回的不是极值,而是第 K 个值。语法形式为:函数(array,k),其中 Array 为需要找到第 k 个最小值的数组或数字型数据区域。K为返回的数据在数组或数据区域里的位置
10、(如果是 LARGE 为从大到小排,若为 SMALL 函数则从小到大排)。说到这,大家可以想得到吧。如果 K=1 或者 K=n(假定数据集中有 n 个数据)的时候,是不是就可以返回数据集的最大值或者最小值了呢。3、 求数据集中的中位数 MEDIANMEDIAN 函数返回给定数值集合的中位数。所谓中位数是指在一组数据中居于中间的数,换句话说,在这组数据中,有一半的数据比它大,有一半的数据比它小。语法形式为 MEDIAN(number1,number2, .)其中 Number1, number2,.是需要找出中位数的 1 到 30 个数字参数。如果数组或引用参数中包含有文字、逻辑值或空白单元格,
11、则忽略这些值,但是其值为零的单元格会计算在内。 需要注意的是,如果参数集合中包含有偶数个数字,函数 MEDIAN 将返回位于中间的两个数的平均值。4、 求数据集中出现频率最多的数 MODEMODE 函数用来返回在某一数组或数据区域中出现频率最多的数值。跟 MEDIAN 一样,MODE 也是一个位置测量函数。语法形式为 MODE(number1,number2, .)其中 Number1, number2, . 是用于众数(众数指在一组数值中出现频率最高的数值)计算的 1 到 30 个参数,也可以使用单一数组(即对数组区域的引用)来代替由逗号分隔的参数。5、 以上函数的示例以某单位年终奖金分配表
12、为例说明。在示例中,我们将利用这些函数求解该单位年终奖金分配中的最高金额、最低金额、平均金额、中间金额、众数金额以及第二高金额等。详细的公式写法可从图中清楚的看出,在此不再赘述。 图 4五、用来排位的函数 RANK、PERCENTRANK1、一个数值在一组数值中的排位的函数 RANK数值的排位是与数据清单中其他数值的相对大小,当然如果数据清单已经排过序了,则数值的排位就是它当前的位置。数据清单的排序可以使用 Excel 提供的排序功能完成。语法形式为 RANK(number,ref,order) 其中 Number 为需要找到排位的数字;Ref 为包含一组数字的数组或引用。Order 为一数字
13、用来指明排位的方式。如果 order 为 0 或省略,则 Excel 将 ref 当作按降序排列的数据清单进行排位。如果 order 不为零,Microsoft Excel 将 ref 当作按升序排列的数据清单进行排位。 需要说明的是,函数 RANK 对重复数的排位相同。但重复数的存在将影响后续数值的排位。嗯,这就好像并列第几的概念啊。例如,在一列整数里,如果整数 10 出现两次,其排位为 5,则 11 的排位为 7(没有排位为 6 的数值)。2、求特定数值在一个数据集中的百分比排位的函数 PERCENTRANK此 PERCENTRANK 函数可用于查看特定数据在数据集中所处的位置。例如,可以
14、使用函数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置。语法形式为 PERCENTRANK(array,x,significance) 其中 Array 为彼此间相对位置确定的数字数组或数字区域。X 为数组中需要得到其排位的值。Significance 为可选项,表示返回的百分数值的有效位数。如果省略,函数 PERCENTRANK 保留 3 位小数。3、与排名有关的示例仍以某单位的年终奖金分配为例说明,这里以员工 Annie 的排名为例说明公式的写法。奖金排名的公式写法为:=RANK(C3,$C$3:$C$12)百分比排名的公式写法为:=PERCENTRANK
15、($C$3:$C$12,C3) 图 5以上我们介绍了 Excel 统计函数中比较常用的几种函数,更多的涉及专业领域的统计函数可以参看附表以及各种相关的统计学书籍。附表:函数名称 函数说明 语法形式AVEDEV返回一组数据与其均值的绝对偏差的平均值,即离散度。AVEDEV(number1,number2, .)AVERAGE 返回参数算术平均值。 AVERAGE(number1,number2, .)AVERAGEA计算参数清单中数值的平均值(算数平均值)。不仅数字,而且文本和逻辑值(如 TRUE 和 FALSE)也将计算在内。AVERAGEA(value1,value2,.)BETADIST返
16、回 Beta 分布累积函数的函数值。Beta 分布累积函数通常用于研究样本集合中某些事物的发生和变化情况。BETADIST(x,alpha,beta,A,B)BETAINV返回 beta 分布累积函数的逆函数值。即,如果 probability = BETADIST(x,.),则 BETAINV(probability,.) = x。beta 分布累积函数可用于项目设计,在给定期望的完成时间和变化参数后,模拟可能的完成时间。BETAINV(probability,alpha,beta,A,B)BINOMDIST 返回一元二项式分布的概率值。 BINOMDIST(number_s,trials,
17、probability_s,cumulative)CHIDIST返回 2 分布的单尾概率。2 分布与 2 检验相关。使用 2 检验可以比较观察值和期望值。CHIDIST(x,degrees_freedom)CHIINV 返回 2 分布单尾概率的逆函数。 CHIINV(probability,degrees_freedom)CHITEST返回独立性检验值。函数 CHITEST 返回 2 分布的统计值及相应的自由度。CHITEST(actual_range,expected_range)CONFIDENCE返回总体平均值的置信区间。置信区间是样本平均值任意一侧的区域。 CONFIDENCE(alp
18、ha,standard_dev,size)CORREL返回单元格区域 array1 和 array2 之间的相关系数。使用相关系数可以确定两种属性之间的关系。CORREL(array1,array2)COUNT返回参数的个数。利用函数 COUNT 可以计算数组或单元格区域中数字项的个数。COUNT(value1,value2, .)COUNTA返回参数组中非空值的数目。利用函数COUNTA 可以计算数组或单元格区域中数据项的个数。COUNTA(value1,value2, .)COVAR 返回协方差,即每对数据点的偏差乘积的平均 COVAR(array1,array2)数,利用协方差可以决定两
19、个数据集之间的关系。CRITBINOM返回使累积二项式分布大于等于临界值的最小值。此函数可以用于质量检验。CRITBINOM(trials,probability_s,alpha)DEVSQ 返回数据点与各自样本均值偏差的平方和。 DEVSQ(number1,number2,.)EXPONDIST返回指数分布。使用函数 EXPONDIST 可以建立事件之间的时间间隔模型。EXPONDIST(x,lambda,cumulative)FDIST返回 F 概率分布。使用此函数可以确定两个数据系列是否存在变化程度上的不同。FDIST(x,degrees_freedom1,degrees_freedom
20、2)FINV 返回 F 概率分布的逆函数值。 FINV(probability,degrees_freedom1,degrees_freedom2)FISHER返回点 x 的 Fisher 变换。该变换生成一个近似正态分布而非偏斜的函数。FISHER(x)FISHERINV返回 Fisher 变换的逆函数值。使用此变换可以分析数据区域或数组之间的相关性。FISHERINV(y)FORECAST 根据给定的数据计算或预测未来值。 FORECAST(x,known_ys,known_xs)FREQUENCY以一列垂直数组返回某个区域中数据的频率分布。FREQUENCY(data_array,bin
21、s_array)FTEST返回 F 检验的结果。F 检验返回的是当数组 1 和数组 2 的方差无明显差异时的单尾概率。可以使用此函数来判断两个样本的方差是否不同。FTEST(array1,array2)GAMMADIST返回伽玛分布。可以使用此函数来研究具有偏态分布的变量。伽玛分布通常用于排队分析。GAMMADIST(x,alpha,beta,cumulative)GAMMAINV 返回伽玛分布的累积函数的逆函数。 GAMMAINV(probability,alpha,beta)GAMMALN 返回伽玛函数的自然对数,(x)。 GAMMALN(x)GEOMEAN 返回正数数组或数据区域的几何平
22、均值。 GEOMEAN(number1,number2, .)GROWTH 根据给定的数据预测指数增长值。 GROWTH(known_ys,known_xs,new_xs,const)HARMEAN返回数据集合的调和平均值。调和平均值与倒数的算术平均值互为倒数。HARMEAN(number1,number2, .)HYPGEOMDIST 返回超几何分布。 HYPGEOMDIST(sample_s,number_sample,population_s,number_population)INTERCEPT利用已知的 x 值与 y 值计算直线与 y 轴的截距。INTERCEPT(known_ys,
23、known_xs)KURT 返回数据集的峰值。 KURT(number1,number2, .)LARGE返回数据集里第 k 个最大值。使用此函数可以根据相对标准来选择数值。LARGE(array,k)LINEST使用最小二乘法计算对已知数据进行最佳直线拟合,并返回描述此直线的数组。LINEST(known_ys,known_xs,const,stats)LOGEST在回归分析中,计算最符合观测数据组的指数回归拟合曲线,并返回描述该曲线的数组。LOGEST(known_ys,known_xs,const,stats)LOGINV 返回 x 的对数正态分布累积函数的逆函数。 LOGINV(pro
24、bability,mean,standard_dev)LOGNORMDIST 返回 x 的对数正态分布的累积函数。 LOGNORMDIST(x,mean,standard_dev)MAX 返回数据集中的最大数值。 MAX(number1,number2,.)MAXA 返回参数清单中的最大数值。 MAXA(value1,value2,.)MEDIAN返回给定数值集合的中位数。中位数是在一组数据中居于中间的数。MEDIAN(number1,number2, .)MIN 返回给定参数表中的最小值。 MIN(number1,number2, .)MINA 返回参数清单中的最小数值。 MINA(valu
25、e1,value2,.)MODE返回在某一数组或数据区域中出现频率最多的数值。MODE(number1,number2, .)NEGBINOMDIST 返回负二项式分布。 NEGBINOMDIST(number_f,number_s,probability_s)NORMDIST返回给定平均值和标准偏差的正态分布的累积函数。NORMDIST(x,mean,standard_dev,cumulative)NORMINV返回给定平均值和标准偏差的正态分布的累积函数的逆函数。NORMINV(probability,mean,standard_dev)NORMSDIST返回标准正态分布的累积函数,该分布
26、的平均值为 0,标准偏差为 1。NORMSDIST(z)NORMSINV返回标准正态分布累积函数的逆函数。该分布的平均值为 0,标准偏差为 1。NORMSINV(probability)PEARSON返回 Pearson(皮尔生)乘积矩相关系数,r,这是一个范围在 -1.0 到 1.0 之间(包括 -1.0 和 1.0 在内)的无量纲指数,反映了两个数据集合之间的线性相关程度。PEARSON(array1,array2)PERCENTILE返回数值区域的 K 百分比数值点。可以使用此函数来建立接受阀值。例如,可以确定得分排名在 90 个百分点以上的检测侯选人。PERCENTILE(array,k)PERCENTRANK返回特定数值在一个数据集中的百分比排位。此函数可用于查看特定数据在数据集中所处的位置。例如,可以使用函数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置。PERCENTRANK(array,x,significance)PERMUT 返回从给定数目的对象 PERMUT(number,number_chosen)