本文作者:虎子

用好RANK函数 跨表排名不用愁

虎子 4周前 ( 03-22 13:51 ) 抢沙发

单张工作表中的数据排名好说,但若在多张工作表之间进行数据排名,在不进行工作表合并的情况下如何实现?

某小团体举办跳远、百米、铅球三项运动会,分3组进行,组内要排名并设有奖项;团体内还要进行3个组的全员排名,也设有奖项。3个组的成绩分列于一组、二组、三组3张表中。

1

组内排名分别在各自的表中进行,容易实现。但跨组的全员排名会涉及到3张表中的数据,不是靠一张表就能完成的。那么,在不合并表格的情况下,如何进行全员排序?若某人成绩有变动,如何才能实现组内或全员成绩名次的联动?

● RANK函数实现组内排名

由于每个小组的成绩独占一个工作表,所以在一个工作表内利用RANK函数可以轻松的实现数据的排序。以计算“一组”工作表中名次为例。首先选择名称 是“一组”的工作表,点击“赵某一”的“组内名次”所在的单元格G2;然后,在编辑栏输入“=RANK(F2,$F$2:$F$9)”;接下来,拖动填充 柄进行数据填充就可以了。

2

其他两个工作表中的班内排名也是如此。

● 范围引用实现排名扩展

如果要跨越3张表进行综合数据排名,需要进行数据范围的跨表引用。首先,选择名称是“一组”的工作表,点击“赵某一”所在的“全员名次”单元格H2;然后在编辑栏输入“=RANK(F2,一组:三组!$F$2:$F$9)”;接下来,拖动填充柄进行数据填充就可以了。

3

其他工作表中的全员排名也是如此。其中,“'”和“:”都是英文状态下的符号。

需要注意:关于数据引用范围即$F$2:$F$9,在实际应用中,不可能每个组的成员数都是一样多,所以我们要引用各个组成绩工作表中记录最多的那 个工作表中的范围。由于是测试,在本例中在“一组”工作表存放了8条件,其他两组放入更少的记录,所以数据引用的范围一最大数一组的8为基数,就 是$F$2:$F$9。有关“一组:三组”的输入技巧:可以按住Shift键,用鼠标进行所需工作表的选取。

● 数据修改和结果联动的实现

上述过程做完之后,当更改任一工作表中的成员成绩时,成员所在的“组内名次”和“全员名次”都会自动地发生相应改变。

4

瞧吧!表中只改了一项的成绩,两个排名值就发生了改变。

按如上方法操作,比将各组数据合并在一起再求全员名次,然后用选择性粘贴数据到各组成绩表中的方法要更省时省力。

举一反三,类似的模型都可以使用rank函数来实现。

文章版权及转载声明

作者:虎子本文地址:https://www.meiriyixue.cn/post/83.html发布于 4周前 ( 03-22 13:51 )
文章转载或复制请以超链接形式并注明出处每日一学网

分享

发表评论

快捷回复:

验证码

评论列表 (暂无评论,人围观)参与讨论

还没有评论,来说两句吧...