みんなのエクセル表計算
上級

【Excel】BITXOR関数-2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求める-


(約文字)

2020-01-07

【Excel】BITXOR関数-2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求める-

【Excel】BITXOR関数-2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求める-

BITXOR関数とは

エクセルの「BITXOR関数(ビット・エクスクルーシブ・オア)」は2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を返す関数です。

まず結論

BITXOR関数を使うと、2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求めることができます。まずは数値1、数値2の意味を押さえ、使用例と注意点を確認すると実務で使い分けやすくなります。

  • このページで分かること
  • BITXOR関数でできることと基本の使いどころ
  • 構文と引数の意味
  • BITXOR関数の使用例

引数に指定された2つの値のビット単位の排他的な論理和を10進数で返します。

構文と引数

  • 365
  • 2019
  • 2016
  • 2013

=BITOR(数値1, 数値2)

引数 必要性 内容
数値1 必須 小数点の表示形式になっている必要があります。0以上の数値を指定します。
数値2 必須 小数点の表示形式になっている必要があります。0以上の数値を指定します。

BITXOR関数の解説

  • ・いずれかの引数が制約外の場合は、エラー値#NUM!が返されます。
  • ・いずれかの引数が (2^48)-1 より大きい場合は、エラー値#NUM!が返されます。
  • ・いずれかの引数が数値以外の値の場合は、エラー値#VALUE!が返されます。
  • ・実行結果では、両引数の同じビット位置の値が等しくない場合、つまり一方が0でもう一方が1の場合、そのビット位置は1になります。 たとえば、BITXOR(5,3) の場合、5は2進法では101で表され、3は2進法では011で表されます。 3つの位置のうち値が同じなのは左から3番目(一番右端)だけです。左から1番目、2番目の位置は結果が等しくないため1を返し、3番目の位置は結果が等しいので0を返します。
  • ・ビット位置から返される1の値は、右から左に2のべき乗で増加します。右端のビットは1(2の0乗)を返し、その左のビットは2(2の1乗)を返します。以降も同様です。
  • ・同じ例を使用した場合、1番目のビット(値1)は4(2の2乗)を返します。2番目のビット(値1)は2(2の1乗)を返します。3番目のビットは0を返します。4+2+0となり10進表現で6になります。
出典:Microsoft - Office サポート

BITXOR関数の使用例

=BITXOR(5,3)

=6

メカニズム

各位置の両方の数値を比較し、等しい場合は0を、等しくない場合は1を返します。

この場合、5の2進数は”101”で、3の2進数は”011”です。比較結果は”110”となり、10進数の「6」が返されます。

関連する関数

  • BITAND関数2つの数値のビット単位の論理積(AND)を求める
  • BITOR関数2つの数値のビット単位の論理和(OR)を求める
  • BITXOR関数2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求める

よくある質問

Q. BITXOR関数は何をするときに使いますか?

BITXOR関数は、2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求めるときに使います。 とくに BITAND関数 など近い関数との違いを合わせて押さえると、使い分けしやすくなります。

Q. BITXOR関数がうまく動かないときは何を確認すればよいですか?

まず 数値1、数値2 の指定方法を見直し、基数や単位、複素数の表記、引数の範囲 を確認してください。

よくある失敗例・エラー対処

BITXOR関数で期待通りの結果にならないときは、次の点を確認してください。

  • 数値1、数値2 の指定が関数の仕様どおりか確認する
  • 複素数は Excel の書式どおりに入力されているか確認する
  • 引数が許容範囲を超えていないか確認する

まとめ

このページでは、BITXOR関数について以下を確認しました。

  • ・BITXOR関数でできることと基本の使いどころ
  • ・構文と引数の意味
  • ・BITXOR関数の使用例