
excel排名函数公式有Rank函数法、Sumproduct函数法、IF函数法、Max函数法、Large函数法等。
一、Excel排序:Rank函数法(单列)
作用:返回指定的数值在指定范围中的大小排名。
语法结构:=Rank(数值,数据范围,[排序方式])。其中“排序方式”分为“1”、“0”两种,其中“0”为降序,“1”为升序,省略时默认为“0”。
目的:对“成绩”进行排序。
二、Excel排序:Sumproduct函数法
作用:返回相应区域或数组乘积的和。
语法结构:=Sumproduct(单元格区域或数组1,[单元格区域或数组2]……[单元格区域或数组N])。
目的:对“成绩”进行排序。
三、Excel排序:IF函数法
目的:小组内排序。
四、Excel排序:Max函数法
目的:对不规则的合并单元格进行排序。
五、Excel排序:Large函数法
作用:返回数组中的第K个最大值。
语法结构:=Large(数组或数据区域,索引值)。
目的:按从大到小的顺序返回成绩。
把名次存储在F列,F1输入公式:=RANK(E1,E$1:E$23)
然后自动填充,把填充点拉至第23行F23单元格处,即自动把名次列出,即使其中的数值修改了,也能自动改变名次。排序是数据处理中的经常性工作,Excel排序有序数计算(类似成绩统计中的名次)和数据重排两类。本文介绍Excel 2000/XP的数据排序方法。
一、数值排序
1RANK函数
RANK函数是Excel计算序数的主要工具,它的语法为:RANK (number,ref,order),其中number为参与计算的数字或含有数字的单元格,ref是对参与计算的数字单元格区域的绝对引用,order是用来说明排序方式的数字(如果order为零或省略,则降序方式给出结果,反之按升序方式)。
需要注意的是:相同数值用RANK函数计算得到的序数(名次)相同,但会导致后续数字的序数空缺。
2COUNTIF函数
COUNTIF函数可以统计某一区域中符合条件的单元格数目,它的语法为COUNTIF(range,criteria)。其中range为参与统计的单元格区域,criteria是以数字、表达式或文本形式定义的条件。其中数字可以直接写入,表达式和文本必须加引号。
3IF函数
Excel自身带有排序功能,可使数据以降序或升序方式重新排列。如果将它与IF函数结合,可以计算出没有空缺的排名。
二、文本排序
选举等场合需要按姓氏笔划为文本排序, Excel提供了比较好的解决办法。
可以使用以下方法: 选中排序关键字所在列(或行)的首个单元格,单击Excel“数据”菜单下的“排序”命令,再单击其中的“选项”按钮。选中“排序选项”对话框“方法”下的“笔画排序”,再根据数据排列方向选择“按行排序”或“按列排序”,“确定”后回到“排序”对话框。如果您的数据带有标题行,则应选中“有标题行”(反之不选),然后打开“主要关键字”下拉列表,选择其中的“单位”,选中排序方式(“升序”或“降序”)后“确定”,表中的所有数据就会据此重新排列。
此法稍加变通即可用于“第一名”、“第二名”等文本排序,请读者自行摸索。
三、自定义排序
如果您要求Excel按照“金工车间”、“铸造车间”和“维修车间”的特定顺序重排工作表数据,前面介绍的几种方法就无能为力了。这类问题可以用定义排序规则的方法解决:首先单击Excel“工具”菜单下的“选项”命令,打开“选项”对话框中的“自定义序列”选项卡。选中左边“自定义序列”下的“新序列”,光标就会在右边的“输入序列”框内闪动,您就可以输入“金工车间”、 “铸造车间”等自定义序列了,输入的每个序列之间要用英文逗号分隔,或者每输入一个序列就敲回车。如果序列已经存在于工作表中,可以选中序列所在的单元格区域单击“导入”,这些序列就会被自动加入“输入序列”框。无论采用以上哪种方法,单击“添加”按钮即可将序列放入“自定义序列”中备用。
使用排序规则排序的具体方法与笔划排序很相似,只是您要打开“排序选项”对话框中的“自定义排序次序”下拉列表,选中前面定义的排序规则,其他选项保持不动。回到“排序”对话框后根据需要选择“升序”或“降序”,“确定”后即可完成数据的自定义排序。
需要说明的是: 显示在“自定义序列”选项卡中的序列(如一、二、三等),均可按以上方法参与排序,请读者注意Excel提供的自定义序列类型。
如果第一种不能解决
用Excel巧排名次
许多公司企业为了加强管理,都要对内部各个部门定期进行量化评分考核并排列名次,激励表现良好的部门,敦促改进落后部门,使公司管理不断完善发展。面对无序的积分,在不改变各个部门原有位置的情况下给它们进行排列名次可是一件十分棘手的事件,尤其存在相同积分相同名次的排列更增加了难度。但如果能巧妙应用排位函数“Rank”及灵活应用Excel排序功能,问题解决起来也就比较简单了。现以某鞋业有限公司的稽查评分总表(如图1)为例来阐述解决方案。
在该稽查评分总表中,要根据总评分栏的积分在不改变各个部门原有位置的情况下求出各部门相应的名次。总评分最高者名次为1,然后随总评分递减而名次加1。若总评分相同则名次也相同,但该名次之后的部门名次仍然按该名次加1计算,例如有3个第4名则第4名后就紧跟第5名。
1应用Rank函数进行排位
用光标选定D4单元格后输入“=RANK(C4,$C$4:$C$26)”按回车键后便可计算出第一记录的“名次”。将光标移到E3单元格填充柄上变成细十字形光标后,按下鼠标左键往下拖(公式复制),就可将所部门的“名次”计算出来(说明:以上公式中$C$4:$C$26是指绝对引用C4到C26单元格区域)。
虽然Rank函数已将所有的部门按积分的高低进行名次排列,但在相同名次的后面的名次却没有达到我们的要求。如在本例中有两个第1名而后面出现的并不是我们期待的第2名而是第3名。为此,我们还得巧妙地应用排序功能来补充完成Rank函数尚未完成的工作。
2增加关键字段
为了保证各部门位置不变,我们可以借助增加关键字段再将其隐藏的方法来处理,具体 *** 作如下:分别选定第D列和第F列点击“插入”菜单并单击“列”后便可自动增加2列(图2)。选定D3单元格输入一个新字段名“序列”,再选定D4单元格并输入1,将光标移到在D4单元格填充柄上变成细十字形光标后按住“Ctrl键”不放,并按下鼠标左键往下拖至D26后松开,这时在D4到D26出现从1到23的序列填充。将E3单元格的字段名改为“名次1”并在F3单元格输入字段名“名次”。
3根据需要进行相关排序
将光标选定在表格内任一单元格内,点击“数据”菜单→“排序”→在“主要关键字”下拉框内选定“名次1”并选定“递增”单选钮→确定。在F4单元格内输入1后将光标选定在F5单元格后输入“=IF(E4=E5,F4,F4+1)”,按回车键,然后依照上述方法将F5的公式复制到F26。为了还原有各部门的相关位置,依照前面排序方法再进行一次排序,但“主要关键字”则必须改为按“序列”字段进行递增排序。可是这时却发现经排序后的前几个记录却以“#VALUE!”的形式出现,这是因为“名次”字段的公式计算结果经排序后产生错误的缘故,为此,必须在“序列”字段排序之前将“名次”字段的公式计算结果转为数值常量后再进行排序。 *** 作如下:选定E4到E26单元格区域→单击工具栏上复制命令按钮→点击“编辑”菜单→选定“选择性粘贴”→在d出的对话框内选定“数值”单选钮确定后即可。最后依次选定D列、E列→点击“格式”菜单→列→隐藏“列”便可得到我们所要的效果了。RANK(排名的单元格,排名区域)
对于上面那种情况,我们只需输入:=RANK(C2,$C$2:$C$16)
就可以快速完成排名了(排名区域通常采用“绝对引用”)
条条大路通罗马,能实现智能排名的不仅仅只有RANK函数
下面再给大家介绍两种方法:
COUNTIF函数
COUNTIF(计数区域,计数条件)常被用来计算区域中满足条件的单元格个数
例如我们只要输入:
=COUNTIF(C2:C16,">100")
该函数意义:可以计算出C2:C16,大于100的数据的个数为5个
在这个排名的案例中,我们可以输入:
=COUNTIF(C$2:C$16,">"&C2)+1
翻译过来就是:在C2:C16区域中,大于C2的单元格有多少个,那么C2的名次就是该个数+1
SUM函数
想不到吧,SUM函数居然还可以用来排序
解题思路同上:一列里边,比你大的有n个,那你就是排在第n+1名
具体的函数如下:
=SUM(N($C$2:$C$16>C2))+1
输入完函数后,我们只要按下Ctrl+Shift+Enter就搞定了
接着我们来解析下这个函数:
=SUM(N($C$2:$C$16>C2))+1
一$C$2:$C$16>C2得到的是一组逻辑值:“TRUE或FALSE”
前面加上“N”函数就可以将其转成1或0;
二公式思路:如果$C$2:$C$16中有几个大于C2,再加1,就是它的排名。
比如:C2是最大的,那么
$C$2:$C$16>C2全是false
N($C$2:$C$16>C2)全是0
SUM(N($C$2:$C$16>C2))=0
加一还是等于一,它排名还是第一;
以此类推,例如C3,有7个比C3大的,就有7个TRUE
通过N函数转换成7个1,最后排名+1,就是8。
三N函数还可以用“--”(负负)来代替,
它也可以将文本数字、逻辑值转换成数值。
=SUM(--($C$2:$C$16>C2))+1
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)