使用 IIf 函数以显示或计算值

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

IIf 函数具有以下语法︰

IIf (逻辑测试,如果为 true 的值,如果为 false 的值)

例如,若要计算销售税窗体上的文本框中,可以输入下面的表达式控件来源属性中的文本框中︰

= IIf([StateProvince] ="WA",[OrderTotal] * 0.095, 0)

翻译:如果 StateProvince 字段包含“WA”,则将 OrderTotal 乘以 0.095 以计算销售税。否则,返回结果为零。

嵌套 IIf

一旦您掌握 IIf 函数的窍门,则您将会发现嵌套函数非常强大。“嵌套”是您在另一个 IIf 函数中使用 IIf 函数,既可以是“value if true”,又可以为“value if false”参数(或两者兼备)。例如,假如项目已超过“截止日期”,您想在报告上的“状态”栏显示“逾期”。如果“截止日期”是今天,您想显示“截止今天”。如果尚未到达“截止日期”,您想让“状态”栏为空。假如今天是 2012 年 2 月 9 日,则您想看到一些类似这样的内容:

任务报告利用使用 IIF 函数的“状态”栏显示消息。

这可以通过使用两个 IIf 函数来完成,一个嵌套另一个的“value if false”参数。

= IIf ([函数的示例。] < Date (),"过期",IIf ([函数的示例。] = 日期 (),"今天到期"))

外部 IIf 将“截止日期”字段与当前日期(该日期由 Date() 函数返回)进行比较。在上述报告的头两个任务中,截止日期小于今日日期,因此外部 IIf 的逻辑检测计算结果为 True,并且它显示“逾期”。对于第三个任务(给车库刷漆)而言,外部 IIF 计算结果为“假”,因此嵌套 IIf 函数进行检测以查看截止日期是否等于当前日期。结果为等于,因此嵌套 IIf 显示“截止今天”。对于第四个任务(修剪树枝)而言,任一 IIf 函数计算结果都不为 True,因此不显示任何内容,因为嵌套 IIf 函数没有“value if false”参数。当然,在这种情况下,如果您希望显示某些内容,您可以添加参数。

一点忠告

嵌套 IIf 函数有趣,但通常不想再转深超过一项或两个级别。表达式很快就难以阅读和维护。如果您嵌套的 Iif 得较,您可能会考虑使用Switch 函数,其中提供了类似"if-然后"之类的逻辑。

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×