Dzwebs.Net

撰写电脑技术杂文十余年

在整个年级的成绩表中各班级求各班的排名

Admin | 2011-11-15 10:59:07 | 被阅次数 | 20826

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  似乎这个标题说得太复杂了些,不过,我们通过如下的表来具体说明,本例要讲哪个技术教程。

  本例讲的是一个比较复杂的Excel排名的问题。

  先看下表。

  看上图吧,列分别为班级、姓名、总分和班级排名。

  首先,这种表格是年级上所安排的考试名单,不能排序,以防止相邻的座位不能有同班的同学。

  现在,总分出来了,我们得按照班级的号码,求出各表的每个同学在本班的成绩排名,比如,1班的同学要和1班的进行比较后排名,不能和2、3班一起排名,即每个班级的只能和本班级的进行排名,不能和其它班级混着排名。

  那么,如何才能保证各班的和各班的在排名的时候即要准确,同时还要使其它班的排名也一起排出来互不影响。

  方法很简单,使用SUMPRODUCT函数就足够了。

  一、先看结果

  我们先看结果吧,选中D2单元格,然后输入如下图的公式:

  即 =SUMPRODUCT((A$2:A$7=A2)*(C$2:C$7>C2))+1 按下回车键即可,然后使用填充功能结果就出来了。

  就这么简单,各班和各班排名一下就出来了,相当准确方便。

  二、公式分析

  如果你想了解SUMPRODUCT函数的详细介绍,请参阅 http://www.dzwebs.net/3649.html 

  下面就针对本例子讲解函数公式。

  SUMPRODUCT((A$2:A$7=A2)*(C$2:C$7>C2))公式,可看作:

  SUMPRODUCT((条件一)*(条件二))

  如上的含义就是SUMPRODUCT函数必须同时满足条件一和条件二所得的记录数,即个数。

  SUMPRODUCT((A$2:A$7=A2)*(C$2:C$7>C2))理解为:

  A$2:A$7=A2,A$2:A$7区域,必须等于A2这个值,即班级号;此为条件一;

  C$2:C$7>C2,C$2:C$7区域,必须大于C2这个总分,此为条件二;

  满足如上条件的个数。

  说得简单点,A2是班级号,其值为1,那么A$2:A$7这个区域只要是等于1这个班级号,就满足条件一;

  同时,还要满足C$2:C$7>C2,C2为总分,其值为500,此为条件二。

  班级号为1,成绩大于500的,有几个呢?看上班,满足这两个条件的个数为1,所以,公式SUMPRODUCT((A$2:A$7=A2)*(C$2:C$7>C2))的结果为1。

  最后,在公式SUMPRODUCT((A$2:A$7=A2)*(C$2:C$7>C2))的后面加上1,公式就变成如下公式:

  =SUMPRODUCT((A$2:A$7=A2)*(C$2:C$7>C2))+1

  这就是所需要的最终的公式。

  例子就给您介绍到这里,想了解SUMPRODUCT函数在其它方面的运用,你还可以参阅如下的文章:

  http://www.dzwebs.net/1134.html

  http://www.dzwebs.net/1137.html


该杂文来自: Excel杂文

上一篇:详细介绍SUMPRODUCT

下一篇:Excel如何保证小数点计算无误

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计