在很多竞技比赛中,为了避免出现并列排名,在统计成绩名次的时候,通常按照多个关键字进行排名统计。如图116?1所示为英超联赛成绩统计表,联赛排名规则为:1、胜一场得3分,平一场得1分;2、按每支球队的得分进行排名;3、若得分相同,则净胜球多者排名在前;4、若得分和净胜球都相同,则进球多者排名在前。如何根据排名规则统计英超联赛各球队的名次? 图 116?1英超联赛成绩按多关键字排名 解决方案 使用SUMPRODUCT+MMULT函数组合进行多关键字排名。 操作方法 选择F3:F15单元格区域,输入下列公式,按<Ctrl+Enter>组合键结束。 =SUMPRODUCT(--(MMULT($B$3:$E$15,{30000;10000;100;1})>B3*30000+C3*10000+D3*100+E3))+1 原理分析 加权算法多关键字排名技术 1.按照关键字进行配权:本例中有三个关键字,第一关键字为“得分”(由胜场和平场计算),第二关键字为“净胜球”,第三关键字为“进球”,通过观察发现本例中的B:E列数据都不超过两位数,故可以使用公比为100的等比数列给关键字配权,假设第三关键字配权为1,则第二关键字配权为100,第一关键字配权为10000,得出B、C、D、E列的配权数组: {30000;10000;100;1} 2.使用MMULT函数计算每个球队的虚拟总分(加权计算值),返回数组: {714175;408535;409835;592154;582658;541244;500852;745484;419732;379344;592164;725077;459634} 3.将当前球队加权后的虚拟总分B3*30000+C3*10000+D3*100+E3与上述数组进行比较,使用SUMPRODUCT函数统计大于当前球队的虚拟总分的数据个数,再加上1,即可得出当前球队的名次。 知识扩展 此外,本例中还可以使用FREQUENCY或MATCH+LARGE的方法进行多关键字排名统计,例如使用以下2个公式之一: 公式1=INDEX(FREQUENCY(MMULT($B$3:$E$15,{3;1;0.01;0.0001}),B3*3+C3+D3%+E3%%),2)+1 公式2{=MATCH(B3*3+C3+D3%+E3%%,LARGE(MMULT($B$3:$E$15,{3;1;0.01;0.0001}),ROW($1:$13)),)} |
|
来自: 新华书店好书榜 > 《「OFFICE」》