Excel

【Excel】BITXOR関数の使い方|2つの数値をビットごとに排他的論理和(XOR)で演算する方法

BITXOR関数は、Excelでビット演算を扱う際に役立つ論理演算関数のひとつです。
この関数は、2つの数値をビットごとにXOR(排他的論理和)演算して、その結果を10進数で返します。

この記事では、BITXOR関数の構文、基本的な仕組み、活用例、AND・ORとの違いまで、しっかり解説します。


1. BITXOR関数とは?

**BITXOR関数(ビットエックスオア関数)は、Excelにおけるビット単位の排他的論理和(XOR)**を計算する関数です。

  • XOR演算とは、「2つのビットが異なる場合に1、同じなら0」を返す論理演算です。

✅ 通常の数値演算とは異なり、2進数のビットごとに演算する点が特徴です。


2. 構文と引数の説明

=BITXOR(数値1, 数値2)
引数 内容
数値1 0以上の整数(正の10進数)
数値2 0以上の整数(正の10進数)

※ 両方とも 非負の整数(0以上) である必要があります。小数や負数は使用不可です。


3. XOR(排他的論理和)とは?

XOR演算の基本ルール:

ビットA ビットB XOR結果
0 0 0
0 1 1
1 0 1
1 1 0

異なっていれば1、同じであれば0


4. 基本的な使い方と計算例

■ 例1:=BITXOR(6, 3)

  • 6(10進数)= 0110

  • 3(10進数)= 0011

  • XOR演算:

0110
^ 0011
= 0101 5(10進数)

結果:5


■ 例2:=BITXOR(12, 10)

  • 12 = 1100

  • 10 = 1010

  • XOR → 0110 = 6


5. フラグ管理や開発現場での活用

● XORでフラグのON/OFFをトグルする

たとえば、ビット単位のフラグで状態を表現しているとき:

機能名 ビット値
通知ON 1(0001)
音声ON 2(0010)
表示ON 4(0100)

通知ON(1)をトグルしたい → =BITXOR(状態, 1)

  • 通知ON(1) → XORでOFF(0)

  • 通知OFF(0)→ XORでON(1)

XORは 「スイッチ切り替え」や「状態反転」 に非常に便利な演算です。


6. よくあるエラーとその対処法

エラー・現象 原因 対処方法
#NUM! エラー 引数に負数や小数が指定されている 0以上の整数のみ使用する
#VALUE! エラー 数値以外の値や文字列を入力している セルの内容を確認して数値かどうかチェック
結果が0になる 2つの数値が同じ、またはすべてのビットが一致 正常動作(XORは同じビット同士だと0になる)

7. 他のビット演算関数との違い

関数名 概要 どんなときに使う?
BITAND 両方1のビットのみ1 共通部分の確認、マスク処理に使用
BITOR どちらか1なら1 フラグ統合、OR条件の処理に使う
BITXOR 異なるビットだけ1 状態の切り替え、排他条件の処理に適する
BITLSHIFT / BITRSHIFT ビットを左/右にシフト 2の累乗倍・除算処理に使える

8. まとめ

項目 内容
関数名 BITXOR(ビットエックスオア)
主な用途 2つの数値のビットごとにXOR演算(排他的論理和)を実施
戻り値 演算結果(10進数)
特徴 「異なるビットだけ1にする」処理に使える
応用例 フラグのON/OFF切り替え、排他処理、状態の反転など
対応バージョン Excel 2013以降

✔ 最後に:ビット演算をExcelで使いこなそう

BITXOR関数は、開発・システム・制御分野だけでなく、
Excelでの権限管理・設定ON/OFF制御・状態反転チェックなど、さまざまな実務にも応用可能です。

他のBIT関数(BITAND, BITOR, BITLSHIFTなど)とあわせて使えば、
Excelでの論理演算・デジタル処理の表現力が一段と広がります。