请教高手!初二年级期中考试成绩电子表,如何用数组公式一次求出某一个班的语文平均分、后30%的均分? 请教高手!现有初二年级期中考试成绩电子表格,共12个班,有班级、语文、数学、英语、物理成绩信息,如何用数组公式一次求出某一个班的语文平均分、及格率、及后30%的均分?在此感谢了!
建议楼主用一段宏代码来做筛选(按班级筛选),并将筛选结果放到一个新表中,然后再用那个数组公式求值。 补充:给你做了一个自定义函数,试试吧。在EXCEL中按ALT F11调出VBA0窗口,插入一个用户模块,把下面代码粘贴进去。 Function pf(b As String, bj As Range, fw As Range)Dim a()jg = 60 '及格分数线x = fw。Rows。Countn = WorksheetFunction。 CountIf(bj, b) '从得到班级的总行数s = 1ReDim a(1 To n)For i = 1 To x If bj。Cel...全部
建议楼主用一段宏代码来做筛选(按班级筛选),并将筛选结果放到一个新表中,然后再用那个数组公式求值。 补充:给你做了一个自定义函数,试试吧。在EXCEL中按ALT F11调出VBA0窗口,插入一个用户模块,把下面代码粘贴进去。
Function pf(b As String, bj As Range, fw As Range)Dim a()jg = 60 '及格分数线x = fw。Rows。Countn = WorksheetFunction。
CountIf(bj, b) '从得到班级的总行数s = 1ReDim a(1 To n)For i = 1 To x If bj。Cells(i, 1) = b Then a(s) = fw。
Cells(i, 1): s = s 1Next'总分k = WorksheetFunction。Sum(a())'及格人数For i = 1 To n If a(i) >= jg Then l = l 1Next'后30%m = WorksheetFunction。
Round(n * 0。3, 0)For i = 1 To n For j = i To n If a(i) > a(j) Then w = a(i): a(i) = a(j): a(j) = w NextNextFor i = 1 To m h = h a(i) '后30%总分Nexthou = WorksheetFunction。
Round(h / m, 1)pjf = WorksheetFunction。Round(k / n, 1)jgl = WorksheetFunction。Round(l / n * 100, 1) & "%"pf = b & "平均分:" & pjf & "," & "及格率:" & jgl & "," & "后30%均分:" & houEnd Function用法:假设“班级”在A列的A2:A15,班级分为“一班”、“二班”、… 。
语文分数在G列的G2:G15,在任意单元格用下面公式可得出“一班”的三项指标: =pf("一班",A2:A15,G2:G15)输出结果样式为 “一班平均分:60,及格率:50%,后30%均分:20”。
收起