免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac547LINE 與社群533Google 服務465Windows 與電腦451Android 手機402Office 教學382網路新知372AI 工具118
Office 教學

Excel OR 函數教學:判斷多個條件是否至少有一個成立

OR 函數用來測試多個條件,只要有任何一個條件成立,結果就是 TRUE;所有條件都不成立時才回傳 FALSE。通常作為 IF 等邏輯函數的條件參數使用。

Excel OR 函數語法

=OR(邏輯值1, [邏輯值2], ...)
參數必填說明
邏輯值1是要測試的第一個條件或邏輯值,例如 A1>10。
邏輯值2選填要測試的第二個條件或邏輯值,最多可設定 255 個條件。

回傳:回傳布林值:TRUE(至少一個條件成立)或 FALSE(所有條件都不成立)。

適用版本:Excel 2007 以上、Microsoft 365。

OR 函數範例

範例 1:單純判斷出勤紀錄

判斷員工是否有遲到或早退的紀錄。

姓名遲到早退
王小明1
陳怡君
林志明1

在 D2 輸入公式:

=OR(B2, C2)

結果:TRUE。測試王小明是否有遲到(B2)或早退(C2)情形。因為 B2 為 TRUE,即使 C2 為 FALSE,只要有一個條件成立,OR 函數就會回傳 TRUE。

範例 2:搭配數值比較判斷獎金資格

判斷業務員是否符合發放獎金的資格(業績大於等於 50 萬或新客數大於等於 10 人)。

姓名業績(萬)新客數
王小明4512
陳怡君608
林志明405

在 D2 輸入公式:

=OR(B2>=50, C2>=10)

結果:TRUE。判斷王小明的業績是否大於等於 50 萬,或者新客數是否大於等於 10 人。雖然業績未達標,但新客數為 12 人符合條件,因此回傳 TRUE。

範例 3:結合 IF 函數發放津貼

判斷是否發放津貼,條件是所屬部門為「業務部」或年資大於等於 5 年,符合顯示「發放」,否則顯示「無」。

姓名部門年資
王小明行銷部6
陳怡君業務部2
林志明客服部3

在 D2 輸入公式:

=IF(OR(B2="業務部", C2>=5), "發放", "無")

結果:發放。OR 函數先判斷王小明是否在業務部或年資大於等於 5 年。因為年資為 6 符合條件,OR 回傳 TRUE,接著 IF 函數根據 TRUE 的結果回傳發放。

使用 OR 的技巧與注意事項

  • OR 函數最多可以接受 255 個條件參數。
  • 在陣列公式中,OR 函數會將整個陣列的結果合併為單一的 TRUE 或 FALSE,若需要逐列判斷,應改用加號 (+) 來進行邏輯 OR 運算。
  • 參數如果參照到空白儲存格或純文字,OR 函數會自動忽略這些值。

OR 常見錯誤與解決方法

錯誤原因解決方法
#VALUE!參數中沒有包含任何可以評估為 TRUE 或 FALSE 的邏輯值。確認參數範圍內是否有正確的條件判斷,或是是否參照到了純文字儲存格。
#NAME?公式中的文字沒有加上雙引號,導致 Excel 無法辨識。在條件中比對文字時,必須使用半形雙引號將文字包起來,例如 B2="業務部"。

Google 試算表可以用 OR 嗎?

Google 試算表完全支援 OR 函數,語法與用法與 Excel 完全相同,沒有任何差異。

下載 OR 範例檔

上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:OR 範例.xlsx(範例公式都在試算表軟體實際計算過)。

常見問題

OR 函數和 AND 函數有什麼不同?

OR 函數只要有一個條件成立就會回傳 TRUE,而 AND 函數必須所有條件都成立才會回傳 TRUE。OR 適合用在「擇一符合即可」的情境,AND 適合「必須全部符合」的情境。

為什麼我的 OR 函數結果出現 #VALUE! 錯誤?

當 OR 函數的參數中沒有任何可以評估為邏輯值(TRUE 或 FALSE)的內容時,就會出現 #VALUE! 錯誤。請檢查公式內的條件是否設定正確,例如是否有漏寫比較運算子。

OR 函數可以一次判斷一個範圍嗎?例如 OR(A1:A5="是")?

一般情況下,OR(A1:A5="是") 會將整個範圍視為一個整體,只要其中一格為「是」就會回傳單一的 TRUE。若要逐列產生結果,在較新版本的 Excel 中可以搭配 MAP 或 BYROW 函數使用。

這篇收錄在「Excel 函數字典」。