Excel 根据成绩来提取前10学生信息,当有并列名次时,则要把所有的都提取出来,但只提取前10名,怎么办?
发布网友
发布时间:2022-05-09 21:11
我来回答
共4个回答
热心网友
时间:2023-10-21 13:59
假设你的数据在SHEET1第一行是标题
数据在A-D列
现在第一步 在A列前插入一列,使得数据在B-E列
A2=IF(COUNTIF(D$2:D$1000,D2)>1,D2-ROW()/10000,D2)
向下填充公式,这里支持999人中选择前10名(分值不能有0.01分,如88.23分)
隐藏A列
结果在Sheet2
B2=VLOOKUP(LARGE(Sheet1!$A$2:$A$1000,$A2),Sheet1!$A$2:$D$1000,2,FALSE)
C2=VLOOKUP(LARGE(Sheet1!$A$2:$A$1000,$A2),Sheet1!$A$2:$D$1000,3,FALSE)
D2=VLOOKUP(LARGE(Sheet1!$A$2:$A$1000,$A2),Sheet1!$A$2:$D$1000,4,FALSE)
填充公式
热心网友
时间:2023-10-21 13:59
不需要表二;更不需要用什么公式去硬性地找出相应名次的学生信息,其实很简单就可以实现你想要的结果,就是把表一中的名次一列剪切到学号列前面,选中名次 学号 姓名 成绩四个格子,点数据——筛选——自动筛选,就会出现四个小倒立的三角形,在名次的那个三角形上点一下,按升序排列,就ok了。我说的够清楚了吧。这个名次不知道你是不是用rank函数自动得出的,如果是,成绩相同则名次也相同,并且有两个第6的话就不会再有第7了。
热心网友
时间:2023-10-21 14:00
你排名次的时候,如果有两个第一名,会有第二名吗?
如果有:
A1=名次 B1(空) C1=学号 D1=姓名 E1=成绩
A2=1
A3=IF(B2<COUNTIF(表1!D:D,A2),A2,A2+1)
往下拷。
B2=COUNTIF($A$2:$A2,$A2)
往下拷。
C3=INDEX(表1!$A:$D,SMALL(IF(表1!$D$2:$D$100=$A2,ROW(表1!$A$2:$A$100)),$B2),COLUMN()-2)
输完公式按Ctrl+Shift+Enter
C3={INDEX(表1!$A:$D,SMALL(IF(表1!$D$2:$D$100=$A2,ROW(表1!$A$2:$A$100)),$B2),COLUMN()-2)}
把公式拷到 D2 和 E2
再往下拷。
如果有两个第一名,就没有第二名
只要把 A3 改成
=IF(B2<COUNTIF(表1!D:D,A2),A2,A2+B2)
往下拷就可以了
热心网友
时间:2023-10-21 14:01
非要公式?
你选中表1数据--点数据---排序--按升序--确定
这样就排完了,然后复制前10名到表二