<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ビットシフト &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e3%83%93%e3%83%83%e3%83%88%e3%82%b7%e3%83%95%e3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Wed, 29 Apr 2026 12:05:01 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>ビットシフト &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのBITRSHIFT関数の使い方｜ビット右シフトの基本と実用例</title>
		<link>https://mashukabu.com/excel-function-howto-use-bitrshift/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-bitrshift/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 04 Nov 2022 08:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[BITLSHIFT関数]]></category>
		<category><![CDATA[BITRSHIFT関数]]></category>
		<category><![CDATA[ビットシフト]]></category>
		<category><![CDATA[ビット演算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2938</guid>

					<description><![CDATA[ExcelのBITRSHIFT関数の使い方を初心者向けに解説。ビット右シフトの基本構文・引数の意味から、実践的な使用例、よくあるエラーの対処法、BITLSHIFT関数との違いまで丁寧に紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelでビットの右シフトを使いたいけれど、どの関数を選べばいいのか迷っていませんか？</p>



<p class="wp-block-paragraph">ビットシフトの仕組みがわからないまま手計算で進めるのは、時間がかかるうえにミスのもとですよね。</p>



<p class="wp-block-paragraph">この記事では、BITRSHIFT関数の基本的な使い方から実践的な活用例まで、わかりやすく解説していきます。読み終えるころには、ビット右シフトをExcelでサッと処理できるようになりますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのBITRSHIFT関数とは？</a></li><li><a href="#toc2" tabindex="0">BITRSHIFT関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">BITRSHIFT関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">値を直接指定する方法</a></li><li><a href="#toc7" tabindex="0">セル参照を使う方法</a></li></ol></li><li><a href="#toc8" tabindex="0">BITRSHIFT関数の実践的な活用例</a><ol><li><a href="#toc9" tabindex="0">2のべき乗で割り算する</a></li><li><a href="#toc10" tabindex="0">ほかのビット演算関数と組み合わせる</a></li></ol></li><li><a href="#toc11" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc12" tabindex="0">#NUM! エラー</a></li><li><a href="#toc13" tabindex="0">#VALUE! エラー</a></li></ol></li><li><a href="#toc14" tabindex="0">BITLSHIFT関数やほかのビット演算関数との違い</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのBITRSHIFT関数とは？</span></h2>



<p class="wp-block-paragraph">BITRSHIFT関数は、数値を2進数（ビット）に変換し、指定したビット数だけ右にシフトした結果を10進数で返す関数です。</p>



<p class="wp-block-paragraph">読み方は「ビット ライト シフト」です。「Right（右）」の「R」と覚えておきましょう。</p>



<p class="wp-block-paragraph">ビットの右シフトとは、2進数の各桁を右方向にずらす操作のことです。右に1ビットシフトすると、元の値を2で割った結果（小数切り捨て）になります。2ビットなら4分の1、3ビットなら8分の1です。</p>



<p class="wp-block-paragraph">たとえば、10進数の「20」は2進数で「10100」です。これを右に2ビットシフトすると「101」になり、10進数では「5」になります。つまり 20 / 4 = 5 ですね。</p>



<p class="wp-block-paragraph">このように、BITRSHIFT関数を使えば、ビット単位のデータ操作をExcel上でかんたんに行えますよ。</p>



<p class="wp-block-paragraph">対応バージョンは Excel 2013 以降および Microsoft 365 です。Excel 2010 以前では使用できないので、お使いのバージョンを確認しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">BITRSHIFT関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=BITRSHIFT(数値, シフト量)</code></pre>



<p class="wp-block-paragraph">引数は2つで、どちらも必須です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>ビットを右にシフトしたい10進数の整数を指定します。0 以上 281,474,976,710,655（2の48乗 &#8211; 1）以下の範囲で指定します。</td></tr><tr><td>シフト量</td><td>必須</td><td>右にシフトするビット数を整数で指定します。絶対値が53以下である必要があります。</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数値に小数を指定した場合は、小数部分が切り捨てられます。たとえば「20.7」を指定すると「20」として扱われますよ。</p>



<p class="wp-block-paragraph">シフト量に負の値を指定すると、左シフトになります。BITRSHIFT(数値, -2) は <a href="https://mashukabu.com/excel-function-howto-use-bitlshift/">BITLSHIFT</a>(数値, 2) と同じ結果です。覚えておくと便利ですね。</p>



<h2 class="wp-block-heading"><span id="toc5">BITRSHIFT関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">ここでは、実際にBITRSHIFT関数を入力して結果を確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">値を直接指定する方法</span></h3>



<p class="wp-block-paragraph">セルに次の数式を入力してみてください。</p>



<pre class="wp-block-code"><code>=BITRSHIFT(20, 2)</code></pre>



<p class="wp-block-paragraph">結果は「5」になります。20（2進数: 10100）を右に2ビットシフトすると 101（10進数: 5）になるためです。</p>



<p class="wp-block-paragraph">もうひとつ試してみましょう。</p>



<pre class="wp-block-code"><code>=BITRSHIFT(8, 3)</code></pre>



<p class="wp-block-paragraph">結果は「1」です。8（2進数: 1000）を右に3ビットシフトすると 1（10進数: 1）になります。右シフト3回は「2の3乗 = 8で割る」に相当しますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">セル参照を使う方法</span></h3>



<p class="wp-block-paragraph">A1セルに数値「100」、B1セルにシフト量「2」が入っている場合、次のように入力します。</p>



<pre class="wp-block-code"><code>=BITRSHIFT(A1, B1)</code></pre>



<p class="wp-block-paragraph">結果は「25」です。100 / 4（2の2乗）= 25 ですね。セル参照を使えば、数値やシフト量を変えるだけで結果が自動更新されます。</p>



<h2 class="wp-block-heading"><span id="toc8">BITRSHIFT関数の実践的な活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc9">2のべき乗で割り算する</span></h3>



<p class="wp-block-paragraph">BITRSHIFT関数を使うと、2のべき乗による割り算をかんたんに行えます。</p>



<pre class="wp-block-code"><code>=BITRSHIFT(1024, 4)</code></pre>



<p class="wp-block-paragraph">結果は「64」です。1024を右に4ビットシフトすると、1024 / 16（2の4乗）= 64 が得られます。</p>



<p class="wp-block-paragraph">通常の割り算でも同じ結果になりますが、ビット演算を使う場面ではこちらのほうが直感的です。データ通信のパケットサイズ計算など、2のべき乗が頻出する場面で便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">ほかのビット演算関数と組み合わせる</span></h3>



<p class="wp-block-paragraph">BITRSHIFT関数は、<a href="https://mashukabu.com/excel-function-howto-use-bitand/">BITAND関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-bitor/">BITOR関数</a>と組み合わせて使うこともできます。</p>



<p class="wp-block-paragraph">たとえば、特定のビット位置の値を取り出したい場合は、次のようにします。</p>



<pre class="wp-block-code"><code>=BITAND(BITRSHIFT(A1, 4), 15)</code></pre>



<p class="wp-block-paragraph">この数式は、A1の値の上位4ビット（第4〜7ビット）を取り出します。まずBITRSHIFTで4ビット右にずらし、BITAND関数で下位4ビットだけを取り出す仕組みです。</p>



<p class="wp-block-paragraph">A1が「200」（2進数: 11001000）の場合、右に4ビットシフトすると「12」（2進数: 1100）になります。さらに15（2進数: 1111）とANDをとると「12」がそのまま返ります。</p>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。「ずらして、必要な部分だけ取り出す」という流れですね。</p>



<p class="wp-block-paragraph">このテクニックは、RGBカラーコードの各色成分を取り出したり、フラグの特定ビットを確認したりするときに活用できますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">BITRSHIFT関数で表示されるエラーと、その原因・対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc12">#NUM! エラー</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>数値が0未満</td><td>0以上の整数を指定してください</td></tr><tr><td>数値が 2^48 &#8211; 1 より大きい</td><td>281,474,976,710,655 以下の値を指定してください</td></tr><tr><td>シフト量の絶対値が53を超えている</td><td>-53 から 53 の範囲で指定してください</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数値の範囲は <a href="https://mashukabu.com/excel-function-howto-use-bitlshift/">BITLSHIFT関数</a>と共通です。48ビット（約281兆）が上限なので、通常の業務データなら問題ありませんよ。</p>



<h3 class="wp-block-heading"><span id="toc13">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph">数値やシフト量に文字列を指定すると発生します。セル参照先が数値かどうかを確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc14">BITLSHIFT関数やほかのビット演算関数との違い</span></h2>



<p class="wp-block-paragraph">Excelにはビット演算に関連する関数がいくつかあります。それぞれの役割を整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th><th>使用例</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitlshift/">BITLSHIFT</a></td><td>ビットを左にシフト（値が大きくなる）</td><td>=BITLSHIFT(5, 2) → 20</td></tr><tr><td>BITRSHIFT</td><td>ビットを右にシフト（値が小さくなる）</td><td>=BITRSHIFT(20, 2) → 5</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitand/">BITAND</a></td><td>2つの数値のビット単位AND（論理積）</td><td>=BITAND(5, 3) → 1</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitor/">BITOR</a></td><td>2つの数値のビット単位OR（論理和）</td><td>=BITOR(5, 3) → 7</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitxor/">BITXOR</a></td><td>2つの数値のビット単位XOR（排他的論理和）</td><td>=BITXOR(5, 3) → 6</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">BITLSHIFTとBITRSHIFTは逆の操作です。左シフトは値を大きく（掛け算）、右シフトは値を小さく（割り算）します。覚え方は「Right（右）で Reduce（小さく）」ですね。</p>



<p class="wp-block-paragraph">BITAND・BITOR・BITXORは2つの数値のビットを比較する関数です。BITRSHIFTとは用途が異なりますが、組み合わせて使うことで柔軟なビット操作が可能になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">まとめ</span></h2>



<p class="wp-block-paragraph">この記事では、ExcelのBITRSHIFT関数について解説しました。</p>



<ul class="wp-block-list"><li>BITRSHIFT関数は、数値を指定ビット数だけ右にシフトする関数</li><li>右に1ビットシフトするごとに値が2分の1になる</li><li>シフト量に負の値を指定すると左シフトになる</li><li>数値は 0 以上 2^48 &#8211; 1 以下、シフト量の絶対値は53以下</li><li>BITAND関数やBITOR関数と組み合わせれば、特定ビットの取り出しにも活用できる</li></ul>



<p class="wp-block-paragraph">ビット演算はなじみが薄いかもしれませんが、仕組みさえ理解すればシンプルです。まずは =BITRSHIFT(20, 2) のようなかんたんな数式から試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-bitrshift/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのBITLSHIFT関数の使い方｜ビット左シフトの基本と実用例</title>
		<link>https://mashukabu.com/excel-function-howto-use-bitlshift/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-bitlshift/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 03 Nov 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[BITLSHIFT関数]]></category>
		<category><![CDATA[BITRSHIFT関数]]></category>
		<category><![CDATA[ビットシフト]]></category>
		<category><![CDATA[ビット演算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2931</guid>

					<description><![CDATA[ExcelのBITLSHIFT関数の使い方を初心者向けに解説。ビット左シフトの基本構文・引数の意味から、2のべき乗計算・フラグ管理・データ圧縮の考え方まで実務で使える例を多数紹介。BITRSHIFT・BITAND・BITORとの使い分けやエラー対処法もまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelでビット演算を使いたいけれど、どの関数を使えばいいのかわからない。そんな経験はありませんか？</p>



<p class="wp-block-paragraph">ビットシフトの仕組みがわからないと、データの変換作業を手計算で進めることになり、時間もかかって大変ですよね。</p>



<p class="wp-block-paragraph">この記事では、BITLSHIFT関数の基本的な使い方から、2のべき乗計算・フラグ管理・データ圧縮の考え方まで、わかりやすく解説していきます。読み終えるころには、ビット左シフトをExcelでサッと処理できるようになりますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのBITLSHIFT関数とは？</a><ol><li><a href="#toc2" tabindex="0">なぜ「左に1ビットシフト = 2倍」になるのか</a></li></ol></li><li><a href="#toc3" tabindex="0">BITLSHIFT関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li><li><a href="#toc6" tabindex="0">上限値「2の48乗 − 1」の意味</a></li></ol></li><li><a href="#toc7" tabindex="0">BITLSHIFT関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">値を直接指定する方法</a></li><li><a href="#toc9" tabindex="0">セル参照を使う方法</a></li><li><a href="#toc10" tabindex="0">結果を2進数で見たいとき</a></li></ol></li><li><a href="#toc11" tabindex="0">BITLSHIFT関数の実践的な活用例</a><ol><li><a href="#toc12" tabindex="0">例1: 2のべき乗を一覧で計算する</a></li><li><a href="#toc13" tabindex="0">例2: KB・MB・GBの換算</a></li><li><a href="#toc14" tabindex="0">例3: フラグ管理（権限ビットの設定）</a></li><li><a href="#toc15" tabindex="0">例4: 特定のビットだけ立てる・確認する</a></li><li><a href="#toc16" tabindex="0">例5: データ圧縮の考え方（複数値を1セルに詰める）</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">#NUM! エラー</a></li><li><a href="#toc19" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc20" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc21" tabindex="0">BITRSHIFT関数やほかのビット演算関数との違い</a><ol><li><a href="#toc22" tabindex="0">用途別の使い分けチャート</a></li></ol></li><li><a href="#toc23" tabindex="0">POWER関数と何が違う？</a></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのBITLSHIFT関数とは？</span></h2>



<p class="wp-block-paragraph">BITLSHIFT関数は、数値を2進数（ビット）に変換し、指定したビット数だけ左にシフトした結果を10進数で返す関数です。</p>



<p class="wp-block-paragraph">読み方は「ビット レフト シフト」です。</p>



<p class="wp-block-paragraph">ビットの左シフトとは、2進数の各桁を左方向にずらす操作のことです。左に1ビットシフトすると、元の値が2倍になります。2ビットなら4倍、3ビットなら8倍です。</p>



<p class="wp-block-paragraph">たとえば、10進数の「5」は2進数で「101」です。これを左に2ビットシフトすると「10100」になり、10進数では「20」になります。つまり 5 × 4 = 20 ですね。</p>



<p class="wp-block-paragraph">このように、BITLSHIFT関数を使えば、ビット単位のデータ操作をExcel上でかんたんに行えますよ。</p>



<p class="wp-block-paragraph">対応バージョンは Excel 2013 以降および Microsoft 365 です。Excel 2010 以前では使用できないので、お使いのバージョンを確認しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">なぜ「左に1ビットシフト = 2倍」になるのか</span></h3>



<p class="wp-block-paragraph">10進数で「左に1桁シフトすると10倍」になるのと同じ理屈です。10進数は基数が10なので桁を1つずらすと10倍ですが、2進数は基数が2なので桁を1つずらすと2倍になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>操作</th><th>2進数</th><th>10進数</th><th>元の値との比</th></tr></thead><tbody><tr><td>元の値</td><td>0011</td><td>3</td><td>× 1</td></tr><tr><td>左に1シフト</td><td>0110</td><td>6</td><td>× 2</td></tr><tr><td>左に2シフト</td><td>1100</td><td>12</td><td>× 4</td></tr><tr><td>左に3シフト</td><td>11000</td><td>24</td><td>× 8</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このルールさえつかんでおけば、暗算でも結果を予測できますよ。</p>



<h2 class="wp-block-heading"><span id="toc3">BITLSHIFT関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc4">基本構文</span></h3>



<pre class="wp-block-code"><code>=BITLSHIFT(数値, シフト量)</code></pre>



<p class="wp-block-paragraph">引数は2つで、どちらも必須です。</p>



<h3 class="wp-block-heading"><span id="toc5">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>ビットを左にシフトしたい10進数の整数を指定します。0 以上 281,474,976,710,655（2の48乗 − 1）以下の範囲で指定します。</td></tr><tr><td>シフト量</td><td>必須</td><td>左にシフトするビット数を整数で指定します。絶対値が53以下である必要があります。</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数値に小数を指定した場合は、小数部分が切り捨てられます。たとえば「5.8」を指定すると「5」として扱われますよ。</p>



<p class="wp-block-paragraph">シフト量に負の値を指定すると、右シフトになります。<code>=BITLSHIFT(数値, -2)</code> は <code>=BITRSHIFT(数値, 2)</code> と同じ結果です。覚えておくと便利ですね。</p>



<h3 class="wp-block-heading"><span id="toc6">上限値「2の48乗 − 1」の意味</span></h3>



<p class="wp-block-paragraph">BITLSHIFT関数で扱える最大値は <strong>281,474,976,710,655</strong> です。これは2進数の48桁すべてが「1」になった状態（111…1 が48個）と同じで、Excelのビット系関数で共通の上限です。</p>



<p class="wp-block-paragraph">シフト後の結果がこの値を超えると <code>#NUM!</code> エラーになります。たとえば <code>=BITLSHIFT(1, 48)</code> はギリギリ計算できますが、<code>=BITLSHIFT(1, 48)</code> の答えは 281,474,976,710,656 で上限超過のためエラーです。実際には <code>=BITLSHIFT(1, 47)</code> までが安全圏と考えるとよいでしょう。</p>



<h2 class="wp-block-heading"><span id="toc7">BITLSHIFT関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">ここでは、実際にBITLSHIFT関数を入力して結果を確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc8">値を直接指定する方法</span></h3>



<p class="wp-block-paragraph">セルに次の数式を入力してみてください。</p>



<pre class="wp-block-code"><code>=BITLSHIFT(5, 2)</code></pre>



<p class="wp-block-paragraph">結果は「20」になります。5（2進数: 101）を左に2ビットシフトすると 10100（10進数: 20）になるためです。</p>



<p class="wp-block-paragraph">もうひとつ試してみましょう。</p>



<pre class="wp-block-code"><code>=BITLSHIFT(1, 3)</code></pre>



<p class="wp-block-paragraph">結果は「8」です。1（2進数: 1）を左に3ビットシフトすると 1000（10進数: 8）になります。左シフト3回は「2の3乗 = 8倍」に相当しますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">セル参照を使う方法</span></h3>



<p class="wp-block-paragraph">A1セルに数値「10」、B1セルにシフト量「3」が入っている場合、次のように入力します。</p>



<pre class="wp-block-code"><code>=BITLSHIFT(A1, B1)</code></pre>



<p class="wp-block-paragraph">結果は「80」です。10 × 8（2の3乗）= 80 ですね。セル参照を使えば、数値やシフト量を変えるだけで結果が自動更新されます。</p>



<h3 class="wp-block-heading"><span id="toc10">結果を2進数で見たいとき</span></h3>



<p class="wp-block-paragraph">BITLSHIFTの結果は10進数で返るので、シフトの動きを確認したいときはDEC2BIN関数と組み合わせると便利です。</p>



<pre class="wp-block-code"><code>=DEC2BIN(BITLSHIFT(5, 2))</code></pre>



<p class="wp-block-paragraph">結果は「10100」と表示され、ビットがどう動いたかを目で確認できます。学習中はこの組み合わせで挙動をつかんでおくと、ビット演算への理解が深まりますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">BITLSHIFT関数の実践的な活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc12">例1: 2のべき乗を一覧で計算する</span></h3>



<p class="wp-block-paragraph">BITLSHIFT関数を使うと、2のべき乗の値をかんたんに求められます。</p>



<pre class="wp-block-code"><code>=BITLSHIFT(1, 10)</code></pre>



<p class="wp-block-paragraph">結果は「1024」です。1を左に10ビットシフトすると、2の10乗 = 1024 が得られます。</p>



<p class="wp-block-paragraph">A列に 0、1、2、3 …と数値を並べて、B列に <code>=BITLSHIFT(1, A1)</code> を入れれば、2のべき乗の一覧表がすぐに作れますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（n）</th><th>B列（=BITLSHIFT(1, An)）</th></tr></thead><tbody><tr><td>0</td><td>1</td></tr><tr><td>4</td><td>16</td></tr><tr><td>8</td><td>256</td></tr><tr><td>10</td><td>1,024</td></tr><tr><td>16</td><td>65,536</td></tr><tr><td>20</td><td>1,048,576</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">メモリ容量・解像度・通信速度などITの世界は2のべき乗だらけなので、ちょっとした単位変換にも役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc13">例2: KB・MB・GBの換算</span></h3>



<p class="wp-block-paragraph">「3KBは何バイト？」のような単位変換も、左シフトで一発です。1KB = 2の10乗バイト、1MB = 2の20乗バイト、1GB = 2の30乗バイトなので、シフト量を変えるだけで換算できます。</p>



<pre class="wp-block-code"><code>=3 * BITLSHIFT(1, 10)</code></pre>



<p class="wp-block-paragraph">結果は「3,072」（バイト）です。同じ要領で MB → バイト なら <code>=2 <em> BITLSHIFT(1, 20)</code>、GB → バイト なら <code>=1 </em> BITLSHIFT(1, 30)</code> のように使えます。</p>



<h3 class="wp-block-heading"><span id="toc14">例3: フラグ管理（権限ビットの設定）</span></h3>



<p class="wp-block-paragraph">社員ごとの権限を「閲覧・編集・承認・管理」の4つで管理したいとき、各権限を1ビットずつに割り当てると、1セルで複数の権限を表現できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>権限</th><th>ビット位置</th><th>=BITLSHIFT(1, n)</th></tr></thead><tbody><tr><td>閲覧</td><td>0</td><td>1</td></tr><tr><td>編集</td><td>1</td><td>2</td></tr><tr><td>承認</td><td>2</td><td>4</td></tr><tr><td>管理</td><td>3</td><td>8</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ある社員に「閲覧 + 編集 + 承認」の権限を持たせたい場合は、それぞれの値を BITOR で合算します。</p>



<pre class="wp-block-code"><code>=BITOR(BITLSHIFT(1, 0), BITLSHIFT(1, 1), BITLSHIFT(1, 2))</code></pre>



<p class="wp-block-paragraph">結果は「7」（2進数: 0111）。この1つの数値で「閲覧・編集・承認OK／管理NG」を表現できます。データベースの権限管理で見かけるビットマスクの考え方と同じですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">例4: 特定のビットだけ立てる・確認する</span></h3>



<p class="wp-block-paragraph">BITLSHIFT関数は、<a href="https://mashukabu.com/excel-function-howto-use-bitand/">BITAND関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-bitor/">BITOR関数</a>と組み合わせて使うこともできます。</p>



<p class="wp-block-paragraph">特定のビット位置にフラグを立てたい場合は、次のようにします。</p>



<pre class="wp-block-code"><code>=BITOR(A1, BITLSHIFT(1, 3))</code></pre>



<p class="wp-block-paragraph">この数式は、A1の値の第3ビット（右から数えて4番目）を「1」に設定します。A1が「5」（2進数: 0101）なら、結果は「13」（2進数: 1101）です。</p>



<p class="wp-block-paragraph">反対に、特定のビット位置の値を確認したい場合は、BITAND関数と組み合わせます。</p>



<pre class="wp-block-code"><code>=BITAND(A1, BITLSHIFT(1, 2))</code></pre>



<p class="wp-block-paragraph">A1が「13」（2進数: 1101）なら、結果は「4」（2進数: 0100）です。第2ビットが「1」であることがわかりますね。0が返ってくれば「立っていない」、0以外が返ってくれば「立っている」と判定できます。</p>



<pre class="wp-block-code"><code>=IF(BITAND(A1, BITLSHIFT(1, 2))&gt;0, &quot;承認権あり&quot;, &quot;承認権なし&quot;)</code></pre>



<p class="wp-block-paragraph">このように IF と組み合わせると、権限チェック表をそのまま運用に使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">例5: データ圧縮の考え方（複数値を1セルに詰める）</span></h3>



<p class="wp-block-paragraph">「年（4ビット）+ 月（4ビット）+ 日（5ビット）」のように、小さな値を1つの数値にまとめることもできます。</p>



<pre class="wp-block-code"><code>=BITOR(BITLSHIFT(年, 9), BITLSHIFT(月, 5), 日)</code></pre>



<p class="wp-block-paragraph">たとえば 年=12（2024年からの差分）、月=4、日=29 の場合は <code>=BITOR(BITLSHIFT(12, 9), BITLSHIFT(4, 5), 29)</code> で「6301」になります。これを「2024年4月29日」に復元するには BITAND と BITRSHIFT を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>取り出し</th><th>数式</th><th>結果</th></tr></thead><tbody><tr><td>年</td><td><code>=BITRSHIFT(6301, 9)</code></td><td>12</td></tr><tr><td>月</td><td><code>=BITAND(BITRSHIFT(6301, 5), 15)</code></td><td>4</td></tr><tr><td>日</td><td><code>=BITAND(6301, 31)</code></td><td>29</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務でここまでやる場面は多くありませんが、データベースのID設計・通信プロトコル・組み込み機器のレジスタ操作などでよく出てくる考え方です。「BITLSHIFTで詰めて、BITRSHIFTとBITANDで取り出す」がワンセットだと覚えておくと、ほかのツールに触れたときも応用が利きますよ。</p>



<h2 class="wp-block-heading"><span id="toc17">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">BITLSHIFT関数で表示されるエラーと、その原因・対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc18">#NUM! エラー</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>数値が0未満</td><td>0以上の整数を指定してください</td></tr><tr><td>数値が 2^48 − 1 より大きい</td><td>281,474,976,710,655 以下の値を指定してください</td></tr><tr><td>シフト量の絶対値が53を超えている</td><td>−53 から 53 の範囲で指定してください</td></tr><tr><td>シフト結果が 2^48 − 1 を超える</td><td>シフト量を小さくするか、元の数値を小さくしてください</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に多いのは「シフト結果がオーバーフローする」ケースです。<code>=BITLSHIFT(1000000, 30)</code> のように元の値が大きいときはシフト量を控えめにしましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph">数値やシフト量に文字列を指定すると発生します。たとえば <code>=BITLSHIFT("abc", 2)</code> や、空白文字が混じったセルを参照しているときに起こります。セル参照先が数値かどうかを確認してみてください。文字列に見える数値はVALUE関数で数値に変換できますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">関数名のスペルミスで発生します。「BITSHIFT」「BIT_LSHIFT」など似た名前で書いていないかチェックしてみてください。正しくは BITLSHIFT（ビットエルシフト）です。</p>



<h2 class="wp-block-heading"><span id="toc21">BITRSHIFT関数やほかのビット演算関数との違い</span></h2>



<p class="wp-block-paragraph">Excelにはビット演算に関連する関数がいくつかあります。それぞれの役割を整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th><th>使用例</th></tr></thead><tbody><tr><td>BITLSHIFT</td><td>ビットを左にシフト（値が大きくなる）</td><td>=BITLSHIFT(5, 2) → 20</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitrshift/">BITRSHIFT</a></td><td>ビットを右にシフト（値が小さくなる）</td><td>=BITRSHIFT(20, 2) → 5</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitand/">BITAND</a></td><td>2つの数値のビット単位AND（論理積）</td><td>=BITAND(5, 3) → 1</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitor/">BITOR</a></td><td>2つの数値のビット単位OR（論理和）</td><td>=BITOR(5, 3) → 7</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bitxor/">BITXOR</a></td><td>2つの数値のビット単位XOR（排他的論理和）</td><td>=BITXOR(5, 3) → 6</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">BITLSHIFT と BITRSHIFT は逆の操作です。左シフトは値を大きく、右シフトは値を小さくします。覚え方は「Left（左）で Large（大きく）」ですね。</p>



<p class="wp-block-paragraph">BITAND・BITOR・BITXOR は2つの数値のビットを比較する関数です。BITLSHIFTとは用途が異なりますが、組み合わせて使うことで柔軟なビット操作が可能になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">用途別の使い分けチャート</span></h3>



<p class="wp-block-paragraph">「やりたいこと」から逆引きできるよう整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>使う関数</th></tr></thead><tbody><tr><td>値を2倍・4倍・8倍したい</td><td>BITLSHIFT</td></tr><tr><td>値を1/2・1/4・1/8したい</td><td>BITRSHIFT</td></tr><tr><td>特定のビットを立てたい</td><td>BITLSHIFT + BITOR</td></tr><tr><td>特定のビットを確認したい</td><td>BITLSHIFT + BITAND</td></tr><tr><td>特定のビットを反転したい</td><td>BITLSHIFT + BITXOR</td></tr><tr><td>複数の値を1セルにまとめたい</td><td>BITLSHIFT + BITOR</td></tr><tr><td>まとめた値を取り出したい</td><td>BITRSHIFT + BITAND</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このチャートを見れば、「どの関数を組み合わせればよいか」が直感的にわかりますね。</p>



<h2 class="wp-block-heading"><span id="toc23">POWER関数と何が違う？</span></h2>



<p class="wp-block-paragraph"><code>=BITLSHIFT(1, 10)</code> と <code>=POWER(2, 10)</code> はどちらも結果が「1024」になります。では、どう使い分ければよいのでしょうか。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>BITLSHIFT</th><th>POWER</th></tr></thead><tbody><tr><td>計算対象</td><td>整数のビット演算</td><td>一般的なべき乗（小数・負数OK）</td></tr><tr><td>上限</td><td>2^48 − 1</td><td>Excelの数値上限（2^1023付近）</td></tr><tr><td>速度</td><td>ビット演算なので軽量</td><td>浮動小数点演算</td></tr><tr><td>用途</td><td>ビットマスク・フラグ管理</td><td>通常の計算・指数増加</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ビットを意識した処理（フラグ・マスク・データ圧縮）には BITLSHIFT、純粋なべき乗計算（金利・指数関数など）には POWER、と覚えておけば迷いません。</p>



<h2 class="wp-block-heading"><span id="toc24">まとめ</span></h2>



<p class="wp-block-paragraph">この記事では、ExcelのBITLSHIFT関数について解説しました。</p>



<ul class="wp-block-list"><li>BITLSHIFT関数は、数値を指定ビット数だけ左にシフトする関数</li><li>左に1ビットシフトするごとに値が2倍になる</li><li>シフト量に負の値を指定すると右シフトになる</li><li>数値は 0 以上 2^48 − 1 以下、シフト量の絶対値は53以下</li><li>2のべき乗の一覧、KB・MB・GB の換算、フラグ管理、データ圧縮などに活用できる</li><li>BITAND・BITOR・BITRSHIFT と組み合わせれば、特定ビットの操作や復元が可能</li></ul>



<p class="wp-block-paragraph">ビット演算はなじみが薄いかもしれませんが、仕組みさえ理解すればシンプルです。まずは <code>=BITLSHIFT(1, 3)</code> のようなかんたんな数式から試して、慣れてきたら BITOR と組み合わせたフラグ管理にチャレンジしてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-bitlshift/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
