ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 25427|回复: 84

[分享] 排名方法集锦(有十多种不同的方法的附件,6月1日更新加入11种方法的单段排名集锦)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-5-10 15:58 | 显示全部楼层 |阅读模式
11种方法的单段排名集锦(分别包含升序和降序)
6月1日更新加入
单段排名方法集锦20100601.rar (35.14 KB, 下载次数: 874)
参阅本论坛中的很多大师的排名方法整理出单段内分数的排名方法(不是大全,只是一部分),仅供参考,如有错误请予指正,并给予补充。
(多段排名正在整理,随后即发)




不并列排名公式如何修改?
用公式=SUMPRODUCT((班级=P2)*(总分>=$M2))
算出的相同名次再用数学的排序区分,数学成绩高的在前,比如s列的两个21名,两个12名,根据E列的数学成绩分别改为21、20,12、11名,目的是让排名不并列。公式怎么该?
不并列排名.rar (24.49 KB, 下载次数: 924)

已解决,从论坛上学到的。加以改造,适合本表,s2公式如下:
=SUMPRODUCT(--(MMULT((班级=P2)*成绩单,10^ROW($1:$10))>SUM(D2:M2*10^COLUMN($A:$J))))+1

含有多种方法的排名(有待继续更新研究).xls
含有多种方法的排名(有待继续更新研究).rar (26.02 KB, 下载次数: 917)



25楼有hbhfgh4310大师的多年前的排名汇总,整理得很规范,也很全面,值得我们晚辈们拜读。

