以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  这个公式怎样简化  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=4596)

--  作者:老有所乐
--  发布时间:2006/10/27 10:37:00
--  这个公式怎样简化
请教,下面这个公式可否简化?谢谢!
if([工龄] <= 3,"3年下",if([工龄] <= 5,"4-5年",if([工龄] <= 7,"6-7年",if([工龄] <= 9,"8-9年",if([工龄] <= 12,"10-12年",if([工龄] <= 14,"13-14年",if([工龄] <= 17,"15-17年",if([工龄] <= 19,"18-19年",if([工龄] <= 22,"20-22年",if([工龄] <= 24,"23-24年",if([工龄] <= 27,"25-27年",if([工龄] <= 29,"28-29年",if([工龄] <= 32,"30-32年",if([工龄] <= 34,"33-34年",if([工龄] <= 37,"35-37年",if([工龄] <= 39,"38-39年",if([工龄] <= 42,"40-42年",if([工龄] <= 44,"43-44年",if([工龄] <= 47,"45-47年","48年以上")))))))))))))))))))
--  作者:gdxhq
--  发布时间:2006/10/27 10:49:00
--  
那还不如用SelCase看得懂一点。
--  作者:ylm
--  发布时间:2006/10/27 10:53:00
--  
试试这样?
if([工龄] <= 3,"3年下",
if([工龄] >= 48,"48年以上",
if([工龄] <= 14,text([工龄]-1)+"-"+text([工龄]),
text([工龄]-2)+"-"+text([工龄]))))


--  作者:ylm
--  发布时间:2006/10/27 10:57:00
--  
晕,你那工龄减1减2好象没规律, 3 楼公式不行的.改SelCase吧
--  作者:老有所乐
--  发布时间:2006/10/27 13:40:00
--  
谢谢!用版主3楼的公式,工作年限段有2年段,有3年段,没有规律。用SelCase函数,又不能得出“4-5年”、“6-8年”这样的效果
--  作者:smileboy
--  发布时间:2006/10/27 13:44:00
--  
不可能得不出结果吧
--  作者:老有所乐
--  发布时间:2006/10/27 15:00:00
--  
下面引用由smileboy2006/10/27 01:44pm 发表的内容:
不可能得不出结果吧

是,如这样 SelCase([工龄] <= 3,"3年下",[工龄] <= 5,"4-5年",[工龄] <= 7,"6-7年",True,48) 提示语法错误 ,这样 SelCase([工龄] <= 3,3,[工龄] <= 5,4-5,[工龄] <= 7,6-7,True,48) ,这个“4-5”就成立4减去5,结果是-1


--  作者:wjq1072
--  发布时间:2006/10/27 20:40:00
--  
egd文件下载

-=-=-=- 以下内容由 wjq10722006年10月27日 09:25pm 时添加 -=-=-=-
SelCase([工龄] <= 3,"3年以下",[工龄] <= 5,"4-5年",[工龄] <= 7,"6-7年",[工龄] <= 9,"8-9年",[工龄] <=12,"10-12年",[工龄] <= 14,"13-14年",[工龄] <= 17,"15-17年",[工龄] <= 19,"18-19年",[工龄] <= 22,"20-22年",[工龄] <= 24,"23-24年",[工龄] <= 27,"25-27年",[工龄] <= 29,"28-29年",[工龄] <= 32,"30-32年",[工龄] <= 34,"33-34年",[工龄] <= 37,"35-37年",[工龄] <= 39,"38-39年",[工龄] <= 42,"40-42年",[工龄] <= 44,"43-44年",[工龄] <= 47,"45-47年",True,"48年以上")
--  作者:老有所乐
--  发布时间:2006/10/27 22:29:00
--  
可以了,谢谢!
--  作者:兰花草
--  发布时间:2006/10/28 16:01:00
--  
规律还是有的。这是根据规律写的公式:
If([工龄]<4,"3年以下",If([工龄]>47,"48年以上",If([工龄]<10 Or [工龄]>9 And Mod([工龄],10)>7,Concat([工龄]-Mod([工龄],2),"-",[工龄]-Mod([工龄],2)+1),Concat(If(Mod([工龄],5)<3,Int([工龄]*0.2)*5,[工龄]+Mod([工龄],2)-1),"-",If(Mod([工龄],5)<3,Int([工龄]*0.2)*5+2,[工龄]+Mod([工龄],2))))+"年"))