以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这样的平均分要求如何实现? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185501) |
-- 作者:hbfnmxb -- 发布时间:2023/2/26 15:46:00 -- 这样的平均分要求如何实现? 如下图: 此主题相关图片如下:5.png 如果三次成绩都有,则按三次成绩相加,再除以3,得到平均分。个别学生缺考,有的缺考一次,有的缺考两次。 少一次成绩的,按两次成绩相加再除以2来计算平均分。 少两次成绩的,则按一次成绩除以1来计算平均分,老师这个平均分列的公式或者按钮或者DataColChanging,如何来写,谢谢老师!
|
-- 作者:有点蓝 -- 发布时间:2023/2/26 20:17:00 -- 使用2个变量,一个计数,一个求和 然后遍历这3个列,如果列1 有数据,计数+1,求和累加;如果列2 有数据,计数+1,求和累加;....。最后求和值除以计数值即可
|
-- 作者:天宇科技 -- 发布时间:2023/2/27 11:28:00 -- 你没有明白他的意思,他是横向求和,不是纵向求和。 |
-- 作者:天宇科技 -- 发布时间:2023/2/27 11:29:00 -- 你要先明确0分和空格都算缺考吗?还是只有空格才算缺考 |
-- 作者:hbfnmxb -- 发布时间:2023/2/27 15:49:00 -- 0分和空格都算缺考,横向求和。老师公式怎么写?谢谢。 |
-- 作者:有点蓝 -- 发布时间:2023/2/27 16:02:00 -- 就是2楼的用法 for each s as string in {"成绩1",“成绩2”,....} if e.datarow(s) > 0 then 计数 += 1 求和 += e.datarow(s) end if if 计数 > 0 then e.datarow(“平均”) = 求和 / 计数 els e.datarow(“平均”) = nothing end if
|
-- 作者:hbfnmxb -- 发布时间:2023/2/27 19:09:00 -- 感谢老师 |
-- 作者:hbfnmxb -- 发布时间:2023/2/27 20:04:00 -- 提示这个,不知道错在哪里 此主题相关图片如下:00a.png 代码如下: Dim 计数, 求和 As Double For Each s As String In {"位次22年", "位次21年", "位次20年"} If e.DataRow(s) > 0 Then 计数 += 1 求和 += e.DataRow(s) End If If 计数 > 0 Then e.DataRow("排名均分") = 求和 / 计数 Else e.DataRow("排名均分") = Nothing End If Next |
-- 作者:有点蓝 -- 发布时间:2023/2/27 20:15:00 -- 我只是写了关键的逻辑,自己学会写完整的代码:http://www.foxtable.com/webhelp/topics/2044.htm |
-- 作者:hbfnmxb -- 发布时间:2023/2/27 21:23:00 -- 没学会之前,还需要请教老师 |