Excel里去掉最高分最低分再求平均分

  求平均分是Excel里再平常不过的操作了。使用EXCEL,不仅可以求简单的平均分,即使要去掉几个最高分、最低分再求平均分,那也是很容易的事情。

    一、直接求平均分

  如果要对指定的数据直接求平均分,那显然是最简单的。如图1所示,假定要求平均分的数据在B2:B20单元格,那么我们只要在B21单元格输入公式:=AVERAGE(B2:B20),回车后平均分就有了。


  图1 平均分的数据

    二、去掉指定分数再求平均分

  有两种方法可以实现这个要求。

  以去掉一个最高分和一个最低分之后再求平均分为例。

  我们可以在B22单元格输入公式:=(SUM(B2:B20)-LARGE(B2:B20,1)-SMALL(B2:B20,1))/(COUNT(B2:B20)-2),回车后即可得到结果,如图2所示。


  图2 得到结果

  其中,SUM(B2:B20)求到的是所有数据的和;LARGE(B2:B20,1)返回的是B2:B20单元格数据中的最大值;SMALL(B2:B20,1)则返回B2:B20单元格数据中的最小值;而COUNT(B2:B20)返回的是B2:B20中数值的个数。这样,用这个公式自然就可以求到去除最高分和最低分后的平均成绩了。

  如果要扣除的高分和低分更多,那么,只需要增加上式中LARGE和SMALL函数的数量就可以了,不过需要把公式中的“1”换成“2”或“3”等,以求得第二高(低)分或第三高(低)分。当然,COUNT函数后的数字也应该做相应改动。

  这个方法思路固然简单,但公式实在是有点麻烦。在EXCEL中,其实是可以有更简单的方法的。那就是利用TRIMMEAN函数。如图3所示,在B23单元格中输入公式:=TRIMMEAN(B2:B20,0.2),回车后即可得到结果。


  图3 得到结果

  TRIMMEAN函数可以求得截去部分极值后的数据的平均值,即TRIMMEAN先从数据集的头部和尾部除去一定百分比的数据,然后再求平均值。而上面公式中的“0.2”,即我们所规定的要去除数据的百分比。

  需要注意的是函数TRIMMEAN将除去的数据数目向下舍入为最接近的2的倍数。如本例共有19个数据,去除百分比为0.2,则19的20%为3.8,向下舍入最接近的2的倍数为2,正好对称地在数据集的头部和尾部各除去一个数据。

  所以,用此函数,公式简单,但在百分比的选择上应该小心谨慎,以免产生计算错误。

    三、求符合指定条件的平均分

  如果我们要求符合指定条件的平均分,比如,上例中要求低于80分的数据的平均分,那么,上面的方法显然是不行了。不过,在EXCEL中,我们自然另有办法应对。

  在B24单元格输入如下公式:=AVERAGE(IF(B2:B20<90,B2:B20)),然后按下“Ctrl+Shift+Enter”快捷键,可以看到公式外层加了一对大括号(不可手工输入此大括号),同时我们需要的结果也出来了,如图4所示。


  图4 结果出来了

  好了,有了上面几个小招数做底,再遇到求平均分这样的事,就应该简单了吧?

时间: 2024-11-02 07:45:12

Excel里去掉最高分最低分再求平均分的相关文章

软件开发-我这代码的computer的最高分和最低分老不对,怎么办?

问题描述 我这代码的computer的最高分和最低分老不对,怎么办? #include<stdio.h> #include<stdlib.h> #include<string.h> #define maxsize 5 struct student { int num; char name[30]; int english,computer,math,chinese; int rank; }; double aen,aco,ama,ach;int maxch,maxma,

excel根据班级号和总分求最高分、最低分

