标题:请教IIF命令的使用方法!!
只看楼主
小主板
Rank: 2
等 级:论坛游民
帖 子:187
专家分:21
注 册:2009-6-28
结帖率:57.14%
已结贴  问题点数:20 回复次数:21 
请教IIF命令的使用方法!!
条件如下:
1、参加值班,并有指标的人员(正处900、副处800、正科700、副科600、股级500、干事400)
2、参加值班,没有指标的人员(正处800、副处700、正科600、副科500、股级400、干事300)
3、不参加值班,没有指标的人员(正处700、副处600、正科500、副科400、股级300、干事200)
4、不参加值班,有指标的人员(在条件3基础上,加60)
期待大家的帮助,本人类似问题昨天已经发贴,得到sdta、茵梦湖、qjbzjp等老师的帮助,但本人愚笨,不会用iif命令,导致条件变化,不可以很好地应用!!
希望大家继续能够帮助我!!
 

搜索更多相关主题的帖子: 指标 
2012-05-25 15:23
小主板
Rank: 2
等 级:论坛游民
帖 子:187
专家分:21
注 册:2009-6-28
得分:0 
期待回复!!!!
2012-05-25 15:24
sxy166
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:68
专家分:127
注 册:2012-3-28
得分:4 
IIF(值班=1,IIF(指标=1,;
    IIF(职务='正处',900,IIF(职务='副处',800,IIF(职务='正科',700,IIF(职务='副科',600,IIF(职务='股级',500,IIF(职务='干事',400,0))))));&&值班有指标
    ,IIF(职务='正处',800,IIF(职务='副处',700,IIF(职务='正科',600,IIF(职务='副科',500,IIF(职务='股级',400,IIF(职务='干事',300,0))))))),;&&值班没指标
        IIF(指标=1,IIF(职务='正处',760,IIF(职务='副处',660,IIF(职务='正科',560,IIF(职务='副科',460,IIF(职务='股级',360,IIF(职务='干事',260,0)))))),;&&不值班有指标
        IIF(职务='正处',700,IIF(职务='副处',600,IIF(职务='正科',500,IIF(职务='副科',400,IIF(职务='股级',300,IIF(职务='干事',200,0))))))))&&不值班没指标
2012-05-25 16:29
小主板
Rank: 2
等 级:论坛游民
帖 子:187
专家分:21
注 册:2009-6-28
得分:0 
谢谢sxy166,我试下
2012-05-25 16:43
小主板
Rank: 2
等 级:论坛游民
帖 子:187
专家分:21
注 册:2009-6-28
得分:0 
谢谢sxy166,没有成功,提示语法错误
2012-05-25 16:53
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
iif()函数判断条件是否为T,为T时选择前一个参数,F选择后一个参数。对前一个参数又可以用IIF()函数按条件再分成两个选择参数。
要判断的条件少时,可以简化命令,但要判断的条件多时,最好还是用DO case……为好。

相互学习,互相交流,共同提高。
2012-05-25 17:03
sxy166
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:68
专家分:127
注 册:2012-3-28
得分:0 
在程序里运行试试,如果在命令窗口 要把分号删了

还是用循环好,这样太难读懂了

[ 本帖最后由 sxy166 于 2012-5-25 17:10 编辑 ]
2012-05-25 17:08
小主板
Rank: 2
等 级:论坛游民
帖 子:187
专家分:21
注 册:2009-6-28
得分:0 
2012-05-25 17:11
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:4 
楼主的条件比较多,加个自定义函数也许会简单一些,好处是,再增加条件修改起来很容易:
REPLACE all 金额 with;
        zwfuct(职务)+IIF(指标=1,IIF(值班=1,100,60),0);
        +IIF(值班=1,100,0)

FUNCTION zwfuct
    PARAMETERS zwjt
    DO case
        CASE zwjt="正处"
             zw= 700
        CASE zwjt="副处"
             zw= 600
        CASE zwjt="正科"
             zw= 500
        CASE zwjt="副科"
             zw= 400
        CASE zwjt="股级"
             zw= 300
        OTHERWISE
             zw= 200
    ENDCASE
    RETURN zw
ENDFUNC
没有仔细测试,楼主自己测试吧。

相互学习,互相交流,共同提高。
2012-05-25 17:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:4 
呵呵,这是很典型的常见情形,我看你最后怎么处理。

授人以渔,不授人以鱼。
2012-05-25 18:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-368025-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.146315 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved