以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]应如何设置某列多条件取值的表达式?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=15536)

--  作者:rociel1123
--  发布时间:2011/12/30 13:09:00
--  [求助]应如何设置某列多条件取值的表达式?

简单描述一下情况,希望能得到高手的帮助。

 

我需要用某列进行“个调税计算”,大致需求是”工资“为某值之间或等于某值时,个调税按”工资“乘以制定比例得出。这样的条件有很多个,需要自动判断“工资”的范围计算个调税。

 

我在帮助文件中只找到了表达式的“IIF”函数,该函数只能根据true或者false返回制定的2个值,不知此应用上FOXTABLE应如何深化设置?

 

真心求教,不胜感激!


--  作者:czy
--  发布时间:2011/12/30 13:14:00
--  
如果用表达式,用多个iif就可以。
--  作者:狐狸爸爸
--  发布时间:2011/12/30 14:17:00
--  
没错,iif可以嵌套,多少个条件都可以。
--  作者:rociel1123
--  发布时间:2011/12/31 10:20:00
--  

感谢楼上2位的解答,昨天刚发完帖子就断网了,未能及时致谢及补充问题

 

想问一下如何进行IIF函数的嵌套,及相关表达式格式

 

我在帮助文件中查到的是

 

“IIF([金额] > 1000, \'贵\', \'便宜\') ”

 

是否可设置为  IIF([工资]<=3500,\'0\',\'IIF(3500<[工资]<4500,\'[工资]*0.03\',\'IIF(...)\')\')这样的无限IF?


--  作者:狐狸爸爸
--  发布时间:2011/12/31 10:26:00
--  

呵呵,是否无限真的不知道,但是目前没有见过iif不够用的。

 


--  作者:rociel1123
--  发布时间:2011/12/31 10:32:00
--  
多谢楼上,中午我去试一下这个方法,如果有问题我把我写的表达式发上来再行咨询是否格式错误.
--  作者:狐狸爸爸
--  发布时间:2011/12/31 10:47:00
--  
呵呵,先用短的测试,ok了,再逐步加长。
--  作者:rociel1123
--  发布时间:2011/12/31 11:24:00
--  

回楼上,希望能帮忙检查一下我写的表达式

 

我先用简单的尝试了一下,我的需求是:如果[类别]为“车辆”,则[年折旧率]为0.15;如果[类别]为“电子设备”,则[年折旧率]为0.1;如果[类别]为"家具",则[年折旧率]为0.05;否则[年折旧率]为“待定”。

 

我用的表达式如下

 

IIF([入库信息_类别] = \'车辆\',0.15,\'IIF([入库信息_类别]=\'电子设备\',0.1,\'IIF([入库信息_类别]=\'家具\',0.05,\'待定\')\')\')

 

错误提示为“语法错误;“电子设备”运算符后缺少操作数。”

 

望告知原因或修正表达式,万分感激。


--  作者:狐狸爸爸
--  发布时间:2011/12/31 11:28:00
--  
IIF([入库信息_类别] = \'车辆\',0.15,IIF([入库信息_类别]=\'电子设备\',0.1,IIF([入库信息_类别]=\'家具\',0.05,\'待定\')))
--  作者:rociel1123
--  发布时间:2011/12/31 11:33:00
--  

回楼上,依旧出错。

提示为:

“表达式错误,如果确定表达式无语法错误,且从你家运算的各列名称准确无误,那么请检查各列的数据类型是否正确,例如只有数值列才能参与加、减、乘、除扥数学运算!”