Excel BITOR 函數:執行兩數值的位元 OR (邏輯或) 運算完整指南
Excel BITOR 函數:執行兩數值的位元 OR (邏輯或) 運算完整指南
📅 發布日期:2026-09-07
🏷️ 分類:數值與數學 Excel 工作表函數
💡 函數速查卡
| 函數名稱 | BITOR |
|---|---|
| 所屬類別 | 工程函數 (Engineering) / 數學與三角函數 |
| 傳回類型 | 非負整數 (Non-negative Integer) |
| 常用頻率 | ★★☆☆☆ |
在 Excel 進行底層資料處理或工程邏輯計算時,BITOR 函數用於對兩個十進位整數進行**位元層級的 OR (逐位元或) 運算**。它會先將傳入的兩數轉為二進位,針對每個相同位置的位元,只要其中一個為 1 則該位元結果即為 1,最後再將二進位結果轉換回十進位數值傳回。此函數常用於系統權限遮罩組合、硬體暫存器設定以及狀態 Flag 標記疊加作業。
一、 基本語法與參數
BITOR 函數的標準語法結構如下:
=BITOR(number1, number2)
| 參數 | 說明 | 預設值 / 必填 |
|---|---|---|
number1 |
要進行 OR 運算的第一個十進位非負整數,必須大於或等於 0,且小於 2^48 (281,474,976,710,656)。 | 必填 |
number2 |
要進行 OR 運算的第二個十進位非負整數,必須大於或等於 0,且小於 2^48。 | 必填 |
二、 核心功能說明
BITOR 運算遵循「任一為 1 即為 1」的二進位邏輯規則:
0 BITOR 0 = 00 BITOR 1 = 11 BITOR 0 = 11 BITOR 1 = 1
例如:計算 BITOR(5, 3)
- 數值 5 的二進位表示為:
101 - 數值 3 的二進位表示為:
011 - 逐位元進行 OR 運算結果為:
111(二進位) - 將
111轉回十進位即得到 **7**。
三、 實用公式範例
範例 1:基本數值運算與比較
傳入兩組非負整數,計算位元 OR 運算後的結果:
' 5 (101) BITOR 3 (011) -> 傳回 7 (111)
=BITOR(5, 3)
' 12 (1100) BITOR 10 (1010) -> 傳回 14 (1110)
=BITOR(12, 10)
範例 2:權限系統中的 Flag 標記疊加(開啟特定權限)
假設系統採用 Bitwise 權限架構:讀取權限=1 (bit 0)、寫入權限=2 (bit 1)、執行權限=4 (bit 2)。若使用者目前已有讀取權限(1),欲為其疊加執行權限(4):
' A2 為目前權限碼 (1),B2 為欲開啟的權限碼 (4)
=BITOR(A2, B2) ' 結果傳回 5 (1 + 4,具備讀取與執行權限)
範例 3:多個數值的連續位元 OR 組合(巢狀使用)
若需要對三個以上的數值同時進行位元 OR 運算,可透過巢狀方式組合:
' 將 A1, B1, C1 三個單元格的位元狀態進行完整合併
=BITOR(BITOR(A1, B1), C1)
四、 常見陷阱與注意事項
⚠️ 注意事項 1:輸入負數或超出上限會傳回 #NUM! 錯誤
BITOR 僅支援介於 0 到 (2^48 - 1) 之間的數值。若傳入負數(例如 =BITOR(-1, 5))或大於等于 281,474,976,710,656 的數值,公式將傳回 #NUM! 錯誤。
⚠️ 注意事項 2:非整數與文字型態轉換問題
若輸入參數包含小數,Excel 會自動截斷(Truncate)小數部分僅保留整數進行運算。若參數為無法轉換為數值的純文字,則會傳回
若輸入參數包含小數,Excel 會自動截斷(Truncate)小數部分僅保留整數進行運算。若參數為無法轉換為數值的純文字,則會傳回
#VALUE! 錯誤。
五、 相關函數推薦
BITAND:執行兩數值的位元 AND (邏輯與) 運算,用於權限遮罩過濾。BITXOR:執行兩數值的位元 XOR (邏輯互斥或) 運算。BITLSHIFT / BITRSHIFT:對數值進行位元左移(Shift Left)或右移(Shift Right)運算。
六、 官方文件連結
想進一步瞭解微軟官方說明與更多邊界情境,可參考:
留言
張貼留言