Excel精英培训网

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

如何提取前十名

[复制链接]
发表于 2019-9-12 21:52 | 显示全部楼层 |阅读模式
本帖最后由 sdsgod 于 2019-9-15 16:39 编辑

1、当有一、二名分数一样时,一、二名得到的姓名是同一人,应当是不同的两个人。
2、如何自动排名1~10名,当第一名、第二名 分数一样并列时,显示为1,1,3,4,5,6,7,8,9,

详见附件excel,请高手帮忙解答一下,谢谢!


谢谢2L、4L朋友的回复,不过经测试问题好像并没有解决。

如有朋友解答,做好后请先做一个简单的测试,随机设置10个100分,即并列第一名,看能否正确输出。序号在前的排在前面。

成绩表.rar

12.18 KB, 下载次数: 13

发表于 2019-9-13 03:41 | 显示全部楼层
本帖最后由 cutecpu 于 2019-9-13 03:43 编辑

H12公式: =RANK(I12,I$12:I$21)
J12公式: =OFFSET(B$2,MATCH(I12,C$3:C$48,)+COUNTIF(I$11:I11,I12),)
log.png

成绩表.rar

11.59 KB, 下载次数: 32

回复

使用道具 举报

 楼主| 发表于 2019-9-13 12:09 | 显示全部楼层
cutecpu 发表于 2019-9-13 03:41
H12公式: =RANK(I12,I$12:I$21)
J12公式: =OFFSET(B$2,MATCH(I12,C$3:C$48,)+COUNTIF(I$11:I11,I12),)

非常感谢,看不懂,但是是我要的效果!中秋快乐!
回复

使用道具 举报

发表于 2019-9-13 12:26 | 显示全部楼层
H12=COUNTIF($I$11:I12,">"&I12)+1     

J12=OFFSET(B$2,SMALL(IF($C$3:$C$48=I12,ROW($C$3:$C$48)-2),COUNTIF(I$11:I12,I12)),)    数组 (成绩可以时乱序)
回复

使用道具 举报

 楼主| 发表于 2019-9-13 21:31 | 显示全部楼层
cabcyvr 发表于 2019-9-13 12:26
H12=COUNTIF($I$11:I12,">"&I12)+1     

J12=OFFSET(B$2,SMALL(IF($C$3:$C$48=I12,ROW($C$3:$C$48)-2),C ...

谢谢,中秋快乐!
回复

使用道具 举报

 楼主| 发表于 2019-9-15 16:28 | 显示全部楼层
cutecpu 发表于 2019-9-13 03:41
H12公式: =RANK(I12,I$12:I$21)
J12公式: =OFFSET(B$2,MATCH(I12,C$3:C$48,)+COUNTIF(I$11:I11,I12),)

J12公式: =OFFSET(B$2,MATCH(I12,C$3:C$48,)+COUNTIF(I$11:I11,I12),)


MATCH函数是不是没意义这里?I12  是汉字,在分数里匹配不到任何东西。


第二点、当随意修改成有几个第一名时,姓名匹配的不对,可以说乱码,一个名字会出现多次。
回复

使用道具 举报

 楼主| 发表于 2019-9-15 16:31 | 显示全部楼层
cabcyvr 发表于 2019-9-13 12:26
H12=COUNTIF($I$11:I12,">"&I12)+1     

J12=OFFSET(B$2,SMALL(IF($C$3:$C$48=I12,ROW($C$3:$C$48)-2),C ...

J12 按照你的函数,返回的是  姓名  两个汉字
回复

使用道具 举报

发表于 2019-9-15 18:49 | 显示全部楼层
本帖最后由 cutecpu 于 2019-9-15 21:13 编辑

分數為亂序時,解法如下:
J12 陣列公式: INDEX(B:B,SMALL(IF(C$1:C$48=I12,ROW($1:$48)),COUNTIF(I$12:I12,I12)))
祝順心,南無阿彌陀佛!
回复

使用道具 举报

 楼主| 发表于 2019-9-16 11:52 | 显示全部楼层
cutecpu 发表于 2019-9-13 03:41
H12公式: =RANK(I12,I$12:I$21)
J12公式: =OFFSET(B$2,MATCH(I12,C$3:C$48,)+COUNTIF(I$11:I11,I12),)

请帮忙再看一下,OFFSET函数不能对MATCH后面的COUNTIF函数匹配到的值进行计算。

A   100
B    99
C    100
D     95

比方说,正确的返回应该是第一名   100     A,第二名    100     C,
现在返回的是 第一名   100     A,第二名    100     B   ,
OFFSET 函数不能匹配到两个100后经COUNTIF自动加1跳到  C,而是跳到B.


望解答一下,谢谢!
回复

使用道具 举报

发表于 2019-9-16 12:03 | 显示全部楼层
sdsgod 发表于 2019-9-16 11:52
请帮忙再看一下,OFFSET函数不能对MATCH后面的COUNTIF函数匹配到的值进行计算。

A   100

8樓帖子已回復
公式不一樣了喔
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 15:51 , Processed in 1.534787 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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