数据源:
要求按组别来进行分组排名。
思路:统计同一组中,比其成绩高(低)的有几个。
如,组1,74,统计在组1中,比74大的有几个?
使用sumproduct函数
=SUMPRODUCT(($H$1:$H$10=H1)*($I$1:$I$10>I1))
因为最值(最大或最小)没有比其更大(更小)的成绩,
所以上面公式的结果可以是0,在公式后面 1即可。
=SUMPRODUCT(($H$1:$H$10=H1)*($I$1:$I$10>I1)) 1
结果:
数据源:
同样是排名,按总成绩从高到低排名,总成绩相同的,按照偏科程度从低到高排名。
思路:
1、先对总成绩进行排名,使用Rank函数。
=RANK(B2,$B$2:$B$6)
2、将总成绩进行分组,排名按照偏科程度来。
如,273有两个,那么273都是一个组别。
相同的总成绩为一组,应用上面的sumproduct函数即可。
=SUMPRODUCT(($B$2:$B$6=B2)*($C$2:$C$6<C2))
这里不需要在sumproduct函数后面加1。
将rank函数和sumproduct函数的结果相加,即为最后结果。
=RANK(B2,$B$2:$B$6) SUMPRODUCT(($B$2:$B$6=B2)*($C$2:$C$6<C2))
另外一个思路:
因为总成绩和偏科程度都是数值,因此可以用过放大或者缩小的方式来实现排名。
1、先建立辅助列,公式 :=B2*10000 C2
假如直接将总成绩和偏科程度相加,那么偏科程度将会对排名造成错误的影响。
将总成绩放大10000倍,偏科程度的影响将减弱到几乎没影响。从而使得偏科程度在总成绩相同的情况下,真正决定了排名。
再使用rank函数比较放大后的数值大小即可得出排名。
(当然也可以将偏科程度缩小100倍,1000倍再和总成绩相加减)
将上面的步骤用一条公式写出结果:
=SUM(N(B2*10000 C2<$B$2:$B$6*10000 $C$2:$C$6)) 1
结果:
公式解释:
1、$B$2:$B$6*10000 $C$2:$C$6,抹黑,使用F9返回下面结果
{2730006;2730001;2560005.66666667;2790005;2760008}
2、B2*10000 C2<$B$2:$B$6*10000 $C$2:$C$6)返回结果
{FALSE;FALSE;FALSE;TRUE;TRUE}
3、N函数将false变成0,true变成1
N(B2*10000 C2<$B$2:$B$6*10000 $C$2:$C$6)
结果:
{0;0;0;1;1}
4、最后sum函数收尾,并在后面 1
假如,需要三个数值作为条件来排名,原理一样。
文件下载:
- 1001EV晨报 | “宝宝巴士”极氪MIX今日上市;花旗预计比亚迪三季度盈利超百亿,11月销量有望突破50万辆
- 1002SD-WebUI插件推荐-提示词扩展
- 1003史上最全东丽碳纤维型号与参数
- 1004艾瑞银行营销报告:把握银行营销数字化底层需求,全面实现技术与业务的深度融合
- 1005清澈的爱 只为人民——大型话剧《张富清》恩施巡演侧记
- 1006抖音号实名认证怎么找回?抖音实名认证好处有哪些?
- 1007北京四日游最佳路线 北京4天时间怎么玩 北京四天三夜旅游攻略
- 1008哪些人需要粉妍片?玫琳凯怡日健粉妍片多少钱?成份作用有什么效果?2019年1月促销活动!
- 1009什么是淘宝关键词搜索规则?搞懂淘宝的搜索规则