取成绩前几的学生
A. EXCEL中如何判定学生成绩属于多少名前
=IF(F2>343.5,"前100名",IF(AND(F2>=340.5,F2<342.5),"前200名",IF(AND(F2>=338,F2<343.5),"前300名","")))
下拉公式
B. 如何在EXCEL表格中选取分数前三的学生 姓名 成绩 张三 85 李四 100 王二麻子 90 赵六 70
1.选择不包含抄标题栏的数据区域,如图:
3.在“主要关键字”的下拉框中选择“成绩”
在右边点选“降序”
4.确定后就会按照成绩降序排列了
(PS:此为Excel2003的处理方法)
C. SQL语句:查询各班成绩前3的同学姓名
分析如下:
可以用row_number函数来解决。
1、创建测试表,插入数据:
(资料来源:网络:SQL语句)
D. 在EXCEL中怎么求成绩前10名学生中进步最大的学生
=INDEX(A:A,RIGHT(MAX(IF(C2:C21>=LARGE(C2:C21,10),--((C2:C21-B2:B21)&TEXT(ROW(A2:A21),"000")))),3))
数组公式,按Ctrl+Shift+Enter(三键同时按)结束公式输入。
(公式中数据区域根版据实际修改权)
E. 现在有两张表student和score,对每科的的成绩进行排名,取前三名学生的信息和排名
SQL Server 2008 Express 版本下测试通过
CREATE TABLE student (
[姓名] VARCHAR(10),
[学号] VARCHAR(10),
[出生年月] date
);
CREATE TABLE score (
[学号] VARCHAR(10),
[课程号] VARCHAR(10),
[成绩] int
);
INSERT INTO student
SELECT '凌大', '001', '2000-01-01' UNION ALL
SELECT '唐二', '002', '2000-02-02' UNION ALL
SELECT '张三', '003', '2000-03-03' UNION ALL
SELECT '李四', '004', '2000-04-04' UNION ALL
SELECT '王五', '005', '2000-05-05' UNION ALL
SELECT '赵六', '006', '2000-06-06';
INSERT INTO score
SELECT '001', 'ENGLISH', 91 UNION ALL
SELECT '002', 'ENGLISH', 92 UNION ALL
SELECT '003', 'ENGLISH', 93 UNION ALL
SELECT '004', 'ENGLISH', 94 UNION ALL
SELECT '005', 'ENGLISH', 95 UNION ALL
SELECT '006', 'ENGLISH', 96 UNION ALL
SELECT '001', 'MATH', 96 UNION ALL
SELECT '002', 'MATH', 95 UNION ALL
SELECT '003', 'MATH', 94 UNION ALL
SELECT '004', 'MATH', 93 UNION ALL
SELECT '005', 'MATH', 92 UNION ALL
SELECT '006', 'MATH', 91;
SELECT
*
FROM
(
SELECT
score.[课程号],
ROW_NUMBER() OVER (PARTITION BY score.[课程号] ORDER BY score.[成绩] DESC ) AS [排名],
student.*
FROM
student JOIN score
ON ( student.[学号] = score.[学号] )
) subQuery
WHERE
[排名] <= 3;
查询结果:
课程号 排名 姓名 学号 出生年月
---------- -------------------- ---------- ---------- ----------------
ENGLISH 1 赵六 006 2000-06-06
ENGLISH 2 王五 005 2000-05-05
ENGLISH 3 李四 004 2000-04-04
MATH 1 凌大 001 2000-01-01
MATH 2 唐二 002 2000-02-02
MATH 3 张三 003 2000-03-03
(6 行受影响)
F. EXCEL怎么提取前三名的姓名及各科分数
直接显示出名次,可以用rank()函数
按1234的顺序显示成绩,可以用large()函数
这两个函数不复杂,自己试一下
G. excel多表共同排名取前十名成绩和名字
多表或者多工作簿操作要麻烦一些,建议使用powerquery先将数据整合。
另外一个问题是:如果有15位并列第1,怎么取值?
H. SQL 查询各门成绩前两名的学生
你先抽一条数据来反过来理解这条SQL
比如 你表格里的第一条:陈六、政治
SQL里的子句你内把t.subject 替换成 我们这条数据真容实的值,就可以看出来
select top 2 stu_id from stu_score where subject='政治' order by score desc
就是查询我当前这条记录对应的subject(政治)里,成绩最高的两条数据的 stu_id。
我再提供一种写法给你
select*from(
selectt1.*,row_number()over()asfidfromstu_score)wherefid<=2
这种写法主要是row_number() over(partition by subject order by score desc),
意思是:我按照subject 分组,根据score排序从大到小,分别标出序号fid。也就是我把不同subject的成绩按从大到小排序,然后外层再取各自的前两名
I. Excel 根据成绩来提取前10学生信息,当有并列名次时,则要把所有的都提取出来,但只提取前10名,怎么办
假设你的数据在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)
填充公式