以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  大家帮我看下这公式错在哪?  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=24058)

--  作者:蜜蜂
--  发布时间:2013/1/3 13:22:00
--  大家帮我看下这公式错在哪?

在“当日奖金”列

if([模具类型]=12 and [开机人数]=2 and [产量] >= 32000,25,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 30000,20,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 28000,15,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 24000,5,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 26000,10,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 34000,30,0))))))

 

按公式当“产量”等于或超出34000时,“当日奖金”是30的,但总不成立!求解???

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


--  作者:wjq1072
--  发布时间:2013/1/3 14:38:00
--  

逻辑判断是有顺序先后的,你公式中第一个判断[产量] >= 32000,25;那么34000当然也是 >= 32000的,所以就只能是25了!

if([模具类型]=12 and [开机人数]=2 and [产量] >= 34000,30,
if([模具类型]=12 and [开机人数]=2 and [产量] >= 32000,25,
if([模具类型]=12 and [开机人数]=2 and [产量] >= 30000,20,
if([模具类型]=12 and [开机人数]=2 and [产量] >= 28000,15,
if([模具类型]=12 and [开机人数]=2 and [产量] >= 26000,10,
if([模具类型]=12 and [开机人数]=2 and [产量] >= 24000,5,0))))))

[此贴子已经被作者于2013-1-16 19:47:34编辑过]

--  作者:秋天
--  发布时间:2013/1/8 16:58:00
--  

乱了,要一条一条理顺


--  作者:黄子峰
--  发布时间:2013/1/16 15:49:00
--  

我认为2楼的公式也是不符合数学逻辑的。比如,[产量] >= 34000,30,与[产量] >= 32000,25,当产量为35000时是同时符合上述二个条件的。可能易表在这种情况下默认第二个条件是产量大于等于32000,小于34000。

如果按数学逻辑,公式应该为:


if([模具类型]=12 and [开机人数]=2 and [产量] >= 34000,30,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 32000and [产量] < 34000,25,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 30000and [产量] < 32000,20,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 28000and [产量] < 30000,15,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 26000and [产量] < 28000,10,

if([模具类型]=12 and [开机人数]=2 and [产量] >= 24000and [产量] < 26000,5,0))))))


--  作者:dancedy
--  发布时间:2013/1/16 16:44:00
--  
二楼的为正解的,当产量为35000时,会先判断第一个条件[产量] >= 34000,如果满足就会显示为30,不会再进行第二个条件[产量] >= 32000的判断的。