IF 函數
檢查是否符合提供為第一個引數的條件。 如果條件為 TRUE,傳回一個值;如果條件為 FALSE,則傳回另一個值。
語法
IF(logical_test>,<value_if_true>, value_if_false)
參數
詞彙 |
定義 |
---|---|
logical_test |
可評估為 TRUE 或 FALSE 的任何值或運算式。 |
value_if_true |
邏輯測試結果為 TRUE 時所傳回的值。 如果省略,則傳回 TRUE。 |
value_if_false |
邏輯測試結果為 FALSE 時所傳回的值。 如果省略,則傳回 FALSE。 |
傳回值
運算式可以傳回之任何類型的值。
備註
如果省略 value_if_true 或 value_if_false 的值,IF 會將其視為空字串值 ("")。
如果在運算式中參考的值為資料行,IF 會傳回對應至目前資料列的值。
IF 函數會嘗試傳回資料行中的單一資料類型。 因此,如果 value_if_true 和 value_if_false 傳回的值屬於不同的資料類型,IF 函數會隱含地轉換資料類型以容納資料行中的值。 例如,公式 IF(<condition>,TRUE(),0) 會傳回 1 和 0 的資料行,而且結果可以加總,但是公式 IF(<condition>,TRUE(),FALSE()) 只會傳回邏輯值。 如需有關隱含資料類型轉換的詳細資訊,請參閱<PowerPivot 活頁簿中支援的資料類型>。
範例
下列範例會從 Adventure Works DW Multidimensional 2012 的資料表 FactCallCenter 中,使用評估資料行 Calls 中之數目的巢狀 IF 函數。 此函數會指派一個標籤,如下所示:如果呼叫數目小於 200,指派 low;如果呼叫數目小於 300 但不小於 200,指派 medium;如果是其他所有值,則指派 high。
=IF([Calls]<200,"low",IF([Calls]<300,"medium","high"))
下列範例會在 Adventure Works DW Multidimensional 2012 中使用來自資料表 ProspectiveBuyer 的資料行,取得加州區域中包含潛在客戶的城市清單。 此清單是針對已婚人士或家中有小孩的人規劃的行銷活動,因此,IF 函數中的條件會檢查資料行 [MaritalStatus] 和 [NumberChildrenAtHome] 的值,並輸出符合其中一個條件,而且客戶位於加州的城市。否則,它會輸出空字串。
=IF([StateProvinceCode]= "CA" && ([MaritalStatus] = "M" || [NumberChildrenAtHome] >1),[City])
請注意,若要控制使用 AND (&&) 和 OR (||) 運算式的順序,請使用括號。 同時也請注意,value_if_false 尚未指定任何值。 因此,此函數會傳回預設值,也就是空字串。