百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文
Excel函数计算最佳成绩和对应次数

Excel函数计算最佳成绩和对应次数

  • 网站名称:Excel函数计算最佳成绩和对应次数
  • 网站分类:技术文章
  • 收录时间:2025-08-27 19:36
  • 网站地址:

进入网站

“Excel函数计算最佳成绩和对应次数” 网站介绍

学校统计学生成绩是最常见的教务工作了,今天,我们找了三个例子来说明一下,数据是个人瞎编的,主要是分享一下,希望对大家有帮助。

一、计算最佳成绩和对应口语次数

来吧,直接上公式:

=LET(s,O3:T9,

a,BYROW(s,LAMBDA(x,MAX(x))),

b,DROP(REDUCE("",SEQUENCE(ROWS(s)),LAMBDA(x,y,LET(m,INDEX(s,y,),n,INDEX(a,y),VSTACK(x,CONCAT(IF(m=n,OFFSET(s,-1,,1),"")))))),1),

HSTACK(a,b))

公式中,s是数据源区域,也就是每个人六次的口语成绩;a是用byrow函数直接计算最佳成绩,这一步最简单;b是通过reduce函数循环每个人的六次口语成绩,分别和自己的最佳成绩比较,返回对应的老师是第几次,最后就是把a、b按列拼接即可。

二、计算最终成绩

和第一个题目相比,这个题目分块的,总共三次考试,最终成绩是三次成绩中的最好成绩和对应的次数,这个题目由于只是三次,所以用本办法处理了,免得双循环太费劲,数据量太大的话还卡顿;具体公式如下:

=LET(s,C5:K14,

f,LAMBDA(ar,c,SUM(DROP(TAKE(ar,,3*c),,3*(c-1)))),

DROP(REDUCE("",SEQUENCE(ROWS(s)),LAMBDA(x,y,LET(a,f(INDEX(s,y,),1),b,f(INDEX(s,y,),2),c,f(INDEX(s,y,),3),m,MAX(a,b,c),n,IF(a=m,"第一次",IF(b=m,"第二次","第三次")),VSTACK(x,HSTACK(m,n))))),1))

这里通过lambda函数自定了一个取列的函数,分别获取第一次,第二次和第三次的三个科目的成绩,用于后续计算;最后就是通过reduce函数对行进行循环处理,分别得到每个人的最终成绩。

三、计算班级最终得分(去除一个最高分,去除一个最低分,取剩余评分的平均分,结果保留两位小数)和年级排名

根据需求,这里要根据年级分开分别排名;采用的是中式排名,通过match+sort返回排名顺序,这里没有同名次的班级。直接上公式吧!

=LET(s,N19:V28,

a,BYROW(s,LAMBDA(x,ROUND((SUM(x)-MAX(x)-MIN(x))/(COUNTA(x)-2),2))),

b,M19:M28,

c,DROP(REDUCE("",UNIQUE(LEFT(b,3)),LAMBDA(x,y,LET(m,FILTER(a,ISNUMBER(FIND(LEFT(b,3),y))),VSTACK(x,MATCH(m,SORT(m,,-1),0))))),1),HSTACK(a,c))

需求中,去掉的最高分(最低分)不管有几个,计算中只分别去掉一个,总的就是两个;reduce循环先抓取同年级的最后得分,然后排名。

学校工作比较繁琐,统计起来也破费功夫;我这里就抛砖引玉了,好戏由你们上吧,谢谢大家!