ヘッダーロゴ

BITOR関数の使い方|2 つの数値のビット単位の ブール値'OR' を返す

=BITOR(値1,値2)

BITOR_SAMPLE

BITOR(ビット・オア)関数は、2つの数値のビット単位について"OR"を返す関数です。

参考:BITOR関数ドキュメントエディタヘルプ

BITOR関数の使い方. 構文

BITOR関数の構文は以下のとおりです。

=BITOR(値1,値2)

BITOR関数の構文内訳

引数 説明 説明
値1 1つ目の数値。 必ず指定- 10進表記で0以上の数値を指定します。
値2 2つ目の数値。 必ず指定- 10進表記で0以上の数値を指定します。

BITOR関数の使い方・実行サンプル

BITOR関数を実行するサンプルを紹介します。BITAND関数と使い方は少し似ています。

BITOR関数にて

  • 数値1に10を
  • 数値2に6を

設定したときの結果を求めます。

項目 10進数 2進数
値1 10 =DEC2BIN(B2,4)
値2 6 =DEC2BIN(B3,4)
BITORの計算結果 =BITOR(B2,B3) =DEC2BIN(B4,4)

BITOR関数で算出した結果。

項目 10進数 2進数
値1 10 1010
値2 6 0110
BITORの計算結果 14 1110

GIFで↓

BITOR_SAMPLE

oyakun
DEC2BIN関数で10進数を2進数として表示すると、BITOR関数の結果が分かりやすいですね。

BITOR関数のサンプル実行結果

画像でBITORサンプル実行結果を確認↓

BITOR_kekka

BITOR関数によって、2進数は以下のような置換結果になっていることが分かります。

BITOR_howto

BITOR関数 × GASの使い方・サンプル

BITOR関数をGASで利用する際の、かんたんなサンプルを作成してみました。

実装する表のサンプル。

10進数 2進数
値1 デフォは空白 デフォは空白
値2 デフォは空白 デフォは空白
BITORの計算結果 デフォは空白 デフォは空白

実装するGAS

function BITOR() {
  var ss,sht,val01,val02,val03,val04,array,array1

    ss = SpreadsheetApp.getActiveSpreadsheet();
    sht = ss.getActiveSheet();

    sht.getRange('B2:D3').activate();
    sht.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
    val01 = Browser.inputBox('数値を入力してください。(0以上の負でない整数)',Browser.Buttons.OK_CANCEL);
    val02 = Browser.inputBox('シフトする桁数を入力してください。(-53~53までの数値)',Browser.Buttons.OK_CANCEL);

    if(val01 == "cancel"|| val02 == "cancel"){
      Browser.msgBox("処理を中止しました");
      return;
      } else {
      array = [[val01,val02]];
      sht.getRange(2,2,1,2).setValues(array);

      val03 = '=DEC2BIN(B2)';
      val04 = '=DEC2BIN(C2)';
      val05 = '=DEC2BIN(D2)';
      array1 = [[val03,val04,val05]];
      sht.getRange(3,2,1,3).setValues(array1);

      // BITOR関数をセット
      val06 = sht.getRange("D2").setFormula('=BITOR('+val01+','+val02+')');
      val07 = val06.getValue();
      Browser.msgBox("BITORの結果は「"+val07+"」です");
      }
    }

実行結果をGIFで

BITOR×GAS

oyakun
inputBoxへ値1・値2を入力することで、D2セルへBITOR関数の結果を返しています。(入力しなければキャンセルに)

BITOR関数を使うときの注意点

注意. 値1・値2に0未満を指定すると#NUM!エラーを返す

BITOR関数は、値1・値2に0未満を指定すると#NUM!エラーを返します。

以下にサンプルを記載します。

10進数 2進数
値1 10 =dec2bin(B2,4)
値2 -1 =dec2bin(B3,4)
BITORの計算結果 #NUM! #NUM!

bitor_error1

oyakun
B2セルに「-1」といった0未満を数値を指定したことで、B3セルのBITOR関数の算出結果が#NUM!エラーになっていることが分かります。

注意2. 引数が2^48(-1)より大きい値だと#NUM!エラーを返す

BITOR関数では、引数が2^48(-1)より大きい値だと#NUM!エラーを返します

以下にサンプルを記載します。

数値1 数値2 BITOR結果
調べる値 0 =2^48 #NUM!

BITOR_error2

oyakun
C2セルの値を「=2^48」とすると、D2セルのBITOR関数は#NUM!エラーを返したことが分かります。

注意3. 引数に数値以外の値を指定すると#VALUE!エラーを返す

BITOR関数では、引数に数値以外を指定すると#VALUE!エラーを返します

以下にサンプルを記載します。

数値1 数値2 BITOR結果
調べる値 2 3a #VALUE!

BITOR_error3

oyakun
B2セルに3aと数値以外の値を指定したところ、D2セルのBITOR関数の算出結果が#VALUE!エラーを返していることが分かります。

BITOR関数の使い方. ExcelとGoogleスプレッドシートとの違い

BITOR関数は、ExcelとGoogleスプレッドシートで基本的な使い方に相違はありません

BITOR関数の使い方 まとめ

BITOR関数の使い方でした。 有効に利用するには、

  • 数値に0未満を指定しない
  • 数値に2^48(-1)を指定しない
  • 数値にテキストなど指定しない

といった感じで、ほとんどBITLSHIFT関数と同じですね。

BBITOR関数を使うことで、値1と値2の2進数で「0」と「0」が並ぶと「0」、それ以外の数値の組み合わせでは「1」0を返す計算結果を求めることができます。

oyakun
BITOR関数で、パラメーターのビット単位'OR'結果を求めちゃいましょう!

関連記事: BTILSHIFT関数の使い方|ビットを指定した桁数だけ左へシフトする
関連記事: BETAINV関数の使い方|β分布区間に対しβ累積分布の逆関数の値を返す
関連記事: BETADIST関数の使い方|ベータ分布関数で定義された特定値の確率を返す

  • この記事を書いた人
  • 最新記事

OYAKUN

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

© 2021 OYAKUDACHI.XYZ