单张工作表中的数据排名好说,但若在多张工作表之间进行数据排名,在不进行工作表合并的情况下如何实现?
某小团体举办跳远、百米、铅球三项运动会,分3组进行,组内要排名并设有奖项;团体内还要进行3个组的全员排名,也设有奖项。3个组的成绩分列于一组、二组、三组3张表中。
组内排名分别在各自的表中进行,容易实现。但跨组的全员排名会涉及到3张表中的数据,不是靠一张表就能完成的。那么,在不合并表格的情况下,如何进行全员排序?若某人成绩有变动,如何才能实现组内或全员成绩名次的联动?
● RANK函数实现组内排名
由于每个小组的成绩独占一个工作表,所以在一个工作表内利用RANK函数可以轻松的实现数据的排序。以计算“一组”工作表中名次为例。首先选择名称是“一组”的工作表,点击“赵某一”的“组内名次”所在的单元格G2;然后,在编辑栏输入“=RANK(F2,$F$2:$F$9)”;接下来,拖动填充柄进行数据填充就可以了。
其他两个工作表中的班内排名也是如此。
● 范围引用实现排名扩展
如果要跨越3张表进行综合数据排名,需要进行数据范围的跨表引用。首先,选择名称是“一组”的工作表,点击“赵某一”所在的“全员名次”单元格H2;然后在编辑栏输入“=RANK(F2,一组:三组!$F$2:$F$9)”;接下来,拖动填充柄进行数据填充就可以了。
其他工作表中的全员排名也是如此。其中,“'”和“:”都是英文状态下的符号。
需要注意:关于数据引用范围即$F$2:$F$9,在实际应用中,不可能每个组的成员数都是一样多,所以我们要引用各个组成绩工作表中记录最多的那个工作表中的范围。由于是测试,在本例中在“一组”工作表存放了8条件,其他两组放入更少的记录,所以数据引用的范围一最大数一组的8为基数,就是$F$2:$F$9。有关“一组:三组”的输入技巧:可以按住Shift键,用进行所需工作表的选取。
● 数据修改和结果联动的实现
上述过程做完之后,当更改任一工作表中的成员成绩时,成员所在的“组内名次”和“全员名次”都会自动地发生相应改变。
瞧吧!表中只改了一项的成绩,两个排名值就发生了改变。