以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  求助多个条件下的If公式  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=28105)

--  作者:sqw129
--  发布时间:2015/9/14 14:47:00
--  求助多个条件下的If公式
原公式:If([部门属性]="湖州商客",53,If([部门属性]="德清商客",53,If([部门属性]="长兴商客",53,If([部门属性]="安吉商客",53,If([实际里程]>30,FindText("运费标准表","大于30公里","车号","=",[车号]),FindText("运费标准表","小于等于30公里","车号","=",[车号]))))))   意思是:如果是部门属性是XX商客,为53。其他部门属性的话,如果实际里程>30,从运费标准表中的“大于30公里”这一列(并车号与车号对上)取数,如实际里程<=30公里,从运费标准表中的“小于等于30公里”这一列(并车号与车号对上)取数。
现在我要修改为:部门属性是XX商客的,如实际里程<=55,为43,如实际里程>55,从运费标准表中的“大于30公里”这一列(并车号与车号对上)取数。其他部门属性的话,如果实际里程>30,从运费标准表中的“大于30公里”这一列(并车号与车号对上)取数,如实际里程<=30公里,从运费标准表中的“小于等于30公里”这一列(并车号与车号对上)取数。我的公式是:If([部门属性]="湖州商客" And If([实际里程]<=55,43,If([部门属性]="德清商客" And If([实际里程]<=55,43,If([部门属性]="长兴商客" And If([实际里程]<=55,43,If([部门属性]="安吉商客" And If([实际里程]<=55,43,If([实际里程]>30,FindText("运费标准表","大于30公里","车号","=",[车号]),FindText("运费标准表","小于等于30公里","车号","=",[车号]))))))))))   提示错误。请问这个公式怎么编写?

--  作者:sqw129
--  发布时间:2015/9/15 9:19:00
--  
求助版主,能解决一下吗?
--  作者:cnzayu
--  发布时间:2015/9/15 14:34:00
--  

上传文件

 


--  作者:sqw129
--  发布时间:2015/9/16 9:06:00
--  
已上传,谢谢!
--  作者:dancedy
--  发布时间:2015/9/19 22:31:00
--  

看看是不是这样

if(instr("商客",[部门属性]) > - 1,if([实际里程] > 55,43,FindText("运费标准表","大于30公里","车号","=",[车号])),if([实际里程] > 30,FindText("运费标准表","大于30公里","车号","=",[车号]),FindText("运费标准表","小于等于30公里","车号","=",[车号])))

 

提问最好传上示例文件


--  作者:sqw129
--  发布时间:2015/9/22 15:31:00
--  
谢谢版主!问题解决了!高手啊