我發現有一些初學者在使用 IF 這類函數時,必須使用邏輯判斷,在此不少人卡關。

先想想:數學上「4<X<8」,如果以邏輯表示,應該是「X>4 AND X<8」。

以 Excel 方式表示「AND(A1>4,A1<8)」或是運算「(A1>4)*(A1<8)」。

以上看起來應該還算簡單易於理解,實際來看 Excel 中的實例中的問題。

Excel-IF、IFS、設定格式化條件的邏輯判斷

以下四個公式可以得到相同的結果:

儲存格B4公式:=IF(B4>60,"C",IF(B4>30,"B","A"))

儲存格B4公式:=IF(B4<31,"A",IF(B4<61,"B","C"))

儲存格B4公式:=IFS(B4>60,"C",B4>30,"B",B4>0,"A")

儲存格B4公式:=IFS(B4<31,"A",B4<61,"B",B4<91,"C")

你可不能死背公式的用法,要小心邏輯問題。

例如:

儲存格B4公式:=IF(B4>60,"C",IF(B4>30,"B","A"))

公式由左至右執行,會先判斷條件:B4>60,

(1) 如果條件成立,則會輸出「C」,也不會執行公式:IF(B4>30,"B","A")。

(2) 如果條件不成立,則會繼續執行公式:IF(B4>30,"B","A")。

也就是說執行(1),就不會執行(2)。

Excel-IF、IFS、設定格式化條件的邏輯判斷

如果公式修改如下,則運算式不會出錯,但是結果是錯的。

例如:87, 45, 21 都是小於 91,因此都會傳回結果 C。

所以這是個錯誤的公式設計。

Excel-IF、IFS、設定格式化條件的邏輯判斷

以下這幾個公式,觀念都是以此類推。

儲存格B4公式:=IF(B4<31,"A",IF(B4<61,"B","C"))

儲存格B4公式:=IFS(B4>60,"C",B4>30,"B",B4>0,"A")

儲存格B4公式:=IFS(B4<31,"A",B4<61,"B",B4<91,"C")

現在,問題延伸至設定格式化的條件上。

Excel-IF、IFS、設定格式化條件的邏輯判斷

設定的方式如下:

(1) 儲存格B5預設儲存格底色為紅色。

(2) 儲存格B5格式化的條件:=B4>60,儲存格底色為藍色

(3) 儲存格B5格式化的條件:=B4>30,儲存格底色為綠色

以上的順序不可改變。

Excel-IF、IFS、設定格式化條件的邏輯判斷

如果在設定格式化條件時,將條件:=B4>30先於條件:=B4>60。(和上述順序相反)

則會出現以下的錯誤。數值87仍顯示綠色。因為 B4>30 先成立,所以顯示了綠色。

Excel-IF、IFS、設定格式化條件的邏輯判斷

當在執行邏輯判斷時,真的要注意執行的先後順序。

注意公式裡由左至右的邏輯順序,設定格式化的條件裡的先後邏輯順序。

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel IF IFS 邏輯
    全站熱搜

    vincent 發表在 痞客邦 留言(2) 人氣()