excel如何能够根据原始成绩中的班级号和总分,然后算出最高分.最低分? 下面,我们先看下表吧. 上表中,选中的部分是原始的成绩,共有六个列,其中包含班级号.姓名和三科成绩以及总分. 现在,我们要做的就是根据蓝线圈住的那部分,给出班级的号码,然后,要计算出该班学生的总分里面的最高分和最低分. 方法不难,使用数组公式和max.min配合if函数,就能得出结果. 一.根据班级号计算最高分 如下图.首先选择B12,在FX公式输入框中,先输入公式 =MAX(IF(B12=$A$2:$A$9,$F$2:$

如何用ASp实现去掉三个最高分和三个最低分

今天又帮助了一个网友,我的口号是"以帮助别人为快乐!" 问题:用asp如何实现去掉三个最高分和三个最低分?解决思路:1.将整个数组排序,删除两端的三个最大值和三个最小值(另一网友提出的!)2.挑选出其中三个最大的数和三个最小的数,将其删除!(我的思路!) 我觉得我的方法应该可行一些,因为要删除的数只有三个最大,三个最小,没有必要把所有的数都进行排序,特别是当数据很多时,将会浪费很多的资源!我写的序如下:<%@LANGUAGE="VBSCRIPT" CODEPA

java-读取个Excel文档,再根据条件输出到txt里,用Java写,求大神相助

问题描述 读取个Excel文档,再根据条件输出到txt里,用Java写,求大神相助 读取个Excel文档,再根据条件输出到txt里,怎么控制输出格式呢,希望大神帮忙,了啦啦啦啦啦! 解决方案 用poi吧,先读取excel表格数据,然后再写入到txt里面; 给你个案例你看看 public class CreateExcel { private static List getstudent() throws Exception{ List list=new ArrayList(); SimpleDa

excel去掉最大值和最小值后求平均值的公式

  在一些竞赛活动中,经常看到裁判现场打分的情况,为了保证竞赛公平,通常在所有裁判给出的分数中去掉一个或几个最高和最低分,然后用剩余的分数取平均得到参赛选手的最后得分.这一点在Excel中用TRIMMEAN函数就可以轻松实现.TRIMMEAN函数先从数据集的头部和尾部除去一定百分比的数据点,然后再求平均值.其语法是: TRIMMEAN(array,percent) Array 为需要进行整理并求平均值的数组或数值区域. Percent 为计算时所要除去的数据点的比例.例如,如果percent =

c语言编程,输出最高分和最低分,为什么出错了···

问题描述 c语言编程,输出最高分和最低分,为什么出错了··· #include void main() { float maxscore,minscore,minnum,maxnum; int i,n; printf("请输入8位同学的学号num:n"); scanf("%d",&n); printf("输入8名同学的英语成绩score:n"); for(i=0;i scanf("%d",&num[i],&am

这个sql语句怎么写啊?找出每个同学最高分,最低分及对应的科目

问题描述 这个sql语句怎么写啊?找出每个同学最高分,最低分及对应的科目 select name,course as mincourse,score as minscore from userscore ore in(select min(score) from userscore group by name) group by name; select name,course as mincourse,score as minscore from userscore ore in(select

printf-二位数组算 计算6位同学的5位评委评分求平均分 怎么去掉最高 和最低求平均分求吗

问题描述 二位数组算 计算6位同学的5位评委评分求平均分 怎么去掉最高 和最低求平均分求吗 #include "stdafx.h" int main(int argc, char* argv[]) { int score[6][5],i,j,sum; float ave[6]; int max,min; for(i=0;i<6;i++) { printf("请输入第%d位同学的三位评委评分:",i+1); for(j=0;j<5;j++) scanf(&

sql语句问题,输出每个人最高分、最低分以及对应的科目,还有每个人的平均分

问题描述 sql语句问题,输出每个人最高分.最低分以及对应的科目,还有每个人的平均分 这样写只能输出每个人的最高分.最低分以及对应的科目 请问我怎么将每个人的平均分也输出来呢? 解决方案 像下面这样,出来的结果应该是 张三 60 90 80 最低分科目 最高分科目 李四 50 100 80 最低分科目 最高分科目 select name,max(最低分) 最低分,max(最高分) 最高分,max(平均分) 平均分 ,max(最低分科目) 最低分科目,max(最高分科目) 最高分科目 from(