函式語法 語法 IF(logical_test,value_if_true,value_if_false)
功能 IF函式是條件判斷函式:如果指定條件的計算結果為 TRUE,IF 函式將返回某個值;如果該條件的計算結果為 FALSE,則返回另一個值。
例如IF(測試條件,結果1,結果2),即如果滿足“測試條件”則顯示“結果1”,如果不滿足“測試條件”則顯示“結果2”。
參數 (1)Logical_test 表示計算結果為 TRUE 或 FALSE 的任意值或
表達式 。
例如,A10=100 就是一個
邏輯表達式 ,如果
單元格 A10 中的值等於 100,表達式即為
TRUE ,否則為
FALSE 。本參數可使用任何比較運算符(=(等於)、>(大於)、>=(大於等於)、<=(小於等於等運算符))。
(2)Value_if_true表示 logical_test 為 TRUE 時返回的值。
例如,如果本參數為文本
字元串 “預算內”而且 logical_test 參數值為 TRUE,則 IF 函式將顯示文本“預算內”。如果 logical_test 為 TRUE 而 value_if_true 為空,則本參數返回 0。如果要顯示 TRUE,則請為本參數使用邏輯值 TRUE。value_if_true 也可以是其他公式。
(3)Value_if_false表示 logical_test 為 FALSE 時返回的值。
例如,如果本參數為文本字元串“超出預算”而且 logical_test 參數值為 FALSE,則 IF 函式將顯示文本“超出預算”。如果 logical_test 為 FALSE 且忽略了 value_if_false(即 value_if_true 後沒有逗號),則會返回
邏輯值 FALSE。如果 logical_test 為 FALSE 且 value_if_false 為空(即 value_if_true 後有逗號,並緊跟著右括弧),則本參數返回 0(零)。VALUE_if_false 也可以是其他公式。
說明 在Excel2003中 函式 IF 可以嵌套七層,在Excel2007中可以嵌套64層,用 value_if_false 及 value_if_true 參數可以構造複雜的檢測條件。
在計算參數 value_if_true 和 value_if_false 後,函式 IF 返回相應語句執行後的返回值。
如果函式 IF 的參數包含
數組 ( 用於建立可生成多個結果或可對在行和列中排列的一組參數進行運算的單個公式。數組區域共用一個公式;數組
常量 是用作參數的一組常量),則在執行 IF 語句時,數組中的每一個元素都將計算。
Excel表格 還提供了其他一些函式,可依據條件來分析數據。例如,如果要計算
單元格區域 中某個文本字元串或數字出現的次數,則可使用 COUNTIF
工作表函式 。如果要根據單元格區域中的某一文本
字元串 或數字求和,則可使用 SUMIF工作表函式。請了解關於根據條件計算值。
函式示例 如果您將示例複製到空白
工作表 中,可能會更易於理解該示例。
示例一 (1)IF(A2<=100,"Withinbudget","Overbudget"),
說明:如果上面的數字小於等於100,則公式將顯示“Withinbudget”。否則,公式顯示“Overbudget”。
結果:Withinbudget。
(2)IF(A2=100,SUM(B2:B5),"")
說明:如果上面數字為100,則計算單元格區域B2:B5之和,否則返回空文本。
結果:" "
示例二 A
B
1
實際費用
預算費用
2
1500
900
3
500
900
4
500
925
(1)IF(A2>B2,"OverBudget","OK"),結果:判斷第1行是否超出預算,結果為OverBudget;
(2)IF(A3>B3,"OverBudget","OK"),結果:判斷第2行是否超出預算,結果為OK
示例三 如果成績是
則返回
大於89
A
80到89
B
70到79
C
60到69
D
小於60
F
用上述關鍵字指定數字的字母等級。
(1)IF(A2>89,"A",IF(A2>79,"B",IF(A2>69,"C",IF(A2>60,"D","F")))),
結果:“F”
(2)IF(A3>89,"A",IF(A3>79,"B",IF(A3>69,"C",IF(A3>60,"D","F"))))
結果:“A”
(3)IF(A4>89,"A",IF(A4>79,"B",IF(A4>69,"C",IF(A4>60,"D","F"))))
結果:“C”
在上例中,第二個 IF 語句同時也是第一個 IF 語句的參數 value_if_false。同樣,第三個 IF 語句是第二個 IF 語句的參數 value_if_false。例如,如果第一個 logical_test (AVERAGE > 89) 為 TRUE,則返回“A”;如果第一個 logical_test 為 FALSE,則計算第二個 IF 語句,以此類推。