学生成绩表格
A. 怎么用表格公式比较学生成绩上升或下降
假如Q3输入你要查找的姓名
此姓名第一次考试排名:
R3输入下面公式:
=IF($Q3="","",VLOOKUP($Q3,$B:$D,2,0))
S3输入下面公式:
=IF($Q3="","",VLOOKUP($Q3,$B:$D,3,0))
此姓名第二次考试排名:
T3输入下面公式:
=IF($Q3="","",VLOOKUP($Q3,$F:$H,2,0))
U3输入下面公式:
=IF($Q3="","",VLOOKUP($Q3,$F:$H,3,0))
此姓名第三次考试排名:
V3输入下面公式:
=IF($Q3="","",VLOOKUP($Q3,$J:$L,2,0))
W3输入下面公式:
=IF($Q3="","",VLOOKUP($Q3,$J:$L,3,0))
此姓名第四次考试排名:
X3输入下面公式:
=IF($Q3="","",VLOOKUP($Q3,$N:$P,2,0))
Y3输入下面公式:
=IF($Q3="","",VLOOKUP($Q3,$N:$P,3,0))
复制粘贴公式后,按CTRL+SHIFT+ENTER确认输入公式,下拉就行
B. excel表格如何学生成绩排序
选中整个表格。
记住,这里是选中整个表格,不是某一列。
然后点菜单栏里的
“
数据”--“排序”
跳出一个对话框,“主要关键字”选择分数所在的列
C. 用Word2003绘制一张“学生成绩表”
3、插入表格(7列,9行)。
4、在A1单元格绘制斜线表头。
5、在表格第一行输入学号、科目、姓名、英语、高等数学、计算机基础、总分、平均分。
真不知道7-1为什么等于8!
D. Excel表格学生成绩及格率和优秀率的求法
1、打开Excel表格,列好成绩表。
E. excel做学生成绩表,如果用函数计算出成绩中的成绩等级
这不难啊
=if(a1>=80,"优秀",IF(A1>=70,"中等",IF(A1>=60,"合格","不合格")))
在往下拉就好了
F. SQL语句求一个学生表的学生成绩的平均成绩
问题:假设有张学生成绩表(tb)如下:
姓名
课程
分数
张三
语文
74
张三
数学
83
张三
物理
93
李四
语文
74
李四
数学
84
李四
物理
94
想变成(得到如下结果):
姓名
语文
数学
物理
----
----
----
----
李四
74
84
94
张三
74
83
93
-------------------
*/
create
table
tb(姓名
varchar(10)
,
课程
varchar(10)
,
分数
int)
insert
into
tb
values('张三'
,
'语文'
,
74)
insert
into
tb
values('张三'
,
'数学'
,
83)
insert
into
tb
values('张三'
,
'物理'
,
93)
insert
into
tb
values('李四'
,
'语文'
,
74)
insert
into
tb
values('李四'
,
'数学'
,
84)
insert
into
tb
values('李四'
,
'物理'
,
94)
go
--sql
server
2000
静态sql,指课程只有语文、数学、物理这三门课程。(以下同)
select
姓名
as
姓名
,
max(case
课程
when
'语文'
then
分数
else
0
end)
语文,
max(case
课程
when
'数学'
then
分数
else
0
end)
数学,
max(case
课程
when
'物理'
then
分数
else
0
end)
物理
from
tb
group
by
姓名
--sql
server
2000
动态sql,指课程不止语文、数学、物理这三门课程。(以下同)
declare
@sql
varchar(8000)
set
@sql
=
'select
姓名
'
select
@sql
=
@sql
+
'
,
max(case
课程
when
'''
+
课程
+
'''
then
分数
else
0
end)
['
+
课程
+
']'
from
(select
distinct
课程
from
tb)
as
a
set
@sql
=
@sql
+
'
from
tb
group
by
姓名'
exec(@sql)
--sql
server
2005
静态sql。
select
*
from
(select
*
from
tb)
a
pivot
(max(分数)
for
课程
in
(语文,数学,物理))
b
--sql
server
2005
动态sql。
declare
@sql
varchar(8000)
select
@sql
=
isnull(@sql
+
'],['
,
'')
+
课程
from
tb
group
by
课程
set
@sql
=
'['
+
@sql
+
']'
exec
('select
*
from
(select
*
from
tb)
a
pivot
(max(分数)
for
课程
in
('
+
@sql
+
'))
b')
---------------------------------
/*
问题:在上述结果的基础上加平均分,总分,得到如下结果:
姓名
语文
数学
物理
平均分
总分
----
----
----
----
------
----
李四
74
84
94
84.00
252
张三
74
83
93
83.33
250
*/
--sql
server
2000
静态sql。
select
姓名
姓名,
max(case
课程
when
'语文'
then
分数
else
0
end)
语文,
max(case
课程
when
'数学'
then
分数
else
0
end)
数学,
max(case
课程
when
'物理'
then
分数
else
0
end)
物理,
cast(avg(分数*1.0)
as
decimal(18,2))
平均分,
sum(分数)
总分
from
tb
group
by
姓名
--sql
server
2000
动态sql。
declare
@sql
varchar(8000)
set
@sql
=
'select
姓名
'
select
@sql
=
@sql
+
'
,
max(case
课程
when
'''
+
课程
+
'''
then
分数
else
0
end)
['
+
课程
+
']'
from
(select
distinct
课程
from
tb)
as
a
set
@sql
=
@sql
+
'
,
cast(avg(分数*1.0)
as
decimal(18,2))
平均分
,
sum(分数)
总分
from
tb
group
by
姓名'
exec(@sql)
--sql
server
2005
静态sql。
select
m.*
,
n.平均分
,
n.总分
from
(select
*
from
(select
*
from
tb)
a
pivot
(max(分数)
for
课程
in
(语文,数学,物理))
b)
m,
(select
姓名
,
cast(avg(分数*1.0)
as
decimal(18,2))
平均分
,
sum(分数)
总分
from
tb
group
by
姓名)
n
where
m.姓名
=
n.姓名
--sql
server
2005
动态sql。
declare
@sql
varchar(8000)
select
@sql
=
isnull(@sql
+
','
,
'')
+
课程
from
tb
group
by
课程
exec
('select
m.*
,
n.平均分
,
n.总分
from
(select
*
from
(select
*
from
tb)
a
pivot
(max(分数)
for
课程
in
('
+
@sql
+
'))
b)
m
,
(select
姓名
,
cast(avg(分数*1.0)
as
decimal(18,2))
平均分
,
sum(分数)
总分
from
tb
group
by
姓名)
n
where
m.姓名
=
n.姓名')
drop
table
tb
G. 如何运用excel制作学生成绩统计表
那还不如按照
班级或年级
排序再复制