excel排名咋弄

发布网友 发布时间:2022-02-20 03:57

我来回答

2个回答

热心网友 时间:2022-02-20 08:18

excel排名的设置方法:

产品型号:Dell 灵越5000

系统版本:Windows 10

软件版本:Microsoft Office Excel 2020

首先,打开Excel表格,输入你需要的数据,然后选中一个名次的单元格,

在单元格输入公式,=RANK(H2,H&2:H$8,0) 按回车键即可,

然后点击单元格下拉就完成了。


总结:

1.输入好数据

2.输入排名次的公式

3.回车下拉单元格


热心网友 时间:2022-02-20 05:26

如何根据当前数据统计对应的排名,这是实际中经常遇到的需求。本文介绍Excel中排名统计的基本需求,以及分组排名、*度权重综合排名等复杂排名需求的实现方法。


以下根据学员分数排名,名次显示在C列:

名次统计公式如下:

C2单元格公式如下:

=RANK(B2,$B$2:$B$13,0)

拖动C2公式拓展到C13单元格完成名次统计公式输入。


RANK函数语法:

函数语法:

RANK(number,ref,[order]) 

函数作用:

获得数据对应的排名

参数说明:

number:需要统计排名次的数字;

ref:数字数组或数字单元格区域引用,其中非数值型参数将被忽略;

order:排位方式,0或忽略按降序排列(即常规说的正数排名),非0按升序排列(即常规说的倒数排名);


可用以下方法实现类似Rank的排名统计:

=COUNTIF($B$2:$B$13,">="&B2)

=SUMPRODUCT(($B$2:$B$13>=B2)*1)


需要特别注意的是,RANK函数排名有个问题,虽然对重复数字排名相同,但重复数对后续数字排名有影响。譬如:如下两个54分,并列排名第八,53分排名第十,却跳过了第九,这不符合中国式排名要求。


按照中国式排名要求,解决方案:

C2单元格公式改进如下:

=SUMPRODUCT(($B$2:$B$13>=B2)/COUNTIF($B$2:$B$13,$B$2:$B$13))

公式解释:

($B$2:$B$13>=B2)

统计大于等于当前分数的个数,包含重复数

/COUNTIF($B$2:$B$13,$B$2:$B$13)

除以与当前分数相同的个数,确保相同分数并列排名,且只统计一次

SUMPRODUCT

把符合上述条件的个数求和


公式改进后效果如下:


复杂排名需求应用示例:

按照上述改进思路,可以满足复杂的排名场景要求,示例如下:


【1】分组或分类排名

在上述数据基础上增加班级列,按班级排名如下:

D2单元格公式如下:

=SUMPRODUCT(($A$2:$A$13=A2)*($C$2:$C$13>=C2)/COUNTIFS($A$2:$A$13,$A$2:$A$13,$C$2:$C$13,$C$2:$C$13))

公式解释:

($A$2:$A$13=A2)*($C$2:$C$13>=C2)

统计本班级大于等于当前分数的个数,包含重复数

/COUNTIFS($A$2:$A$13,$A$2:$A$13,$C$2:$C$13,$C$2:$C$13)

除以本班级与当前分数相同的个数,确保相同分数并列排名,且只统计一次

SUMPRODUCT

把符合上述条件的个数求和


【2】*度综合权重排名

按语文、数学、英语三科权重:40%、40%、20%综合排名

E2单元格公式如下:

=SUMPRODUCT(N(($B$2:$B$13*40%+$C$2:$C$13*40%+$D$2:$D$13*20%)>=(B2*40%+C2*40%+D2*20%)))

N函数作用:把比较结果TRUE返回1,FALSE返回0


N函数介绍:

语法:N(value)

用途:转化为数值返回。可以转化的值:数字返回该数字,日期返回该日期的序列号,TRUE返回1,FALSE返回0,错误值(如#DIV/0!)返回该错误值,其他值返回0。

参数:value为要转化的值。  


根据名次显示排名示例:

要求E\F\G按名次先后排列,显示如下:


列公式:

E2输入以下数组公式,按<Ctrl+Shift+Enter>,将公式填充至E2:F13区域

{=INDEX($A:$A,MOD(LARGE($B$2:$B$13*100+ROW($B$2:$B$13),ROW(A1)),100))}


F列公式:

{=INDEX($B:$B,MOD(LARGE($B$2:$B$13*100+ROW($B$2:$B$13),ROW(A1)),100))}

G列公式:

{=INDEX($C:$C,MOD(LARGE($B$2:$B$13*100+ROW($B$2:$B$13),ROW(A1)),100))}


公式解释:

$B$2:$B$13*100

分数乘以100,确保不影响分数排序

$B$2:$B$13*100+ROW($B$2:$B$13)

加上当前行号,方便取得排名对应的行号

MOD(LARGE($B$2:$B$13*100+ROW($B$2:$B$13),ROW(A1)),100)

MOD函数去掉上面乘的100,获取排名对应的行号


INDEX($A:$A, 排名对应的行号)

获取对应的姓名

INDEX($B:$B, 排名对应的行号)

获取对应的分数

INDEX($C:$C, 排名对应的行号)

获取对应的名次

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com