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

【Excel】BITRSHIFT関数-指定ビット分だけ右へシフトした数値を求める-


(約文字)

2019-12-27

【Excel】BITRSHIFT関数-指定ビット分だけ右へシフトした数値を求める-

【Excel】BITRSHIFT関数-指定ビット分だけ右へシフトした数値を求める-

BITRSHIFT関数とは

エクセルの「BITRSHIFT関数(ビット・ライト・シフト:Bit Right Shift)」は指定ビット分だけ右へシフトした数値を返す関数です。

まず結論

BITRSHIFT関数を使うと、指定ビット分だけ右へシフトした数値を求めることができます。まずは数値、移動ビット数の意味を押さえ、使用例と注意点を確認すると実務で使い分けやすくなります。

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

数値を右へシフトするというのは、その数値の2進数表記の左にゼロ(0)を追加することです。 例えば、2進数の0100(10進数の4)を1ビット分右へシフトすると、0010(10進数の2)に変換されます。

構文と引数

  • 365
  • 2019
  • 2016
  • 2013
  • 2010
  • 2007

=BITRSHIFT(数値,移動ビット数)

引数 必要性 内容
数値 必須 0以上の整数を指定します。
移動ビット数 必須 整数を指定します。

BITRSHIFT関数の解説

  • いずれかの引数が制約外の場合は、エラー値#NUM!が返されます。
  • 数値が (2の48条48)-1 より大きい場合、エラー値#NUM!が返されます。
  • 移動ビット数の絶対値が53よりも大きい場合、エラー値#NUM!が返されます。
  • いずれかの引数が数値以外の値の場合、エラー値#VALUE!が返されます。
  • 移動ビット数に負の数値が使用されると、ビットの数だけ左へシフトします。
  • 移動ビット数に負の数値が使用されると、BITLSHIFT関数の移動ビット数に正の数値を指定したのと同じ結果が返されます。
出典:Microsoft - Office サポート

BITRSHIFT関数の使用例

=BITRSHIFT(13,2)

=3

メカニズム

10進数の13は2進数の1101で表され、これを右へ2ビット分シフトすると0011となり、10進数で表すと3である。

関連する関数

  • BITAND関数:2つの数値のbit単位の論理積(AND)を求める
  • BITLSHIFT関数:指定ビット分だけ左へシフトした数値を求める
  • BITOR関数:2つの数値のビット単位の論理和(OR)を求める

よくある質問

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

BITRSHIFT関数は、指定ビット分だけ右へシフトした数値を求めるときに使います。 とくに BITLSHIFT関数 など近い関数との違いを合わせて押さえると、使い分けしやすくなります。

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

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

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

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

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

まとめ

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

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