[ 本帖最后由 lhx120824 于 2010-6-1 14:24 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-10 16:22 | 显示全部楼层
相当于使用工具栏中排序的主关键字和次关键字及第三关键字分别降序排列。然后在名次栏中依次输入1、2、3、……,名次不重复。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-10 17:22 | 显示全部楼层
已解决,从论坛上学到的。加以改造,适合本表,s2公式如下:
=SUMPRODUCT(--(MMULT((班级=P2)*成绩单,10^ROW($1:$10))>SUM(D2:M2*10^COLUMN($A:$J))))+1
上面的公式不好用,

以下的两个比较简单,是不重复名次的。

=SUMPRODUCT((班级=P2)*(总分>M2))+SUMPRODUCT(($P$2:P2=P2)*($M$2:M2=M2))

=SUM(--((班级=P2)*(总分-ROW(总分)%%>M2-ROW(M2)%%)))+1  数组公式

含有5种排名方法的附件:
含有5种方法的排名.rar (20.22 KB, 下载次数: 367)

[ 本帖最后由 lhx120824 于 2010-5-22 10:46 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-22 08:19 | 显示全部楼层
排名的相关帖子及方法:

多条件排名  http://club.excelhome.net/thread-577840-1-1.html
=SUMPRODUCT(($A$1:$A$7=A1)*($B$1:$B$7>B1))+1
=SUM(N(IF($A$1:$A$12=A10,B10<$B$1:$B$12)))+1

学校考试成绩多条件排名  http://club.excelhome.net/thread-502269-1-1.html
中式排名
语文年级=IF(LEFT(A2)="7",MATCH(C2,LARGE(IF(IF(LEFT(A$2:A$266)="7",MATCH(C$2:C$266,IF(LEFT(A$2:A$266)="7",C$2:C$266),),"")=ROW(C$2:C$266)-1,C$2:C$266,""),ROW(C$2:C$266)-1),),MATCH(C2,LARGE(IF(IF(LEFT(A$2:A$266)="8",MATCH(C$2:C$266,IF(LEFT(A$2:A$266)="8",C$2:C$266),),"")=ROW(C$2:C$266)-1,C$2:C$266,""),ROW(C$2:C$266)-1),))

语文班级=MATCH(C2,LARGE(IF(IF((A$2:A$266)*1=A2,MATCH(C$2:C$266,IF((A$2:A$266)*1=A2,C$2:C$266),),"")=ROW(C$2:C$266)-1,C$2:C$266,""),ROW(C$2:C$266)-1),)

如何求排名啊,高手们帮帮忙,谢谢!http://club.excelhome.net/viewth ... C5%C3%FB&page=1
大头老师给出的方法:
=MATCH(D3,LARGE(IF(ISNUMBER(1/(MATCH(B3&"@"&D$3:D$41,B$3:B$41&"@"&D$3:D$41,)=ROW($1:$39))),D$3:D$41),ROW($1:$200)),)

[ 本帖最后由 lhx120824 于 2010-5-22 11:14 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-22 08:35 | 显示全部楼层
中国式排名,求生成内存数组公式  http://club.excelhome.net/viewth ... hlight=%C5%C5%C3%FB
通常公式:
=SUM(IF(A8<A$2:A$15,1/COUNTIF(A$2:A$15,A$2:A$15)))+1
内存数组公式:
=MATCH(A2:A15,LARGE(IF(FREQUENCY(A2:A15,A2:A15),A2:A15),ROW(1:14)),)

如何從成績中取得排名  http://club.excelhome.net/viewth ... hlight=%C5%C5%C3%FB
排名的五种方法:
=RANK(C2,$C$2:$C$12)
=SUM(($C$2:$C$12>C2)*1)+1  ({})
=COUNTIF($C$2:$C$12,">"&C2)+1
=SUMPRODUCT(($C$2:$C$12>C2)*1)+1
=COUNT($C$2:$C$12)-FREQUENCY($C$2:$C$12,C2)+1

3种数组方法:
=SUM(IF(A$2:A$14>A2,1/COUNTIF(A$2:A$14,A$2:A$14)))+1
=SUM(--(FREQUENCY(A$2:A$14,IF(A$2:A$14>=A2,A$2:A$14))>0))
=SUM(--IF(A$2:A$14>=A2,MATCH(A$2:A$14,A$2:A$14,)=ROW($2:$14)-1))

[ 本帖最后由 lhx120824 于 2010-5-22 09:02 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-22 08:52 | 显示全部楼层
Excel VBA排序算法
排序算法常用的有七种,分别是冒泡排序,选择排序,希尔排序,堆排序,桶排序,插入排序和快速排序。 http://club.excelhome.net/thread-542318-1-1.html




有难度,多部门内排名问题!http://club.excelhome.net/viewth ... hlight=%C5%C5%C3%FB
SUM(N(IF(A$2:A$15=A2,B$2:B$15,9^9)<B2))+SUM(N(A$1:A2&B$1:B2=A2&B2)) 数组

rank+countif
=RANK(B2,OFFSET($B$1,MATCH(A2,$A$2:$A$15,),,COUNTIF($A$2:$A$15,A2)),1)+COUNTIF($B$2:B2,B2)-1

也可以用数组公式:
D2=SUM(--(IF(A$2:A$15=A2,B$2:B$15+ROW($2:$15),4^8)<=B2+ROW(C2)))下拉

[ 本帖最后由 lhx120824 于 2010-5-22 09:17 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-22 09:26 | 显示全部楼层
求助一个排名不会重复的公式 http://club.excelhome.net/viewth ... hlight=%C5%C5%C3%FB
有个以解决的方法:
例子:
项目名称        单位名称        金额        排名       
应收账款        南京卷烟厂  1000        4        4
应收账款        苏果超市        2000        2        2
应收账款        大润发          2000        2        3
应收账款        金鹰               3000        1        1
应付账款        欧尚               2500        2        2
应付账款        浦发银行        4000        1        1
应付账款        深发银行        2500        2        3
liuzequan给的公式:
=SUM(--(($B$3:$B$9=B3)*($D$3:$D$9-ROW($D$3:$D$9)%%>D3-ROW(D3)%%)))+1
这是数组公式,需将鼠标插入点放入编辑栏,再同时按下以下三键后再松手(CTRL、SHIFT、ENTER)
然后,再将公式往下拖。

[ 本帖最后由 lhx120824 于 2010-5-22 09:41 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-5-22 09:26 | 显示全部楼层

回复 1楼 lhx120824 的帖子

您的附件版本太高,无法打开,能否换个版本较低的附件传上来?谢谢您。
看了这个帖子的全部个贴,除我之外再无二人,好像您是在唱独角戏,不知为何。

[ 本帖最后由 如饥似渴 于 2010-5-22 10:06 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-22 09:32 | 显示全部楼层
原帖由 如饥似渴 于 2010-5-22 09:26 发表
您的附件版本太高,无法打开,能否换个版本较低的附件传上来?谢谢您。

可以,附件:
不并列排名.rar (15.19 KB, 下载次数: 230)

TA的精华主题

TA的得分主题

发表于 2010-5-22 10:02 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-2 07:19 , Processed in 0.034467 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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