[这个贴子最后由不同凡响在 2012/04/06 11:10am 第 3 次编辑]
上次测试4楼文件,主要功能都实现了,非常好,这次运用在三率排名上出现了这么个情况:在一个年级有5个班,其中有4个班的优秀率为0,现在这4个班的优秀率排名却不一样(如图一所示),最合理的结果应该是:这4个班的优秀率排名应该一样(如图二所示)
总之就是如何处理相同排名的问题.因为还可能有这种情况:假如这五班的优秀率分别是:1班2.50% 2班4.05% 3班6.00% 4班6.00% 5班12.00%,那么这个时候的优秀率排名应该为:1班排第5、2班排第4、3班排第2、4班也排第2、5班排第1
请朋友们帮看看,怎么用公式使三率的排名都能达到这样的要求。
图一
egd文件下载我细看了总分排名上的已经很好的处理了这个相同排名的问题,可是找代码了来看,也看不出奥妙所在,应该在以下的代码中怎么修改呢
If([%科目%] = "",MsgBox("请选择科目后再执行此操作!",1),SetLabel("","开始统计,请稍候!") And ClearGrid("统计表") And CopyRows("统计表") And If([%学校%] <> "",DelFor("统计表","学校", "<>" ,[%学校%]), True ) And If([%班别%] <> "",DelFor("统计表","班别", "<>" ,[%班别%]), True ) And EvalFor("统计表","标识","If(Instr([项目],[%科目%]) >= 0,0,-1)") And RecalcGrid("统计表",1) And DelFor("统计表","标识", "=" ,-1) And DelFor("统计表","项目", "=" ,"") And DelFor("统计表","学校", "=" ,"","班别", "=" ,"") And SortCol("统计表","及格率",2) And RecalcCol("统计表","及格率名次","及格率名次") And SortCol("统计表","优秀率",2) And RecalcCol("统计表","优秀率名次","优秀率名次") And SortCol("统计表","低分率",1) And RecalcCol("统计表","低分率名次","低分率名次") And SortCol("统计表","班别",1) And SortCol("统计表","学校",1))