Chapter 6. 函式 (一):邏輯與運算 › 6.3 邏輯運算子
6.3 邏輯運算子
OR / AND / NOT 三個函式的回傳值都是布林值,公式的語法如下:
語法 | |
輸入 | 邏輯運算式_n:即輸出是 TRUE / FALSE 的項目,通常是公式。 |
輸出 | TRUE / FALSE,其輸出的原則如下圖所示:
|
以下使用三個範例簡單說明以上三個函式的用法:
- 甲至少有一科超過 60 分
公式
=OR(B2>60,C2>60,D2>60)
解說
OR 的輸入共包含三項,分別為三個科目是否超過 60 分,在此結果為 =OR(TRUE,TRUE,TRUE),因此結果為 TRUE。
- 甲三科都超過 60 分
公式
=AND(B2>60,C2>60,D2>60)
解說
AND 的輸入共包含三項,分別為三個科目是否超過 60 分,在此結果為 =AND(TRUE,TRUE,TRUE),因此結果為 TRUE。
- 甲的國文沒有超過 60 分
公式
=NOT(B2>60)
解說
因為 B2>60 為 TRUE,所以 =NOT(TRUE) 的結果為 FALSE。
上述範例的介紹應該能了解三個函式的邏輯。然而要判斷邏輯運算子有另一種方式,就是使用第 6.1 節所說的將 TRUE / FALSE 作為數字 1/0 進行運算,雖然公式比較不直觀但較有彈性,接下來提供三個較複雜的範例,先比較兩種方式的差異,再示範如何使用新的方式進行邏輯運算子的各種運算:
- 丙或丁三科都超過 60 分
公式
方法一:使用 OR + AND 完成
=OR(AND(B4>60,C4>60,D4>60),AND(B5>60,C5>60,D5>60))方法二:使用 TRUE / FALSE 的加減完成
=(((B4>60)+(C4>60)+(D4>60)=3)+((B5>60)+(C5>60)+(D5>60)=3))>=1解說
方法一:使用 AND + OR 完成
- 外層 OR:即 =OR(丙三科都超過 60 分,丁三科都超過 60 分)。
- 內層 AND:丙三科都超過 60 分為 AND(B4>60,C4>60,D4>60)」、丁三科都超過 60 分為 AND(B5>60,C5>60,D5>60)。
方法二:使用 TRUE / FALSE 的加減完成
- 外層:即 (丙三科都超過 60 分)+(丁三科都超過 60 分)>=1,因為只要任一個學生三科都超過 60 分,就會是 TRUE,兩者相加必會 >=1,反之若兩個學生都不符合就會是 FALSE,此時 FALSE+FALSE=0。
- 內層:丙三科都超過 60 分為 (B4>60)+(C4>60)+(D4>60)=3、丁三科都超過 60 分為 (B5>60)+(C5>60)+(D5>60)=3)。
綜合兩種方式,方法一比較直觀且好理解。
- 丙有兩科以上 (含) 超過 60 分
公式
=(B3>60)+(C3>60)+(D3>60)>=2
解說
在此雖然也可以使用 AND + OR 完成,但過程會非常複雜,反之若使用 TRUE / FALSE 加減完成較為方便。
- 將兩科以上 (含) 未達 60 分的學生整列 (A:D 欄) 填滿顏色設定為「淺紅色 3」
結果

公式
套用範圍「A1:D9」,自訂公式「=($B1<60)+($C1<60)+($D1<60)>=2」。
解說
- 套用範圍:因為要整列變更底色,因此設為 A1:D9。
- 格式規則:使用「自訂公式:=($B1<60)+($C1<60)+($D1<60)>=2」,其中所有欄位都使用絕對參照,才能加到每個學生三個科目的分數。
- 格式設定樣式:填滿顏色設定為「淺紅色 3」。
