Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2091|回复: 3

[已解决]求排名函数 ,谢谢

[复制链接]
发表于 2017-5-2 11:37 | 显示全部楼层 |阅读模式
请问,以下的排名函数该怎样写,谢谢!
最佳答案
2017-5-2 17:56
本帖最后由 绿卡816-沸点 于 2017-5-2 18:29 编辑

=COUNT(1/FREQUENCY(IF($AA$4:$AA$12>=$AA4,$AA$4:$AA$12),$AA$4:$AA$12)) 使用时,将$AA$4:$AA$12换成对应的科目区域,将$AA4换成【平均分】或【及格率】对应的【排名】位置,然后三键(Shift+Enter+Ctrl)同时按下去再往下填充。

首先,利用IF函数来判断出全年级的【语文-平均分】中大于$AA4单元格的【语文-平均分】的情况,如果存在则返回【语文-平均分】,否则返回False;

然后,利用FREQUENCY函数来判断出所有【语文-平均分】大于$AA4单元格的【语文-平均分】与全年级的【语文-平均分】作为分段点进行比较且统计出出现各个分段点的个数。(这里利用了FREQUENCY函数的特性,即区间比较。比方说FREQUENCY({1;3;4;8},{1;5;6}),则返回的会是{1;2;0;1}的数组。同时,FREQUENCY函数会忽略逻辑值,只计算数值)

再次,利用1/FREQUENCY的计算方式将FREQUENCY返回0(也就是出现个数为0)的情况转换成#DIV/0!。

最后,利用COUNT函数计算1/FREQUENCY返回的非#DIV/0!的数量就是其中式排名的结果。

001.rar

16.63 KB, 下载次数: 16

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2017-5-2 14:24 | 显示全部楼层
回复

使用道具 举报

发表于 2017-5-2 17:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 绿卡816-沸点 于 2017-5-2 18:29 编辑

=COUNT(1/FREQUENCY(IF($AA$4:$AA$12>=$AA4,$AA$4:$AA$12),$AA$4:$AA$12)) 使用时,将$AA$4:$AA$12换成对应的科目区域,将$AA4换成【平均分】或【及格率】对应的【排名】位置,然后三键(Shift+Enter+Ctrl)同时按下去再往下填充。

首先,利用IF函数来判断出全年级的【语文-平均分】中大于$AA4单元格的【语文-平均分】的情况,如果存在则返回【语文-平均分】,否则返回False;

然后,利用FREQUENCY函数来判断出所有【语文-平均分】大于$AA4单元格的【语文-平均分】与全年级的【语文-平均分】作为分段点进行比较且统计出出现各个分段点的个数。(这里利用了FREQUENCY函数的特性,即区间比较。比方说FREQUENCY({1;3;4;8},{1;5;6}),则返回的会是{1;2;0;1}的数组。同时,FREQUENCY函数会忽略逻辑值,只计算数值)

再次,利用1/FREQUENCY的计算方式将FREQUENCY返回0(也就是出现个数为0)的情况转换成#DIV/0!。

最后,利用COUNT函数计算1/FREQUENCY返回的非#DIV/0!的数量就是其中式排名的结果。

回复

使用道具 举报

发表于 2017-5-2 21:38 | 显示全部楼层
=RANK(AA4,$AA$4:$AA$10,0),其他都写这形势
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 13:15 , Processed in 0.294866 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表