excel按照学校统计总分分数段人数的vba代码
时间: 2024-05-20 16:16:12 浏览: 27
以下是一个可以按照学校统计总分分数段人数的VBA代码示例:
Sub ScoreDistribution()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim lastRow As Integer
Dim schoolName As String
Dim totalScore As Integer
Dim scoreRange As String
Dim scoreCount As Integer
'定义分数段范围数组
Dim scoreRanges As Variant
scoreRanges = Array("0-59", "60-69", "70-79", "80-89", "90-100")
'定义结果表格的表头
Range("A1").Value = "学校名称"
Range("B1").Value = "总分"
For i = LBound(scoreRanges) To UBound(scoreRanges)
Range("C1").Offset(0, i).Value = scoreRanges(i)
Next i
'获取数据表格的最后一行
lastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
'遍历数据表格,按照学校统计分数段人数
For i = 2 To lastRow
schoolName = Cells(i, 1).Value
totalScore = Cells(i, 2).Value
'查找总分所在的分数段范围
For j = LBound(scoreRanges) To UBound(scoreRanges)
scoreRange = scoreRanges(j)
If totalScore >= Split(scoreRange, "-")(0) And totalScore <= Split(scoreRange, "-")(1) Then
'在结果表格中找到对应的学校行,分数段列,人数+1
For k = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Range("A" & k).Value = schoolName Then
Range("C" & k).Offset(0, j - LBound(scoreRanges)).Value = Range("C" & k).Offset(0, j - LBound(scoreRanges)).Value + 1
Exit For
End If
Next k
Exit For
End If
Next j
Next i
End Sub
这段代码会在当前活动工作表上创建一个新的表格,列出每个学校在各个分数段的人数,具体列数根据定义的分数段数目而定。需要注意的是,这段代码假设数据表格中第一列为学校名称,第二列为总分,如果实际情况不同需要进行相应修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)