以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]等级划分的代码怎么修改才能达到想要的效果?  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=41884)

--  作者:缘来如此
--  发布时间:2019/1/21 12:42:00
--  [求助]等级划分的代码怎么修改才能达到想要的效果?

这是一个等级划分的代码,为何出现相同的数值被划分在两个等级,要怎么修改才能达到图示左边的效果,请求各位帮助,谢谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:等级.egd


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190121123758.png
图片点击可在新窗口打开查看


这是在易表上划分的效果


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190121124419.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/1/21 12:53:03编辑过]

--  作者:iyplx2425
--  发布时间:2019/1/21 14:32:00
--  
[等级]刷新公式:IF(Row <= [数值] * 0.05,"A+",IF(Row <= [数值] * 0.15,"A",IF(Row <= [数值] * 0.3,"B+",IF(Row <= [数值] * 0.5,"B",IF(Row <= [数值] * 0.75,"C+",IF(Row <= [数值] * 0.75,"C",IF(Row <= [数值] * 0.85,"D+",IF(Row <= [数值] * 0.95,"D","E"))))))))
按F6即可。

--  作者:缘来如此
--  发布时间:2019/1/21 17:49:00
--  
以下是引用iyplx2425在2019/1/21 14:32:00的发言:
[等级]刷新公式:IF(Row <= [数值] * 0.05,"A+",IF(Row <= [数值] * 0.15,"A",IF(Row <= [数值] * 0.3,"B+",IF(Row <= [数值] * 0.5,"B",IF(Row <= [数值] * 0.75,"C+",IF(Row <= [数值] * 0.75,"C",IF(Row <= [数值] * 0.85,"D+",IF(Row <= [数值] * 0.95,"D","E"))))))))
按F6即可。


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190121174658.png
图片点击可在新窗口打开查看

多谢大师帮忙,可测试的效果如图所示,没有达到想要的效果,是哪出了问题呢

 

下图是用电子表格划出的等级 ,这个才是我想要的效果,哪位大师帮忙看看,谢谢。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190121202424.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/1/21 20:26:00编辑过]

--  作者:缘来如此
--  发布时间:2019/1/22 9:08:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190121174658.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190121202424.png
图片点击可在新窗口打开查看

 

一样的等级比例标准,在数值相同的情况下,易表为什么划分了不同的等级、而EXcel只划分一个等级,有没有办法也让易表在数值相同的情况下只划分一个等级呢


--  作者:lyjzyq
--  发布时间:2019/1/22 14:51:00
--  
按照你的描述应该是数值在不同比例标准下的等级,这样公式应该为
SortCol("数值",2) And EvalFor(GridName,"等级","If([数值] >95,""A+"", If([数值] >85,""A"",If([数值] >70,""B+"",If([数值] >50,""B"",If([数值] >30,""C+"", If([数值] >15,""C"",If([数值] >5,""D"",""E"")))))))")
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:等级.egd




--  作者:缘来如此
--  发布时间:2019/1/22 15:54:00
--  
以下是引用lyjzyq在2019/1/22 14:51:00的发言:
按照你的描述应该是数值在不同比例标准下的等级,这样公式应该为
SortCol("数值",2) And EvalFor(GridName,"等级","If([数值] >95,""A+"", If([数值] >85,""A"",If([数值] >70,""B+"",If([数值] >50,""B"",If([数值] >30,""C+"", If([数值] >15,""C"",If([数值] >5,""D"",""E"")))))))")
 下载信息  [文件大小:4.6 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:等级.egd

测试了一下,正是我想的效果,非常感谢。


--  作者:缘来如此
--  发布时间:2019/1/22 16:38:00
--  


此主题相关图片如下:qq图片20190122163549.png
按此在新窗口浏览图片
怪事,换另一组数值测试的结果又出差错,100个数值,5%的A+  怎么划出这么多A+来呢?

错误的根源找到了,

这组代码是默认从100往下降序排列,前5%为A+,其他类推,如果是任意数几百个,数千个数值,降序排列也能实现这样的排序效果就好

A+ 5%
A 10%
B+ 15%
B 20%
C+ 20%
C 15%
D 10%
E 5%

原因找到了,可不知道怎么修改代码

 

[此贴子已经被作者于2019/1/22 17:20:01编辑过]

--  作者:lyjzyq
--  发布时间:2019/1/23 20:34:00
--  
这个是否你的意思
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:等级1.egd



--  作者:缘来如此
--  发布时间:2019/1/24 18:15:00
--  
以下是引用lyjzyq在2019/1/23 20:34:00的发言:
这个是否你的意思
 下载信息  [文件大小:4.7 KB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:等级1.egd


完美,谢谢。


--  作者:iyplx2425
--  发布时间:2019/1/27 10:37:00
--  
[等级]的刷新公式为:IF(Row <= Rows * 0.05,"A+",IF(Row <= Rows * 0.15,"A",IF(Row <= Rows * 0.3,"B+",IF(Row <= Rows * 0.5,"B",IF(Row <= Rows * 0.7,"C+",IF(Row <= Rows * 0.85,"C",IF(Row <= Rows * 0.95,"D","E"))))))),好像就可以了啊。