if函數
(一)IF函數說明 IF函數用於執行真假值判斷後,根據邏輯測試的真假值返回不同的結果,因此 If函數也稱之為條件函數。它的應用很廣泛,可以使用函數 IF 對數值和公式進行條件檢測。 它的語法為IF(logical_test,value_if_true,value_if_false)。其中Logical_test表示計算結果為 TRUE 或 FALSE 的任意值或表達式。本參數可使用任何比較運算符。 Value_if_true顯示在logical_test 為 TRUE 時返回的值,Value_if_true 也可以是其他公式。Value_if_false logical_test 為 FALSE 時返回的值。Value_if_false 也可以是其他公式。 簡言之,如果第一個參數logical_test返回的結果為真的話,則執行第二個參數Value_if_true的結果,否則執行第三個參數 Value_if_false的結果。IF 函數可以嵌套七層,用 value_if_false 及 value_if_true 參數可以構造復雜的檢測條件。 Excel 還提供了可根據某一條件來分析數據的其他函數。例如,如果要計算單元格區域中某個文本串或數字出現的次數,則可使用 COUNTIF 工作表函數。如果要根據單元格區域中的某一文本串或數字求和,則可使用 SUMIF 工作表函數。
(二)IF函數應用
1、 輸出帶有公式的空白表單
圖1 人事分析表1
以圖中所示的人事狀況分析表為例,由於各部門關於人員的組成情況的數據尚未填寫,在總計欄(以單元格G5為例)公式為:
=SUM(C5:F5)
我們看到計算為0的結果。如果這樣的表格打印出來就頁面的美觀來看顯示是不令人滿意的。是否有辦法去掉總計欄中的0呢?你可能會說,不 寫公式不就行了。當然這是一個辦法,但是,如果我們利用了IF函數的話,也可以在寫公式的情況下,同樣不顯示這些0。如何實現呢?只需將總計欄中的公式 (僅以單元格G5為例)改寫成:
=IF(SUM(C5:F5),SUM(C5:F5),"")
通俗的解釋就是:如果SUM(C5:F5)不等於零,則在單元格中顯示SUM(C5:F5)的結果,否則顯示字符串。
幾點說明:
(1) SUM(C5:F5)不等於零的正規寫法是SUM(C5:F5)<>0,在EXCEL中可以省略<>0; (2) ""表示字符串的內容為空,因此執行的結果是在單元格中不顯示任何字符。
如果對上述例子有了很好的理解後,我們就很容易將IF函數應用到更廣泛的領域。比如,在成績表中根據不同的成績區分合格與不合格。現在我們就以某班級的英語成績為例具體說明用法。
圖2
某班級的成績如圖6所示,為了做出最終的綜合評定,我們設定按照平均分判斷該學生成績是否合格的規則。如果各科平均分超過60分則認為是合格的,否則記作不合格。
根據這一規則,我們在綜合評定中寫公式(以單元格B12為例):
=IF(B11>60,"合格","不合格")
語法解釋為,如果單元格B11的值大於60,則執行第二個參數即在單元格B12中顯示合格字樣,否則執行第三個參數即在單元格B12中顯示不合格字樣。
在綜合評定欄中可以看到由於C列的同學各科平均分為54分,綜合評定為不合格。其余均為合格。
3、 多層嵌套函數的應用
在上述的例子中,我們只是將成績簡單區分為合格與不合格,在實際應用中,成績通常是有多個等級的,比如優、良、中、及格、不及格等。有辦法一次 性區分嗎?可以使用多層嵌套的辦法來實現。仍以上例為例,我們設定綜合評定的規則為當各科平均分超過90時,評定為優秀。如圖7所示。
圖3
說明:為了解釋起來比較方便,我們在這裡僅做兩重嵌套的示例,您可以按照實際情況進行更多重的嵌套,但請注意Excel的IF函數最多允許七重嵌套。
根據這一規則,我們在綜合評定中寫公式(以單元格F12為例):
=IF(F11>60,IF(AND(F11>90),"優秀","合格"),"不合格")
語法解釋為,如果單元格F11的值大於60,則執行第二個參數,在這裡為嵌套函數,繼續判斷單元格F11的值是否大於90(為了讓大家體會一下 AND函數的應用,寫成AND(F11>90),實際上可以僅寫 F11>90),如果滿足在單元格F12中顯示優秀字樣,不滿足顯示合格字樣,如果F11的值以上條件都不滿足,則執行第三個參數即在單元格F12 中顯示不合格字樣。
在綜合評定欄中可以看到由於F列的同學各科平均分為92分,綜合評定為優秀