excel 得分率怎么算:有30名学生考试,每小题的得分情况分别有,求每小题的得分率.有简便方法么?

作者:佚名    更新日期:2025-06-22
因为你的问题描述得不是太清楚,我暂时先做如下理解:
如你这个小题的分数在D列(D2——D31),如果第32行记录得分率那样你可以在D32单元格内写入函数:=sum($D$2:D31)/(30*10) 就是说=sum($D$2:D31)/(学生数*小题分数),其他小题也采取这个函数,不过要改到相应列。
进一步完善:如果你在第33行中记入第个小题的满分,那么就可以把上述函数写为:=sum($D$2:D31)/(30*D33) ,其他也类似,举一反三。
希望对你有所帮助,如果没有理解你的意思(弱弱地告诉你,楼上的那函数有问题,不信你带进去试试),请再问

无奈叹水东流,你写的公式为什么要用绝对地址,下题要用这公式还要修改,不如用相对地址不用改了。
每小题的分数你肯定要输入了。输入的字段是姓名、得分。效果如下
A B C D E ... Excel列
1 姓名 一 二 三 .... 小题序号
2 张三 10
3 李四 10
4 ... ...
32 得分率 =sum(B2:B31)/(学生人数*题分)
方法:
1.先输入表格的表头框架,再输入姓名及题目得分,然后再输入公式。
2.在B32里输入=sum(B2:B31)/(学生人数*题分),设置单元格格式为百分比(不会就追问)
(后面题目的得分率用填充柄填充。 )
谢谢楼下朋友提醒,专注写每1小题,忘了顾后边了

Sub sdm_2()
Rem 求各队的得分率
Dim cel, res
Dim d_zs As Object
Dim d_df As Object
Dim logrow As Long
Dim rag As Range
Set d_zs = CreateObject("Scripting.Dictionary")
Set d_df = CreateObject("Scripting.Dictionary")
For Each rag In Range("A:A")
If rag.Value <> "" Then
If d_zs.exists(rag.Value) Then
d_zs(rag.Value) = d_zs(rag.Value) + 1
Else
d_zs(rag.Value) = 1
End If
If d_df.exists(rag.Value) Then
d_df(rag.Value) = d_df(rag.Value) + rag.Offset(0, 1).Value
Else
d_df(rag.Value) = rag.Offset(0, 1).Value
End If
Else
Exit For
End If
Next
res = d_zs.keys
For logrow = 0 To d_zs.Count - 1
Range("G" & logrow + 1) = res(logrow)
Range("H" & logrow + 1) = d_df(res(logrow)) / d_zs(res(logrow))
Next
End Sub
另外,虚机团上产品团购,超级便宜

excel表有每个学生对每道题所选择的答案,如何根据标准答案快速查出学生每道题的得分率?~

excel答题得分帮搞定

1、首先在Excel表格中输入计分项目、分数的数据,需要计算得分率。

2、在C2单元格中输入计算公式:=B2/SUM($B$2:$B$8)。

3、点击回车生成计算结果,并下拉公式填充C列,即可得到全部的得分率,此时显示的是小数格式。

4、选中得分率的单元格并点击“开始”选项卡中的“百分数”快捷图标和小数位数快捷图标。

5、即可将选中的得分率设置为百分数和小数点后两位的格式了。