使用 IIf 函數顯示或計算值

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

IIf 函數語法如下 ︰

IIf(logical test, value if true, value if false)

例如,要依照表單文字方塊的值來計算消費稅,您可以將以下運算式輸入至該文字方塊的 [控制項資料來源]

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

翻譯:如果 StateProvince 欄位中含有 "WA",則計算消費稅:OrderTotal 欄位乘以 0.095。否則,就會傳回零。

巢狀 IIfs

一旦熟悉 IIf 函數後,您會發現以巢狀方式使用此函數的效果更為強大。「巢狀」指的是在一個 IIf 函數中使用另一個 IIf 函數,使其作為「value if true」或「value if false」參數 (或同時使用這兩個參數)。例如,假設要在報表的狀態欄將逾期的項目顯示為「逾期」。如果到期日為今日,就顯示「今天到期」。如果到期日未到,則將狀態欄留白。假設今天的日期為 2012 年 2 月 9 日,則應該看到如此畫面:

使用 IIf 函數顯示狀態欄訊息的工作報表。

這可以使用兩個 IIf 函數寫成,其中一個函數以巢狀方式作為另一個函數的「value if false」參數:

= IIf ([DueDate] < Date (),"逾期",IIf ([DueDate] = Date (),「 到期今天 」))

外側的 IIf 會將 DueDate 欄位比對今天日期 (由 Date() 函數傳回)。以前面報表中的前兩個工作為例,到期日在今天日期之前,所以外側的 IIf 邏輯測試值為真,結果顯示「過期」。而第三個工作 (油漆車庫),外側 IIf 值為假,所以會執行巢狀 IIf 的測試,判斷到期日是否等於今天日期。若是,則巢狀 IIf 會顯示「今天到期」。第四個工作 (修剪樹木) 中,兩個 IIf 都不為真,而因為巢狀 IIf 的「value if false」沒有參數,所以不會顯示任何文字。當然,若要在這裡顯示文字,您可以加入參數。

使用小提醒

使用巢狀 IIf 函數是有趣,但您通常不想到多個或兩個層。運算式可以快速變得難以閱讀及維護。如果您的巢狀 IIfs 取得縮小的手中,您可以考慮使用Switch 函數,會提供類似 「 if – 然後 」 類型的邏輯。

頁面頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×