ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 李桥贵

[求助] 初中学生成绩分析

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-19 22:29 | 显示全部楼层
本帖最后由 李桥贵 于 2019-3-19 22:33 编辑
chxw68 发表于 2019-3-19 21:58
你的这个附件跟在另一个贴子里的附件不一样?两个贴子都不是为了工作?

褚老师,把名称命名错,发错,现已更正。原来生成班级表和总分分数段试着用函数
做,但是没有成功。
我才发帖求助。

TA的精华主题

TA的得分主题

发表于 2019-3-20 08:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. Sub dk()
  2.   Dim r%, i%
  3.   Dim arr, brr
  4.   Application.ScreenUpdating = False
  5.   Application.DisplayAlerts = False
  6.   With Worksheets("成绩")
  7.     r = .Cells(.Rows.Count, 1).End(xlUp).Row
  8.     arr = .Range("a3:s" & r)
  9.     ReDim brr(1 To UBound(arr), 1 To 13 * 3)
  10.     For j = 4 To 16
  11.       imax = Application.Max(Application.Index(arr, 0, j))
  12.       m = 0
  13.       For i = 2 To UBound(arr)
  14.         If arr(i, j) = imax Then
  15.           m = m + 1
  16.           n = j * 3 - 11
  17.           brr(m, n) = arr(i, 1)
  18.           brr(m, n + 1) = arr(i, 3)
  19.           brr(m, n + 2) = arr(i, j)
  20.         End If
  21.       Next
  22.     Next
  23.   End With
  24.   With Worksheets("单科")
  25.     .UsedRange.Offset(3, 0).Clear
  26.     .Range("a4").Resize(UBound(brr), UBound(brr, 2)) = brr
  27.     r = .UsedRange.Find(what:="*", LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious).Row
  28.     With .Range("a3:am" & r)
  29.       .Borders.LineStyle = xlContinuous
  30.       .HorizontalAlignment = xlCenter
  31.       .VerticalAlignment = xlCenter
  32.     End With
  33.     With .Range("a4:am" & r)
  34.       With .Font
  35.         .Name = "微软雅黑"
  36.         .Size = 12
  37.       End With
  38.     End With
  39.     .Rows("4:" & r).RowHeight = 22.5
  40.   End With
  41. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-3-20 08:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先写个最简单的单科统计代码。

综合成绩分析.rar

134.27 KB, 下载次数: 91

TA的精华主题

TA的得分主题

发表于 2019-3-20 08:30 | 显示全部楼层
  1. Sub yx()
  2.   Dim r%, i%
  3.   Dim arr, brr
  4.   Dim d As Object
  5.   Application.ScreenUpdating = False
  6.   Application.DisplayAlerts = False
  7.   Set d = CreateObject("scripting.dictionary")
  8.   With Worksheets("成绩")
  9.     r = .Cells(.Rows.Count, 1).End(xlUp).Row
  10.     arr = .Range("a4:s" & r)
  11.   End With
  12.   For i = 1 To UBound(arr)
  13.     If arr(i, 17) > 800 Then
  14.       If Not d.exists(arr(i, 2)) Then
  15.         m = 1
  16.         ReDim brr(1 To 5, 1 To m)
  17.       Else
  18.         brr = d(arr(i, 2))
  19.         m = UBound(brr, 2) + 1
  20.         ReDim Preserve brr(1 To 5, 1 To m)
  21.       End If
  22.       brr(1, m) = arr(i, 1)
  23.       brr(2, m) = arr(i, 3)
  24.       brr(3, m) = arr(i, 17)
  25.       brr(4, m) = arr(i, 18)
  26.       brr(5, m) = arr(i, 19)
  27.       d(arr(i, 2)) = brr
  28.     End If
  29.   Next
  30.   With Worksheets("优秀")
  31.     .UsedRange.Offset(3, 0).ClearContents
  32.     n = 1
  33.     For Each aa In d.keys
  34.       brr = d(aa)
  35.       ReDim crr(1 To UBound(brr, 2), 1 To UBound(brr))
  36.       For i = 1 To UBound(brr)
  37.         For j = 1 To UBound(brr, 2)
  38.           crr(j, i) = brr(i, j)
  39.         Next
  40.       Next
  41.       .Cells(2, n + 2) = aa
  42.       With .Cells(4, n).Resize(UBound(crr), UBound(crr, 2))
  43.         .Value = crr
  44.       End With
  45.       .Cells(4, n).Resize(UBound(crr), UBound(crr, 2)).Sort key1:=.Cells(4, n + 3), order1:=xlAscending, Header:=xlGuess
  46.       n = n + 6
  47.     Next
  48.   End With
  49. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-3-20 08:31 | 显示全部楼层
由易到难,又写了优秀的代码。

综合成绩分析.rar

139.43 KB, 下载次数: 331

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-3-20 10:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
其他的表格设计得很奇怪!有些怎么统计也看不懂。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-20 20:32 | 显示全部楼层
chxw68 发表于 2019-3-20 10:31
其他的表格设计得很奇怪!有些怎么统计也看不懂。

老师我再修改一下,谢谢您。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-20 21:00 | 显示全部楼层
本帖最后由 李桥贵 于 2019-3-20 21:02 编辑

老师,我也试着做了一下,能力有限做得不好。做了个利用总成绩表生成班级表,是分两步完成,麻烦您帮忙优化一下代码。
综合成绩分析1.zip (274.23 KB, 下载次数: 18)

TA的精华主题

TA的得分主题

发表于 2019-3-20 21:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
李桥贵 发表于 2019-3-20 21:00
老师,我也试着做了一下,能力有限做得不好。做了个利用总成绩表生成班级表,是分两步完成,麻烦您帮忙优化 ...

你的统计表很特别!以前从没见过这样统计的,人为的增加了一些麻烦。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-21 10:20 | 显示全部楼层
chxw68 发表于 2019-3-20 21:11
你的统计表很特别!以前从没见过这样统计的,人为的增加了一些麻烦。

因为是学区的统一要求上报格式。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 04:47 , Processed in 0.040190 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表