-
IF函數有三個參數,文法如下:
=IF(條件判斷, 結果為真傳回值, 結果為假傳回值)
第一參數是條件判斷,比如說“A1="百度"”或“21>37”這種,結果傳回TRUE或FALSE。如果判斷傳回TRUE那麼IF函數傳回值是第二參數,否則傳回第三參數。
-
2
如上圖,
=IF(1>2,"判斷真","判斷假")
其中判斷1大于2結果是假也就是FALSE,是以單元格傳回第三參數文本“判斷假”。
-
3
第一參數在某些情況下不是用比較判斷符号來判斷的。Excel中将0認為是FALSE,非0值等價于TRUE。是以如下圖,B1公式為:
=IF(SUM(A1:A2),"判斷真","判斷假")
因為A1:A2合計大于0,是以傳回第二參數文本“判斷真”。
- END

IF函數參數省略用法簡介:
-
1
Excel中很多函數部分參數可以省略,IF函數也一樣。如下圖B1的公式為:
=IF(1>2,"判斷真")
省略了第三參數,則傳回第三參數值時會傳回FALSE。這對求滿足條件最大值和最小值是由實際意義的,效果與0不同。
-
2
如果把公式改成:
=IF(1>2,"判斷真",)
公式中通過第二參數後的逗号給第三參數留了位置,但是沒有輸入任何值,那麼預設是傳回0這個數字的。也就是逗号後面不輸入參數預設傳回值為0。
-
3
第二參數也是一樣的規律,如果公式改成:
=IF(3>2,,"判斷假")
第二參數位于兩個逗号之間,沒有輸入值,則預設傳回0。
-
4
如果将公式改成:
=IF(3>2,TRUE,FALSE)
則單元格會傳回TRUE或FALSE這兩個邏輯值結果之一。
- END
IF普通公式單條件表達:
-
1
如下圖,B2公式為:
=IF(A2>29,"不惑","小年輕")
這是IF函數單條件表達的方式,第一參數隻有一個比較。
- IF單條件表達可以用數軸的方式來了解。整個數軸是全體,判斷為TRUE傳回結果為數軸的一部分;判斷為FALSE傳回結果是數軸的其餘所有部分,兩個部分不會交叉。
- END
IF普通公式多條件同時滿足表達:
-
如下圖,如果A2大于29且B2是“A”則傳回優秀,其餘結果傳回空。C2公式為:
=IF(AND(A2>29,B2="A"),"優秀","")
這裡用AND()函數表達了多個判斷條件,隻有所有判斷都傳回TRUE才傳回“優秀”。
-
大家在使用IF多條件判斷的時候一定要考慮全面,不要漏掉可能!以上面的兩個條件,且沒有嵌套IF的例子說明。
可以将兩個條件用縱橫兩條線交叉表示,同時滿足“大于34,為A”的結果隻占所有可能的四分之一,也就是其他所有可能都傳回空。如果3個條件你排除的可能更多,如果再嵌套IF繼續判斷……
-
重點提醒:
如果有多個條件并且嵌套判斷,一定要考慮清楚所有的情況,否則容易出現預期之外的錯誤傳回,很多情況是漏考慮了某些情況!
END
IF普通公式多條件滿足其一即可表達:
-
上面講述了同時滿足多個條件,那麼滿足多條件之一如何表達呢?C2輸入公式:
=IF(OR(A2="A",B2>100),"合格","不合格")
IF函數中可以用OR()函數來表達滿足條件之一,也就是OR()函數内的判斷隻要有一個傳回TRUE,OR()函數整體就傳回TRUE。
-
提醒:
使用多個OR()函數并且還有IF嵌套的情況下更要考慮所有情況,避免遺漏。
END
IF數組公式同時滿足多條件表達:
-
如下圖,要求A列為“A”且B列大于40的B列資料合計,C2輸入公式:
=SUM(IF((A2:A4="A")*(B2:B4>40),B2:B4))
左手按住Ctrl+Shift,右手按回車運作公式。
-
這裡(A2:A4="A")和(B2:B4>40)的判斷分别傳回TRUE或FALSE,其中的星号可以了解為“乘号”,在運算時TRUE相當于1,FALSE相當于0,是以隻有兩個傳回值都是TRUE,乘積才是1;隻要有一個FALSE,也就是隻要有一個不滿足條件,傳回結果就是0。而IF第一參數中非0值相當于TRUE,是以可以達到同時滿足兩個條件統計的目的。
END
IF數組公式滿足多條件表達:
-
如下圖,要求A列為“A”或B列大于40的B列資料合計,C2輸入公式:
=SUM(IF((A2:A4="A")+(B2:B4>40),B2:B4))
左手按住Ctrl+Shift,右手按回車運作公式
- 把同時滿足多條件的乘号改成加号就達到了“或者”的目的。因為隻要有一個是TRUE,相加結果就是1,如果兩個都是TRUE相加結果就是2。是以達到了判斷結果相加,隻要結果非0就計算B列資料合計的目的。