位置:首页 > 软件操作教程 > 办公软件 > Excel > 问题详情

学习教程:对Excel数据进行排名的四种方法

提问人:周丽平发布时间:2021-07-26

1、启动Excel并打开工作表,在工作表中选择单元格区域,在编辑栏中输入公式"=COUNTIFS($B$2:$B$20,B2,$G$2:$G$20,">"&G2)+1",按Ctrl+Enter键结束公式输入,此时选择单元格区域中显示总分在班级中的排名值,如图1所示。

image.png

图1 使用COUNTIFS()函数获得排名值

提示

在Excel中,COUNTIFS()函数将条件应用于跨多个区域的单元格同时计算符合所有条件的次数。此时,其支持多条件计数。这里,使用COUNTIFS()函数统计出在班级中大于自身成绩总分的总分个数,然后再加上1即可获得该总分在班级中的排名。

2、在工作表中选择放置班级排名值的单元格区域,在编辑栏中输入公式"=SUMP RODUCT(($B$2:$B$20=B2)*($G$2:$G$20>G2))+1",按Ctrl+Enter键结束公式输入,此时选择单元格区域中显示排名值,如图2所示。

image.png

图2 使用SUMPRODUCT()函数获得排名值

提示

在公式中,"$B$2:$B$20=B2"用于判断是否属于当前班级,"$G$2:$G$20>G2"用于判断总分是否大于自身总分值。使用SUMPRODUCT()函数将数组对应的值相乘并累加就可以得出大于自身总分的人数,然后将其加上1即可获得班级排名值。

3、在工作表中选择放置班级排名值的单元格区域,在编辑栏中输入公式"=INDEX(FREQUENCY(($B$2:$B$20=B2)*$G$2:$G$20,G2),2)+1",按Ctrl+Enter键结束公式的输入,此时选择单元格区域中显示排名值,如图3所示。

image.png

图3 使用INDEX()函数和FREQUENCY()函数获得排名值

提示

在公式中,"($B$2:$B$20=B2)*$G$2:$G$20"用于判断是否属于当前班级,如果是,则返回对应的总分值,否则返回0,这样可以得到一个数组。以当前G2单元格的数值作为分段点,使用FREQUENCY()获得小于或等于G2单元格和大于G2单元格值的数据分布频率,这时将获得包含这两个频率值的数组。最后使用INDEX()函数从这个数组中提取第2个数组,即大于G2单元格值的总分个数,再加上1即可获得G2单元格数值在所属班级中的排名。

4、在工作表中选择放置排名值的单元格区域的第一个单元格,在编辑栏中输入公式"=MATCH(G2,LARGE(($B$2:$B$20=B2)*$G$2:$G$20,ROW($2:$20)-1),)",按Ctrl+Shift+Enter键创建数组公式。将公式向下填充到其他单元格中,此时单元格中显示排名值,如图4所示。

image.png

图4 使用MATCH()函数和LARGE()函数获得排名值

提示

与前面公式相似,这里的公式中首先以班级为条件来查找同班总分值,属于其他班的总分值被置为0,使用LARGE()函数将获得的总分值进行排名获得一个数组。使用MATCH()函数获得当前总分在数组中的位置,该位置即为班级排名值。

继续查找其他问题的答案?

回复(0)
返回顶部