<?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>2進数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/2%e9%80%b2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 28 Apr 2026 14:26:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>2進数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのOCT2BIN関数の使い方｜8進→2進</title>
		<link>https://mashukabu.com/spreadsheet-oct2bin-function/</link>
					<comments>https://mashukabu.com/spreadsheet-oct2bin-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:26:46 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[OCT2BIN]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6323</guid>

					<description><![CDATA[GoogleスプレッドシートのOCT2BIN関数の使い方を解説。8進数を2進数に変換する基本から、桁数指定（ゼロ埋め）、Unixパーミッションのビット展開への活用、負の数の扱い、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「<code>chmod 755</code> の各桁が具体的にどのビットをON/OFFしているか、スプレッドシートで一覧にして確認したい&#8230;」</p>



<p>スプレッドシートでLinuxサーバーのパーミッション管理表を作っていると、8進数のパーミッション値を2進数に展開してビット単位のON/OFFを確認したくなる場面があります。たとえば「755」の7・5・5それぞれが2進数でどのビットを立てているか手計算するのは面倒ですよね。</p>



<p>そんなときに役立つのがGoogleスプレッドシートのOCT2BIN関数です。8進数の値を指定するだけで、2進数のビット列に変換してくれますよ。</p>



<p>桁数を指定してゼロ埋めできるので、3ビット固定でパーミッションビットを揃えた一覧表も作れます。Excelとも互換性があるため、ファイルをやり取りする現場でも安心して使えますね。</p>



<p>この記事では、OCT2BIN関数の基本から桁数指定・パーミッションビット展開・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</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">OCT2BIN関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">OCT2BIN関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">OCT2BIN関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">第1引数：変換する8進数</a></li><li><a href="#toc8" tabindex="0">第2引数：桁数（省略可）</a></li></ol></li><li><a href="#toc9" tabindex="0">8進数と2進数の対応表</a></li><li><a href="#toc10" tabindex="0">OCT2BIN関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">直接入力で変換する</a></li><li><a href="#toc12" tabindex="0">セル参照で変換する</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc14" tabindex="0">桁数を指定して出力する（ゼロ埋め）</a><ol><li><a href="#toc15" tabindex="0">3桁固定フォーマット出力</a></li><li><a href="#toc16" tabindex="0">9桁固定でchmod 3桁全体を展開する</a></li></ol></li><li><a href="#toc17" tabindex="0">実務活用例：Unixパーミッションのビット展開</a><ol><li><a href="#toc18" tabindex="0">パーミッション1桁をビットに展開する</a></li><li><a href="#toc19" tabindex="0">パーミッション一覧表の例</a></li><li><a href="#toc20" tabindex="0">r/w/xの個別確認</a></li></ol></li><li><a href="#toc21" tabindex="0">負の数の変換（2の補数・10ビット）</a><ol><li><a href="#toc22" tabindex="0">負の数に相当する8進数の変換例</a></li></ol></li><li><a href="#toc23" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc24" tabindex="0">#NUM! エラー</a></li><li><a href="#toc25" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc26" tabindex="0">エラー対処：IFERRORで包む</a></li><li><a href="#toc27" tabindex="0">エラー防止：事前チェック</a></li></ol></li><li><a href="#toc28" tabindex="0">OCT2BIN関数とExcelの互換性</a></li><li><a href="#toc29" tabindex="0">OCT2シリーズ3関数の比較</a></li><li><a href="#toc30" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>OCT2BIN関数（読み方: オクト・ツー・バイン）は、<strong>8進数を2進数に変換するエンジニアリング関数</strong>です。Googleスプレッドシートに標準搭載されていて、追加設定なしで使えます。</p>



<p>8進数は0〜7の数字（合計8種類）で数値を表す方法です。2進数の3桁が8進数の1桁に対応するため、バイナリデータを扱うシステム管理の現場でよく使われます。UnixやLinuxのファイルパーミッション（<code>chmod 755</code> など）は8進数で記述されることが多いですね。OCT2BIN関数を使えば、8進数から2進数への変換作業をスプレッドシートで自動化できますよ。</p>



<p>たとえば <code>=OCT2BIN("7")</code> と入力すると、結果は「111」です。8進数の「7」（10進数でも7）が2進数で3ビットすべてONの「111」と表されました。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の由来</span></h3>



<p>関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>OCT</strong> = Octal（オクタル、8進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li></ul>



<p>つまり「OCTからBINへ」、8進数を2進数に変換するという意味がそのまま名前になっています。逆変換の<a href="https://mashukabu.com/spreadsheet-bin2oct-function/">BIN2OCT関数</a>とセットで覚えると便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">OCT2BIN関数でできること</span></h3>



<p>OCT2BIN関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>8進数を2進数の文字列に変換する</li><li>変換できる範囲は -512〜511（10進数換算、10ビット符号付き整数）</li><li>桁数を指定して先頭にゼロ埋めできる</li><li>負の数は2の補数（10ビット）で返される</li><li>ExcelのOCT2BIN関数と仕様が同じで、ファイル共有でもそのまま動作する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>OCT2BIN関数は<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN関数</a>（16進→2進）と変換先が同じ2進数です。変換元が8進数か16進数かの違いがありますよ。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=OCT2BIN(数値, [桁数])</code></pre>



<p>カッコの中に、変換したい8進数と、必要に応じて桁数を指定します。桁数は省略できますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</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>2進数に変換したい8進数（最大10文字）。-512〜511（10進数）に相当する値のみ有効</td></tr><tr><td>桁数</td><td>任意</td><td>結果の最小文字数（1〜10）。省略すると必要最小限の桁数で返される</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">第1引数：変換する8進数</span></h3>



<p>数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>0〜7のみで構成された文字列（8や9を含むと #NUM! エラー）</li><li>変換結果が -512〜511（10進数）の範囲に収まるもの<ul><li>正の数: 0〜777（8進数、10進数では 0〜511）</li><li>負の数: 7777777000〜7777777777（10桁8進数の2の補数表現）</li></ul></li><li>範囲外は #NUM! エラー</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>OCT2BIN関数に「8」や「9」を含む値を渡すと #NUM! エラーになります。8進数は0〜7の数字だけで構成されるため、「8」や「9」は8進数として無効な文字です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc8">第2引数：桁数（省略可）</span></h3>



<p>桁数のルールは、次のとおりです。</p>



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定すると #NUM! エラー</li><li>0や負の値を指定するとエラーになる</li><li><strong>負の数を変換した場合、桁数指定は無視されて常に10桁で返される</strong></li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>OCT2BIN関数の戻り値は数値ではなく「文字列」です。そのまま計算に使おうとすると文字列として扱われます。2進数を10進数に戻して計算したい場合はBIN2DEC関数を使ってくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc9">8進数と2進数の対応表</span></h2>



<p>OCT2BIN関数の動きをイメージしやすくするため、1桁の8進数の対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>8進数</th><th>2進数（3桁）</th><th>10進数</th><th>Unixパーミッション</th></tr></thead><tbody><tr><td>0</td><td>000</td><td>0</td><td>&#8212;</td></tr><tr><td>1</td><td>001</td><td>1</td><td>&#8211;x</td></tr><tr><td>2</td><td>010</td><td>2</td><td>-w-</td></tr><tr><td>3</td><td>011</td><td>3</td><td>-wx</td></tr><tr><td>4</td><td>100</td><td>4</td><td>r&#8211;</td></tr><tr><td>5</td><td>101</td><td>5</td><td>r-x</td></tr><tr><td>6</td><td>110</td><td>6</td><td>rw-</td></tr><tr><td>7</td><td>111</td><td>7</td><td>rwx</td></tr></tbody></table></figure>



<p>8進数の1桁は2進数の3桁に対応します。0〜7の8つの値が、3ビットのON/OFFパターン8通りに対応しているのが基数変換の妙ですね。</p>



<p>Unixパーミッションの「r」は4（100）、「w」は2（010）、「x」は1（001）に対応しているのが2進数のビット列から一目でわかりますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc11">直接入力で変換する</span></h3>



<p>もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;7&quot;)</code></pre>



<p>結果は「111」です。8進数の「7」が2進数で3ビットすべてONになっていることがわかります。</p>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;5&quot;)</code></pre>



<p>結果は「101」です。r-x（読み取り・実行のみ）のパーミッションパターンが確認できます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;755&quot;)</code></pre>



<p>結果は「111101101」です。<code>chmod 755</code> の2進数展開がわかります。7は「111」、5は「101」、5は「101」がつながった形です。</p>



<h3 class="wp-block-heading"><span id="toc12">セル参照で変換する</span></h3>



<p>実務では、セルに入っている8進数を変換する場面が多いです。A2のセルに「7」が入っている場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(A2)</code></pre>



<p>結果は「111」です。</p>



<h3 class="wp-block-heading"><span id="toc13">ARRAYFORMULAで一括変換する</span></h3>



<p>スプレッドシートならではの強みが、ARRAYFORMULA関数との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(OCT2BIN(A2:A10))</code></pre>



<p>A2からA10までの8進数データを、1つの数式で一気に2進数に変換できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 8進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>0</td><td>=ARRAYFORMULA(OCT2BIN(A2:A6))</td><td>0</td></tr><tr><td>4</td><td>↓</td><td>100</td></tr><tr><td>5</td><td>↓</td><td>101</td></tr><tr><td>6</td><td>↓</td><td>110</td></tr><tr><td>7</td><td>↓</td><td>111</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc14">桁数を指定して出力する（ゼロ埋め）</span></h2>



<p>OCT2BIN関数の第2引数「桁数」を使うと、出力の文字数を揃えられます。パーミッションビットの解析でとくに便利な機能ですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">3桁固定フォーマット出力</span></h3>



<p>Unixパーミッションの1桁は3ビットに対応します。桁数に3を指定すると各ビットの位置が揃って読みやすくなります。</p>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;4&quot;, 3)</code></pre>



<p>結果は「100」です。桁数を省略すると「100」のまま変わりませんが、「0」など桁が少ない値では効果がわかります。</p>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;0&quot;, 3)</code></pre>



<p>結果は「000」です。桁数を省略すると「0」とだけ表示されますが、3を指定したことで3桁揃いになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>Unixパーミッション</th></tr></thead><tbody><tr><td>=OCT2BIN(&#8220;7&#8221;, 3)</td><td>111</td><td>rwx</td></tr><tr><td>=OCT2BIN(&#8220;6&#8221;, 3)</td><td>110</td><td>rw-</td></tr><tr><td>=OCT2BIN(&#8220;5&#8221;, 3)</td><td>101</td><td>r-x</td></tr><tr><td>=OCT2BIN(&#8220;4&#8221;, 3)</td><td>100</td><td>r&#8211;</td></tr><tr><td>=OCT2BIN(&#8220;0&#8221;, 3)</td><td>000</td><td>&#8212;</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">9桁固定でchmod 3桁全体を展開する</span></h3>



<p><code>chmod 755</code> のような3桁パーミッション全体を9ビットで表したい場合は、桁数に9を指定します。</p>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;755&quot;, 9)</code></pre>



<p>結果は「111101101」です。3桁それぞれが3ビットずつ、合計9ビットで整列されます。</p>



<h2 class="wp-block-heading"><span id="toc17">実務活用例：Unixパーミッションのビット展開</span></h2>



<p>OCT2BIN関数の最も実用的な活用例が、Linuxサーバーのファイルパーミッション解析です。</p>



<h3 class="wp-block-heading"><span id="toc18">パーミッション1桁をビットに展開する</span></h3>



<p><code>chmod 644</code> の各桁（6・4・4）をOCT2BIN関数でビット展開すると、どのビットがONかが一目でわかります。</p>



<pre class="wp-block-code"><code>=OCT2BIN(MID(&quot;644&quot;,1,1), 3)  → 110  (所有者: rw-)
=OCT2BIN(MID(&quot;644&quot;,2,1), 3)  → 100  (グループ: r--)
=OCT2BIN(MID(&quot;644&quot;,3,1), 3)  → 100  (その他: r--)</code></pre>



<h3 class="wp-block-heading"><span id="toc19">パーミッション一覧表の例</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>ファイル</th><th>パーミッション</th><th>所有者ビット</th><th>グループビット</th><th>その他ビット</th></tr></thead><tbody><tr><td>index.html</td><td>644</td><td>110 (rw-)</td><td>100 (r&#8211;)</td><td>100 (r&#8211;)</td></tr><tr><td>deploy.sh</td><td>755</td><td>111 (rwx)</td><td>101 (r-x)</td><td>101 (r-x)</td></tr><tr><td>private.key</td><td>600</td><td>110 (rw-)</td><td>000 (&#8212;)</td><td>000 (&#8212;)</td></tr><tr><td>public/</td><td>755</td><td>111 (rwx)</td><td>101 (r-x)</td><td>101 (r-x)</td></tr></tbody></table></figure>



<p>上記の「所有者ビット」列は <code>=OCT2BIN(MID(B2,1,1), 3)</code> で求めています。</p>



<h3 class="wp-block-heading"><span id="toc20">r/w/xの個別確認</span></h3>



<p>各ビットを文字で表示したい場合は、MID関数と組み合わせます。</p>



<pre class="wp-block-code"><code>=IF(MID(OCT2BIN(A2, 3),1,1)=&quot;1&quot;,&quot;r&quot;,&quot;-&quot;)  ← rビット
=IF(MID(OCT2BIN(A2, 3),2,1)=&quot;1&quot;,&quot;w&quot;,&quot;-&quot;)  ← wビット
=IF(MID(OCT2BIN(A2, 3),3,1)=&quot;1&quot;,&quot;x&quot;,&quot;-&quot;)  ← xビット</code></pre>



<p>A2に「7」が入っていれば、それぞれ「r」「w」「x」と表示されます。</p>



<h2 class="wp-block-heading"><span id="toc21">負の数の変換（2の補数・10ビット）</span></h2>



<p>OCT2BIN関数で負の数に相当する8進数を変換すると、10桁（10文字）の2進数が返されます。</p>



<h3 class="wp-block-heading"><span id="toc22">負の数に相当する8進数の変換例</span></h3>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;7777777777&quot;)</code></pre>



<p>結果は「1111111111」（10桁すべて1）です。10ビット2の補数で -1 を表しています。</p>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;7777777000&quot;)</code></pre>



<p>結果は「1000000000」です。-512（最小値）を表しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>結果（2進数）</th><th>10進数</th></tr></thead><tbody><tr><td>7777777777</td><td>1111111111</td><td>-1</td></tr><tr><td>7777777000</td><td>1000000000</td><td>-512（最小値）</td></tr><tr><td>777</td><td>111111111</td><td>511（最大値）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数の変換では、第2引数の桁数指定は無視されます。常に10桁で返されるため、3桁を指定しても10桁の結果になりますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc23">エラーの種類と対処法</span></h2>



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



<p>次のいずれかに当てはまると #NUM! エラーになります。</p>



<ul class="wp-block-list"><li>変換結果が -512〜511（10進数）の範囲外</li><li>桁数に 0 以下の値を指定した</li><li>桁数に結果の桁数より少ない値を指定した</li><li>8や9など8進数として無効な文字を含む値を指定した</li></ul>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;1000&quot;)     → #NUM!（511 超えの正の値）
=OCT2BIN(&quot;8&quot;)        → #NUM!（8 は8進数として無効）
=OCT2BIN(&quot;7&quot;, 1)     → #NUM!（7は2進数で111（3桁）、1桁は不足）</code></pre>



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



<p>桁数に数値型でない値を指定すると #VALUE! エラーになります。</p>



<pre class="wp-block-code"><code>=OCT2BIN(&quot;7&quot;, &quot;a&quot;)   → #VALUE!</code></pre>



<h3 class="wp-block-heading"><span id="toc26">エラー対処：IFERRORで包む</span></h3>



<p>変換対象のデータが信頼できない場合は、IFERRORで包んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(OCT2BIN(A2, 3), &quot;エラー&quot;)</code></pre>



<p>A2に範囲外の値や無効な文字が入っていた場合でも、「エラー」と表示して処理が止まりません。</p>



<h3 class="wp-block-heading"><span id="toc27">エラー防止：事前チェック</span></h3>



<p>8進数として有効かどうかを事前に確認するには、REGEXMATCHが使えます。</p>



<pre class="wp-block-code"><code>=REGEXMATCH(TEXT(A2,&quot;0&quot;), &quot;^[0-7]+$&quot;)</code></pre>



<p>TRUEならOCT2BINで変換できる可能性が高いです。</p>



<h2 class="wp-block-heading"><span id="toc28">OCT2BIN関数とExcelの互換性</span></h2>



<p>GoogleスプレッドシートのOCT2BIN関数は、ExcelのOCT2BIN関数と仕様が同じです。構文・引数・変換ルール・エラー条件のすべてが一致しています。</p>



<p>ExcelファイルをGoogleスプレッドシートで開いた場合でも、OCT2BIN関数はそのまま動作します。逆にスプレッドシートで作成した数式をExcelで開いても問題ありませんよ。</p>



<h2 class="wp-block-heading"><span id="toc29">OCT2シリーズ3関数の比較</span></h2>



<p>OCTシリーズの変換関数（OCT2から始まる）を比較すると、変換先と扱える範囲が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>有効範囲（10進数換算）</th><th>桁数引数</th><th>戻り値型</th></tr></thead><tbody><tr><td>OCT2BIN</td><td>2進数</td><td>-512〜511</td><td>あり</td><td>テキスト</td></tr><tr><td>OCT2DEC</td><td>10進数</td><td>-536,870,912〜536,870,911</td><td><strong>なし</strong></td><td><strong>数値</strong></td></tr><tr><td>OCT2HEX</td><td>16進数</td><td>-536,870,912〜536,870,911</td><td>あり</td><td>テキスト</td></tr></tbody></table></figure>



<p>OCT2DECだけが桁数引数を持たず、戻り値も数値型です。8進数を変換して計算に使いたい場合はOCT2DECが適しています。ビット列（2進数）で確認したい場合はOCT2BIN、16進数で整理したい場合はOCT2HEXを使い分けましょう。</p>



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



<p>OCT2BIN関数は、8進数を2進数に変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=OCT2BIN(数値, [桁数])</code></li><li>有効範囲: -512〜511（8進数で 7777777000〜777）</li><li>桁数を指定するとゼロ埋めで出力できる</li><li>負の数は常に10桁（10ビット2の補数）で返される</li><li>Unixファイルパーミッションのビット展開で特に活用される</li></ul>



<p><code>=OCT2BIN(A2, 3)</code> のように3桁固定で出力するパターンは、パーミッション1桁をr/w/xのビットに展開する作業で重宝しますよ。</p>



<p>逆変換には<a href="https://mashukabu.com/spreadsheet-bin2oct-function/">BIN2OCT関数</a>を使います。また<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN関数</a>（16進→2進）と組み合わせることで、さまざまな基数変換をスプレッドシート上で完結できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-oct2bin-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのBIN2HEX関数の使い方｜2進→16進</title>
		<link>https://mashukabu.com/spreadsheet-bin2hex-function/</link>
					<comments>https://mashukabu.com/spreadsheet-bin2hex-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:29 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[BIN2HEX]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6251</guid>

					<description><![CDATA[GoogleスプレッドシートのBIN2HEX関数の使い方を解説。2進数を16進数に変換する基本から、桁数指定、符号付き2進数の扱い、エラー対処法、関連する基数変換関数の使い分けまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「センサーから出力された2進数のログを、開発チームに合わせて16進数で渡したい&#8230;」</p>



<p>ネットワーク機器の設定値やメモリダンプ、カラーコードなど、2進数と16進数を行き来する場面は意外と多いものです。手計算で4桁ずつ区切って変換するのは、桁が増えるほど面倒ですよね。</p>



<p>そんなときに便利なのがGoogleスプレッドシートのBIN2HEX関数です。2進数のセルを指定するだけで、16進数に一発変換してくれますよ。</p>



<p>しかも桁数を揃えて表示できるので、IPアドレスやMACアドレスのようにフォーマットが決まっているデータも整った形で出力できます。</p>



<p>この記事では、BIN2HEX関数の基本から桁数指定、符号付き2進数の扱い、エラー対処法、関連関数との使い分けまでまとめて解説します。</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">BIN2HEX関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">BIN2HEX関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">BIN2HEX関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">引数のルール</a></li></ol></li><li><a href="#toc8" tabindex="0">2進数と16進数の対応表</a></li><li><a href="#toc9" tabindex="0">BIN2HEX関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">2進数を直接入力する</a></li><li><a href="#toc11" tabindex="0">セル参照で2進数を変換する</a></li><li><a href="#toc12" tabindex="0">複数のセルをまとめて変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">桁数を指定して表示を揃える</a><ol><li><a href="#toc14" tabindex="0">桁数指定の基本</a></li><li><a href="#toc15" tabindex="0">桁数指定が役立つ場面</a></li><li><a href="#toc16" tabindex="0">桁数を結果より小さくするとエラー</a></li></ol></li><li><a href="#toc17" tabindex="0">符号付き2進数（10桁の場合）の扱い方</a><ol><li><a href="#toc18" tabindex="0">符号ビットの仕組み</a></li><li><a href="#toc19" tabindex="0">符号付き2進数の変換例</a></li><li><a href="#toc20" tabindex="0">9桁以下は符号ビットが無視される</a></li></ol></li><li><a href="#toc21" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">#NUM!エラーの代表例</a></li><li><a href="#toc23" tabindex="0">IFERRORでエラー処理</a></li></ol></li><li><a href="#toc24" tabindex="0">BIN2HEX関数の実務活用パターン</a><ol><li><a href="#toc25" tabindex="0">カラーコードの生成</a></li><li><a href="#toc26" tabindex="0">IPアドレス・MACアドレスの確認</a></li><li><a href="#toc27" tabindex="0">メモリダンプの解析</a></li></ol></li><li><a href="#toc28" tabindex="0">関連する基数変換関数との使い分け</a><ol><li><a href="#toc29" tabindex="0">BIN2HEXから派生する関数</a></li><li><a href="#toc30" tabindex="0">12種類の基数変換関数の全体像</a></li><li><a href="#toc31" tabindex="0">BIN2HEXとHEX2BINを組み合わせる</a></li></ol></li><li><a href="#toc32" tabindex="0">BIN2HEX関数をスプレッドシートで使うときのポイント</a><ol><li><a href="#toc33" tabindex="0">Excelとの違いはほぼない</a></li><li><a href="#toc34" tabindex="0">ARRAYFORMULAで配列処理ができる</a></li><li><a href="#toc35" tabindex="0">REGEXMATCHで入力値を検証できる</a></li></ol></li><li><a href="#toc36" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>BIN2HEX関数（読み方: ビントゥヘックス / バイナリ・トゥ・ヘキサ）は、<strong>2進数を16進数に変換するエンジニアリング関数</strong>です。</p>



<p>2進数は「0」と「1」だけで数値を表す方法です。コンピュータの内部では、すべてのデータがこの形式で処理されています。</p>



<p>一方、16進数は「0〜9」と「A〜F」を組み合わせて数値を表す方法ですね。</p>



<p>2進数の4桁が16進数の1桁にちょうど対応するため、長いビット列をコンパクトに表現するときに16進数がよく使われます。</p>



<p>たとえば <code>=BIN2HEX("11111111")</code> と入力すると、結果は「FF」です。8桁の2進数が、たった2文字の16進数になりました。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の由来</span></h3>



<p>関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>HEX</strong> = Hexadecimal（ヘキサデシマル、16進数）</li></ul>



<p>つまり「BINからHEXへ」、2進数を16進数に変換するという意味がそのまま名前になっています。基数変換系の関数はすべて同じ命名ルールです。</p>



<h3 class="wp-block-heading"><span id="toc3">BIN2HEX関数でできること</span></h3>



<p>BIN2HEX関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>0と1で構成された2進数を16進数に変換する</li><li>最大10桁（10ビット）の2進数に対応する</li><li>桁数を指定して結果の文字数を揃えられる</li><li>符号付き2進数（負の数）にも対応する</li><li>Excelとの互換性があり、ファイルのやり取りでもそのまま使える</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>BIN2HEX関数はGoogleスプレッドシートのエンジニアリング関数カテゴリに属します。全バージョンで追加設定なしに利用できます。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=BIN2HEX(数値, [桁数])</code></pre>



<p>カッコの中に、変換したい2進数と、必要に応じて桁数を指定します。桁数は省略できます。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</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>16進数に変換したい2進数。0と1のみで構成された値を指定する</td></tr><tr><td>桁数</td><td>任意</td><td>結果の最小文字数。省略すると必要最小限の桁数で返される</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">引数のルール</span></h3>



<p>数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>使える文字は「0」と「1」だけ</li><li>最大10桁（10ビット）まで</li><li>直接入力でもセル参照でもOK</li><li>文字列として指定する場合はダブルクォーテーションで囲む</li></ul>



<p>桁数のルールは、次のとおりです。</p>



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定するとエラーになる</li><li>負の数を変換した場合、桁数指定は無視されて10桁で返される</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>直接入力で <code>=BIN2HEX(00101)</code> のように先頭に0を付けると、スプレッドシートが10進数として解釈し、先頭の0が消えてしまうことがあります。先頭0が意味を持つ場合は <code>"00101"</code> と文字列で指定するのが安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">2進数と16進数の対応表</span></h2>



<p>BIN2HEX関数の動きをイメージしやすくするため、代表的な対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>2進数</th><th>16進数</th><th>10進数</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr><tr><td>10</td><td>2</td><td>2</td></tr><tr><td>1010</td><td>A</td><td>10</td></tr><tr><td>1111</td><td>F</td><td>15</td></tr><tr><td>10000</td><td>10</td><td>16</td></tr><tr><td>11111</td><td>1F</td><td>31</td></tr><tr><td>100000</td><td>20</td><td>32</td></tr><tr><td>11111111</td><td>FF</td><td>255</td></tr><tr><td>100000000</td><td>100</td><td>256</td></tr><tr><td>111111111</td><td>1FF</td><td>511</td></tr></tbody></table></figure>



<p>ポイントは「2進数の4桁が16進数の1桁にぴったり対応する」点です。たとえば8桁の2進数 <code>11111111</code> を考えてみましょう。</p>



<p>上位4桁の <code>1111</code> と下位4桁の <code>1111</code> に分けて、それぞれを <code>F</code> に変換すれば <code>FF</code> という形になりますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc10">2進数を直接入力する</span></h3>



<p>もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;1010&quot;)</code></pre>



<p>結果は「A」です。2進数の <code>1010</code> は、16進数では <code>A</code> にあたります。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;11111111&quot;)</code></pre>



<p>結果は「FF」です。8桁すべてが1の場合、16進数では <code>FF</code> になります。これは1バイト（8ビット）の最大値ですね。</p>



<h3 class="wp-block-heading"><span id="toc11">セル参照で2進数を変換する</span></h3>



<p>実務では、セルに入っている2進数を変換する場面が多いです。A2のセルに「11001」が入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=BIN2HEX(A2)</code></pre>



<p>結果は「19」です。2進数の <code>11001</code> は、16進数の <code>19</code> にあたります。</p>



<h3 class="wp-block-heading"><span id="toc12">複数のセルをまとめて変換する</span></h3>



<p>複数の2進数データをまとめて変換したい場合は、通常どおり数式を下方向にドラッグしてコピーすればOKです。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 2進数</th><th>B列: 数式</th><th>結果（16進数）</th></tr></thead><tbody><tr><td>1</td><td>=BIN2HEX(A2)</td><td>1</td></tr><tr><td>1010</td><td>=BIN2HEX(A3)</td><td>A</td></tr><tr><td>11001</td><td>=BIN2HEX(A4)</td><td>19</td></tr><tr><td>1100100</td><td>=BIN2HEX(A5)</td><td>64</td></tr><tr><td>11111111</td><td>=BIN2HEX(A6)</td><td>FF</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ARRAYFORMULAと組み合わせて <code>=ARRAYFORMULA(BIN2HEX(A2:A6))</code> と書けば、1つの数式で範囲全体を一括変換できます。スプレッドシートならではの書き方ですね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">桁数を指定して表示を揃える</span></h2>



<p>BIN2HEX関数の便利な特徴が、第2引数の「桁数」です。これを指定すると、結果の文字数を揃えられます。</p>



<h3 class="wp-block-heading"><span id="toc14">桁数指定の基本</span></h3>



<p>不足分は先頭に「0」が補われます。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;1010&quot;, 4)</code></pre>



<p>結果は「000A」です。桁数を省略した場合は「A」とだけ表示されますが、4を指定したことで先頭に「0」が3つ追加されました。</p>



<h3 class="wp-block-heading"><span id="toc15">桁数指定が役立つ場面</span></h3>



<p>桁数指定はデータの一覧表を作るときに便利です。桁数がバラバラだと見づらいですよね。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td>=BIN2HEX(&#8220;1&#8221;, 2)</td><td>01</td><td>2桁に揃える</td></tr><tr><td>=BIN2HEX(&#8220;1010&#8221;, 4)</td><td>000A</td><td>4桁に揃える</td></tr><tr><td>=BIN2HEX(&#8220;11111111&#8221;, 4)</td><td>00FF</td><td>4桁に揃える</td></tr></tbody></table></figure>



<p>カラーコードのように「必ず2桁」「必ず6桁」と決まっているフォーマットで出力するときに、桁数指定が活躍します。</p>



<h3 class="wp-block-heading"><span id="toc16">桁数を結果より小さくするとエラー</span></h3>



<p>結果の桁数より小さい値を指定するとエラーになります。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;11111111&quot;, 1)
→ #NUM! エラー</code></pre>



<p><code>11111111</code> は16進数で <code>FF</code>（2桁）になるため、桁数1では収まりません。エラーが出たら、桁数を大きくするか省略してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数を変換した場合は、桁数指定が無視されて常に10桁で返されます。これは2の補数表現で必ず10桁が必要になるためです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">符号付き2進数（10桁の場合）の扱い方</span></h2>



<p>BIN2HEX関数も、BIN2DEC関数と同じく「符号付き2進数」に対応しています。10桁の2進数を指定したときだけ、左端のビットが符号として扱われますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">符号ビットの仕組み</span></h3>



<p>10桁の2進数では、各桁の意味が次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>10桁目（左端）</th><th>9桁目〜1桁目</th></tr></thead><tbody><tr><td>役割</td><td>符号ビット（0=正、1=負）</td><td>数値部分</td></tr><tr><td>例: 正の最大</td><td>0</td><td>111111111（10進数で511）</td></tr><tr><td>例: -1</td><td>1</td><td>111111111</td></tr><tr><td>例: 負の最小</td><td>1</td><td>000000000（10進数で-512）</td></tr></tbody></table></figure>



<p>10桁目が「1」の場合は負の数として扱われ、結果は2の補数表現の16進数になります。</p>



<h3 class="wp-block-heading"><span id="toc19">符号付き2進数の変換例</span></h3>



<p>具体例を見ていきましょう。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;1111111111&quot;)</code></pre>



<p>結果は「FFFFFFFFFF」です。10桁すべてが1の場合、2の補数では <code>-1</code> を表します。そのため16進数では10桁すべてが <code>F</code> になります。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;1000000000&quot;)</code></pre>



<p>結果は「FFFFFFFE00」です。これが10ビットの符号付き2進数で表現できる最小値（-512）の16進数表現です。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;0111111111&quot;)</code></pre>



<p>結果は「1FF」です。こちらが正の最大値（511）の16進数表現になります。</p>



<h3 class="wp-block-heading"><span id="toc20">9桁以下は符号ビットが無視される</span></h3>



<p>9桁以下の2進数では、最上位が1でも正の数として扱われます。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;111111111&quot;)
→ 1FF（9桁なので正の数）

=BIN2HEX(&quot;11111111&quot;)
→ FF（8桁なので正の数）</code></pre>



<p>同じ「1が並んだ形」でも、桁数によって結果が変わる点に注意してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>符号付き2進数の扱いはExcelのBIN2HEX関数と完全に同じです。Googleスプレッドシートで作成した数式は、Excelにそのままコピーしても動作します。</p></blockquote>



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



<p>BIN2HEX関数で発生するエラーは主に2種類です。原因と対処法を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式の例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>10桁を超える2進数を指定した</td><td>=BIN2HEX(&#8220;11111111111&#8221;)</td><td>10桁以内に収める</td></tr><tr><td>#NUM!</td><td>0と1以外の文字が含まれる</td><td>=BIN2HEX(&#8220;102&#8221;)</td><td>0と1だけで構成する</td></tr><tr><td>#NUM!</td><td>桁数が結果より小さい</td><td>=BIN2HEX(&#8220;11111111&#8221;, 1)</td><td>桁数を大きくするか省略する</td></tr><tr><td>#NUM!</td><td>桁数に10超を指定した</td><td>=BIN2HEX(&#8220;1010&#8221;, 11)</td><td>桁数を1〜10の範囲で指定する</td></tr><tr><td>#VALUE!</td><td>無効な引数を指定した</td><td>=BIN2HEX(&#8220;ABC&#8221;)</td><td>数値または数値文字列を指定する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">#NUM!エラーの代表例</span></h3>



<p>実務で一番多いのが、10進数を2進数と間違えて入力するケースです。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;102&quot;)
→ #NUM! エラー</code></pre>



<p>10進数の「102」をそのまま指定してしまったパターンです。「2」は2進数では使えない文字ですね。</p>



<p>桁数オーバーも見落としがちです。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;11111111111&quot;)
→ #NUM! エラー</code></pre>



<p>11桁を指定しているため、エラーになります。10桁以内に修正する必要があります。</p>



<h3 class="wp-block-heading"><span id="toc23">IFERRORでエラー処理</span></h3>



<p>大量のデータを変換する場合、元データにノイズが混ざることもありますよね。IFERRORと組み合わせて、エラー時の表示をカスタマイズしておくと親切です。</p>



<pre class="wp-block-code"><code>=IFERROR(BIN2HEX(A2), &quot;変換不可&quot;)</code></pre>



<p>これでA2が2進数として無効な値でも、エラーではなく「変換不可」というメッセージが表示されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>入力値が2進数として有効かを事前に判定したい場合は <code>=IF(REGEXMATCH(A2, "^[01]{1,10}$"), BIN2HEX(A2), "無効")</code> のようにREGEXMATCH関数と組み合わせるのも便利です。スプレッドシートの正規表現関数が強力に働きますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc24">BIN2HEX関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc25">カラーコードの生成</span></h3>



<p>RGBの各値を2進数で管理しているデータがあれば、16進数のカラーコードに変換できます。</p>



<pre class="wp-block-code"><code>=BIN2HEX(A1, 2) &amp; BIN2HEX(B1, 2) &amp; BIN2HEX(C1, 2)</code></pre>



<p>A1に赤、B1に緑、C1に青の2進数を入力すれば、6桁のカラーコードが完成します。桁数を2に指定すれば、各色が必ず2桁になりますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（赤）</th><th>B列（緑）</th><th>C列（青）</th><th>結果（カラーコード）</th></tr></thead><tbody><tr><td>11111111</td><td>1010101</td><td>110011</td><td>FF5533</td></tr><tr><td>0</td><td>0</td><td>11111111</td><td>0000FF</td></tr><tr><td>11111111</td><td>11111111</td><td>11111111</td><td>FFFFFF</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">IPアドレス・MACアドレスの確認</span></h3>



<p>ネットワーク機器のログでは、IPアドレスやMACアドレスが2進数で記録されていることがあります。16進数に変換しておくと、機器のラベルと突合しやすいですね。</p>



<pre class="wp-block-code"><code>=BIN2HEX(&quot;11000000&quot;, 2) &amp; &quot;.&quot; &amp; BIN2HEX(&quot;10101000&quot;, 2)</code></pre>



<p>結果は <code>C0.A8</code> です。IPアドレス <code>192.168</code> の各オクテットを16進数で確認できました。</p>



<h3 class="wp-block-heading"><span id="toc27">メモリダンプの解析</span></h3>



<p>組込み機器のデバッグログを2進数で受け取った場合、メモリアドレスやレジスタ値を16進数に変換しておくと、ドキュメントと照合しやすくなります。</p>



<pre class="wp-block-code"><code>=BIN2HEX(A2, 4)</code></pre>



<p>桁数4で揃えておけば、表示が縦に揃って読みやすくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc28">関連する基数変換関数との使い分け</span></h2>



<p>Googleスプレッドシートには、2進数・8進数・10進数・16進数を相互に変換する関数が12種類あります。BIN2HEX関数はその1つです。</p>



<h3 class="wp-block-heading"><span id="toc29">BIN2HEXから派生する関数</span></h3>



<p>BIN2HEX関数の「入力側が2進数」「出力側が16進数」を入れ替えたり、変換先を変えたりするバリエーションがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>用途</th></tr></thead><tbody><tr><td><strong>BIN2HEX</strong>（この記事）</td><td>2進数 → 16進数</td><td>2進数のログをコンパクトな16進数で確認</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC</a></td><td>2進数 → 10進数</td><td>2進数を人が読み慣れた10進数に変換</td></tr><tr><td>BIN2OCT</td><td>2進数 → 8進数</td><td>2進数を8進数表記にする</td></tr><tr><td>HEX2BIN</td><td>16進数 → 2進数</td><td>BIN2HEXの逆変換。16進数を2進数で確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc30">12種類の基数変換関数の全体像</span></h3>



<p>基数変換関数の命名ルールは「変換元 + 2 + 変換先」です。対応表を頭に入れておくと、必要な関数をすぐに見つけられます。</p>



<figure class="wp-block-table"><table><thead><tr><th>変換元 ＼ 変換先</th><th>2進数（BIN）</th><th>8進数（OCT）</th><th>10進数（DEC）</th><th>16進数（HEX）</th></tr></thead><tbody><tr><td>2進数（BIN）</td><td>&#8211;</td><td>BIN2OCT</td><td><a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC</a></td><td><strong>BIN2HEX</strong></td></tr><tr><td>8進数（OCT）</td><td>OCT2BIN</td><td>&#8211;</td><td>OCT2DEC</td><td>OCT2HEX</td></tr><tr><td>10進数（DEC）</td><td>DEC2BIN</td><td>DEC2OCT</td><td>&#8211;</td><td>DEC2HEX</td></tr><tr><td>16進数（HEX）</td><td>HEX2BIN</td><td>HEX2OCT</td><td>HEX2DEC</td><td>&#8211;</td></tr></tbody></table></figure>



<p>たとえば「16進数を2進数に戻したい」なら、HEX（16進数）+ 2 + BIN（2進数）で「HEX2BIN関数」になる、という具合ですね。</p>



<h3 class="wp-block-heading"><span id="toc31">BIN2HEXとHEX2BINを組み合わせる</span></h3>



<p>逆変換のHEX2BINと組み合わせると、変換結果を元に戻して検証できます。</p>



<pre class="wp-block-code"><code>=HEX2BIN(BIN2HEX(A2))</code></pre>



<p>A2の2進数を16進数に変換し、さらに2進数に戻すという流れです。元の値と一致すれば、変換が正しく行われた確認になります。</p>



<h2 class="wp-block-heading"><span id="toc32">BIN2HEX関数をスプレッドシートで使うときのポイント</span></h2>



<h3 class="wp-block-heading"><span id="toc33">Excelとの違いはほぼない</span></h3>



<p>BIN2HEX関数の仕様はExcelとGoogleスプレッドシートでほぼ同じです。引数や返り値の範囲、符号付き2進数の扱い、桁数指定のルールも共通ですよ。</p>



<p>既に<a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">ExcelのBIN2HEX関数</a>を使った経験があれば、スプレッドシートでもそのまま同じ感覚で使えます。ファイルをExcel形式で保存しても、BIN2HEX関数はそのまま動作しますよ。</p>



<h3 class="wp-block-heading"><span id="toc34">ARRAYFORMULAで配列処理ができる</span></h3>



<p>スプレッドシートならではの強みは、ARRAYFORMULA関数との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(BIN2HEX(A2:A100, 2))</code></pre>



<p>A2からA100までの2進数データを一気に2桁の16進数に変換できます。Excelでも配列数式は使えますが、スプレッドシートのほうがシンプルに書けますね。</p>



<h3 class="wp-block-heading"><span id="toc35">REGEXMATCHで入力値を検証できる</span></h3>



<p>スプレッドシートは正規表現関数が充実しています。BIN2HEXの前に入力値チェックを挟むと、エラーを未然に防げます。</p>



<pre class="wp-block-code"><code>=IF(REGEXMATCH(A2, &quot;^[01]{1,10}$&quot;), BIN2HEX(A2, 2), &quot;無効な2進数&quot;)</code></pre>



<p>0と1だけで構成され、かつ10桁以内の文字列だけを変換対象にする、という数式です。大量データの前処理に便利ですね。</p>



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



<p>BIN2HEX関数は、2進数を16進数に変換するエンジニアリング関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=BIN2HEX(数値, [桁数])</code> で、桁数は省略可能</li><li>入力は0と1だけの2進数。最大10桁まで対応</li><li>桁数を指定すると、先頭に0を補って文字数を揃えられる</li><li>10桁の場合は符号付き2進数として扱われ、最上位ビットが符号ビットになる</li><li>負の数の場合、桁数指定は無視されて常に10桁で返される</li><li>#NUM!エラーの原因は「10桁超」「0と1以外の文字」「桁数不足」「桁数10超」</li><li>逆変換にはHEX2BIN関数を使う</li><li>ExcelのBIN2HEX関数と仕様は共通で、ファイルをExcel形式で保存しても動作する</li></ul>



<p>まずは <code>=BIN2HEX("1010")</code> で「A」が返ることを試してみてください。関数の動きがつかめたら、桁数指定や符号付き2進数も使いこなせるようになりますよ。</p>



<p>基数変換の姉妹記事として、2進数を10進数に変換する<a href="https://mashukabu.com/spreadsheet-bin2dec-function/">スプレッドシートのBIN2DEC関数の使い方</a>や、Excelでの使い方を詳しく解説した<a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">ExcelのBIN2HEX関数の使い方</a>もあわせてご覧ください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-bin2hex-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDEC2BIN関数の使い方｜10進→2進</title>
		<link>https://mashukabu.com/spreadsheet-dec2bin-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dec2bin-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:24 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[DEC2BIN]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6247</guid>

					<description><![CDATA[GoogleスプレッドシートのDEC2BIN関数の使い方を解説。10進数を2進数に変換する基本から、桁数指定（ゼロ埋め）、負の数の扱い、エラー対処法、BIN2DECとの組み合わせまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「10進数で管理しているフラグ値を、そのまま2進数のビット列として確認したい&#8230;」</p>



<p>スプレッドシートでは、アクセス権限の管理値やIPアドレスのオクテット、ビットフラグの可視化など、10進数と2進数を行き来する場面が意外と多いものです。手計算で2で割り続けるのは、桁が増えるほど面倒ですよね。</p>



<p>そんなときに便利なのがGoogleスプレッドシートのDEC2BIN関数です。10進数のセルを指定するだけで、2進数の文字列に一発変換してくれますよ。</p>



<p>しかも桁数を指定してゼロ埋めできるので、ビットフラグの一覧表もきれいに揃えられます。Excelとも互換性があるため、ファイルをやり取りする現場でも安心して使えますね。</p>



<p>この記事では、DEC2BIN関数の基本から桁数指定・負の数・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DEC2BIN関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">DEC2BIN関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2BIN関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">第1引数：変換する10進数</a></li><li><a href="#toc8" tabindex="0">第2引数：有効桁（省略可）</a></li></ol></li><li><a href="#toc9" tabindex="0">10進数と2進数の対応表</a></li><li><a href="#toc10" tabindex="0">DEC2BIN関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">直接入力で変換する</a></li><li><a href="#toc12" tabindex="0">セル参照で変換する</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc14" tabindex="0">桁数を指定して出力する（ゼロ埋め）</a><ol><li><a href="#toc15" tabindex="0">8ビット固定フォーマット出力</a></li><li><a href="#toc16" tabindex="0">ビットフラグ一覧表示への応用</a></li></ol></li><li><a href="#toc17" tabindex="0">符号付き2進数（負の数）の扱い方</a><ol><li><a href="#toc18" tabindex="0">変換できる範囲：-512〜511</a></li><li><a href="#toc19" tabindex="0">負の数は2の補数で表現される</a></li></ol></li><li><a href="#toc20" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc21" tabindex="0">#NUM! その1：変換範囲（-512〜511）を超えた場合</a></li><li><a href="#toc22" tabindex="0">#NUM! その2：有効桁が結果の桁数より少ない場合</a></li><li><a href="#toc23" tabindex="0">先頭の0が消える落とし穴（文字列型指定）</a></li></ol></li><li><a href="#toc24" tabindex="0">関連関数との使い分け</a><ol><li><a href="#toc25" tabindex="0">BIN2DEC・DEC2HEX・DEC2OCTとの比較表</a></li><li><a href="#toc26" tabindex="0">DEC2BINとBIN2DECを組み合わせる</a></li><li><a href="#toc27" tabindex="0">Excelとの互換性</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>DEC2BIN関数（読み方: デシマル・トゥ・バイナリ）は、<strong>10進数を2進数に変換するエンジニアリング関数</strong>です。Googleスプレッドシートに標準搭載されていて、追加設定なしで使えます。</p>



<p>10進数は普段私たちが使っている「0〜9」の10個の数字で数値を表す方法です。一方の2進数は「0」と「1」の2つだけで数値を表します。</p>



<p>コンピュータの内部はすべて2進数で動いています。ビットフラグの確認やネットワーク設定の解析では、2進数表記が必要になる場面がありますよね。DEC2BIN関数は、その変換作業を一瞬で済ませてくれる関数です。</p>



<p>たとえば <code>=DEC2BIN(5)</code> と入力すると、結果は「101」です。10進数の5が、2進数ではこの3桁のビット列で表現されていることがわかります。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の由来</span></h3>



<p>関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li></ul>



<p>つまり「DECからBINへ」、10進数を2進数に変換するという意味がそのまま名前になっています。逆変換のBIN2DEC関数とセットで覚えると便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">DEC2BIN関数でできること</span></h3>



<p>DEC2BIN関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>10進数を2進数の文字列に変換する</li><li>変換できる範囲は -512〜511（10ビット符号付き整数）</li><li>桁数を指定して先頭にゼロ埋めできる</li><li>負の数は2の補数（負の数を表現するコンピュータの方式）で返される</li><li>ExcelのDEC2BIN関数と仕様が同じで、ファイル共有でもそのまま動作する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DEC2BIN関数は逆変換の<a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC関数</a>とセットで使われることが多いです。2進数と10進数を行き来する作業なら、両方覚えておくと効率的ですよ。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=DEC2BIN(数値, [桁数])</code></pre>



<p>カッコの中に、変換したい10進数と、必要に応じて桁数を指定します。桁数は省略できますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</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>2進数に変換したい10進数。-512〜511の範囲で指定する</td></tr><tr><td>桁数</td><td>任意</td><td>結果の最小文字数（1〜10）。省略すると必要最小限の桁数で返される</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">第1引数：変換する10進数</span></h3>



<p>数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>-512以上 511以下の整数（10ビット符号付き整数の範囲）</li><li>直接入力でもセル参照でもOK</li><li>小数を指定した場合は切り捨てて処理される</li><li>範囲外は #NUM! エラー</li></ul>



<h3 class="wp-block-heading"><span id="toc8">第2引数：有効桁（省略可）</span></h3>



<p>桁数のルールは、次のとおりです。</p>



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定すると #NUM! エラー</li><li>11以上や0以下を指定するとエラーになる</li><li><strong>負の数を変換した場合、桁数指定は無視されて常に10桁で返される</strong></li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>DEC2BIN関数の戻り値は数値ではなく「文字列」です。そのまま足し算などの計算に使うと、文字列として連結されて誤った結果になります。数値計算する場合はBIN2DECで10進数に戻してから計算してくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc9">10進数と2進数の対応表</span></h2>



<p>DEC2BIN関数の動きをイメージしやすくするため、小さな値の対応を表にまとめました。計算の内訳も併記しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>10進数</th><th>2進数（DEC2BIN）</th><th>計算内訳</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&#8211;</td></tr><tr><td>1</td><td>1</td><td>1</td></tr><tr><td>2</td><td>10</td><td>2</td></tr><tr><td>3</td><td>11</td><td>2+1</td></tr><tr><td>4</td><td>100</td><td>4</td></tr><tr><td>5</td><td>101</td><td>4+1</td></tr><tr><td>8</td><td>1000</td><td>8</td></tr><tr><td>10</td><td>1010</td><td>8+2</td></tr><tr><td>15</td><td>1111</td><td>8+4+2+1</td></tr><tr><td>100</td><td>1100100</td><td>64+32+4</td></tr><tr><td>255</td><td>11111111</td><td>128+64+32+16+8+4+2+1</td></tr><tr><td>511</td><td>111111111</td><td>正の最大値（2^9 &#8211; 1）</td></tr></tbody></table></figure>



<p>2進数は「2の累乗の足し算」で値が決まります。右から順に1、2、4、8、16&#8230;と位が重みを持つイメージですね。</p>



<p>たとえば10進数の「10」は、8と2の組み合わせで作れます。2進数にすると8の位が1、2の位が1で <code>1010</code> になりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>範囲の上限が511なのは、10ビット符号付き整数の仕様だからです。先頭1ビットを符号に使うため、正の数は9ビット（2^9 &#8211; 1 = 511）までしか表現できません。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc11">直接入力で変換する</span></h3>



<p>もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=DEC2BIN(9)</code></pre>



<p>結果は「1001」です。10進数の9は、2進数で <code>1001</code>（8+1）ですね。</p>



<pre class="wp-block-code"><code>=DEC2BIN(100)</code></pre>



<p>結果は「1100100」です。100 = 64+32+4 の組み合わせが、そのままビット列になっています。</p>



<h3 class="wp-block-heading"><span id="toc12">セル参照で変換する</span></h3>



<p>実務では、セルに入っている10進数を変換する場面が多いです。A2のセルに「25」が入っている場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=DEC2BIN(A2)</code></pre>



<p>結果は「11001」です。25 = 16+8+1 のビット列になりました。</p>



<h3 class="wp-block-heading"><span id="toc13">ARRAYFORMULAで一括変換する</span></h3>



<p>スプレッドシートならではの強みが、ARRAYFORMULA関数（範囲を一気に処理する関数）との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(DEC2BIN(A2:A10))</code></pre>



<p>A2からA10までの10進数データを、1つの数式で一気に2進数に変換できます。データが増えても数式をコピーし直す必要がなく、見通しがよくなりますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 10進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>9</td><td>=ARRAYFORMULA(DEC2BIN(A2:A6))</td><td>1001</td></tr><tr><td>10</td><td>↓</td><td>1010</td></tr><tr><td>100</td><td>↓</td><td>1100100</td></tr><tr><td>255</td><td>↓</td><td>11111111</td></tr><tr><td>511</td><td>↓</td><td>111111111</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ARRAYFORMULAで桁数指定も効きます。<code>=ARRAYFORMULA(DEC2BIN(A2:A10, 8))</code> のように書けば、範囲全体を8桁ゼロ埋めで揃えて出力できますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc14">桁数を指定して出力する（ゼロ埋め）</span></h2>



<p>DEC2BIN関数のもう一つの便利な特徴が、第2引数の「桁数」です。これを指定すると、結果の文字数を揃えられますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">8ビット固定フォーマット出力</span></h3>



<p>IPアドレスやバイトデータは「8ビット（1バイト）」が基本単位です。DEC2BINで8桁固定にしておくと、読みやすくなります。</p>



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



<p>結果は「00000101」です。桁数を省略すると「101」とだけ表示されますが、8を指定したことで先頭に「0」が5つ追加されました。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>用途</th></tr></thead><tbody><tr><td>=DEC2BIN(1, 8)</td><td>00000001</td><td>8ビット表示</td></tr><tr><td>=DEC2BIN(5, 8)</td><td>00000101</td><td>8ビット表示</td></tr><tr><td>=DEC2BIN(255, 8)</td><td>11111111</td><td>8ビット最大値</td></tr><tr><td>=DEC2BIN(1, 10)</td><td>0000000001</td><td>10ビット表示</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">ビットフラグ一覧表示への応用</span></h3>



<p>アクセス権限やオプション設定をビットフラグ（各ビットのON/OFFで設定を管理する方式）で管理している場合、ゼロ埋めしておくとフラグの対応が一目でわかります。</p>



<pre class="wp-block-code"><code>=DEC2BIN(A2, 8)</code></pre>



<p>A列に権限の合算値（10進数）が入っていれば、B列に8桁のビット表現を並べられます。</p>



<figure class="wp-block-table"><table><thead><tr><th>ユーザー</th><th>権限値</th><th>ビット表現</th><th>読み</th><th>書き</th><th>実行</th></tr></thead><tbody><tr><td>管理者</td><td>7</td><td>00000111</td><td>✓</td><td>✓</td><td>✓</td></tr><tr><td>編集者</td><td>6</td><td>00000110</td><td>✓</td><td>✓</td><td>&nbsp;</td></tr><tr><td>閲覧者</td><td>4</td><td>00000100</td><td>✓</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></figure>



<p>各ビットがどのフラグに対応しているかを表と照らし合わせれば、権限の設定ミスもすぐに見つけられますね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数を変換した場合、桁数指定は無視されて常に10桁で返されます。これは2の補数表現に必ず10桁が必要なためです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">符号付き2進数（負の数）の扱い方</span></h2>



<p>DEC2BIN関数は負の数にも対応しています。負の数は「2の補数」という方式で表現されますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">変換できる範囲：-512〜511</span></h3>



<p>DEC2BIN関数で扱える数値は、-512以上 511以下の整数です。これは10ビット符号付き整数で表現できる範囲に対応しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>2進数</th><th>意味</th></tr></thead><tbody><tr><td>511</td><td>111111111</td><td>正の最大値（9桁）</td></tr><tr><td>1</td><td>1</td><td>正の最小値</td></tr><tr><td>0</td><td>0</td><td>ゼロ</td></tr><tr><td>-1</td><td>1111111111</td><td>負の最大値（全ビット1）</td></tr><tr><td>-512</td><td>1000000000</td><td>負の最小値（符号ビットのみ1）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">負の数は2の補数で表現される</span></h3>



<p>負の数を指定すると、結果は必ず10桁のビット列になります。最上位ビット（左端）が符号ビットとして1になり、残りの9ビットで数値部分を表現する仕組みです。</p>



<pre class="wp-block-code"><code>=DEC2BIN(-1)   → 1111111111
=DEC2BIN(-100) → 1110011100
=DEC2BIN(-256) → 1100000000
=DEC2BIN(-512) → 1000000000</code></pre>



<p>2の補数の作り方は、次の4ステップで手計算できます。-100を例にしてみましょう。</p>



<ol class="wp-block-list"><li>絶対値100を2進数化する → <code>1100100</code></li><li>10桁に拡張する（左を0で埋める） → <code>0001100100</code></li><li>全ビットを反転する → <code>1110011011</code></li><li>末尾に1を足す → <code>1110011100</code></li></ol>



<p>結果はDEC2BIN関数の出力と一致しますね。2の補数は「負の数と正の数を足すと桁あふれしてゼロになる」という性質を利用した表現方法です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>負の数では第2引数の桁数指定が無視されます。<code>=DEC2BIN(-5, 4)</code> と書いても、結果は4桁ではなく10桁の <code>1111111011</code> が返ります。負の数を扱うときは常に10桁で出力されると覚えておいてくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc20">エラーの種類と対処法</span></h2>



<p>DEC2BIN関数で発生するエラーは主に #NUM! エラーです。原因のパターンを整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式の例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>変換範囲（-512〜511）を超えた</td><td>=DEC2BIN(512)</td><td>数値を範囲内に収める</td></tr><tr><td>#NUM!</td><td>有効桁が結果の桁数より少ない</td><td>=DEC2BIN(511, 2)</td><td>桁数を大きくするか省略する</td></tr><tr><td>#NUM!</td><td>桁数に10超または0以下を指定</td><td>=DEC2BIN(9, 11)</td><td>桁数を1〜10の範囲で指定する</td></tr><tr><td>#VALUE!</td><td>数値型でない引数を指定</td><td>=DEC2BIN(&#8220;abc&#8221;)</td><td>有効な数値を指定する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">#NUM! その1：変換範囲（-512〜511）を超えた場合</span></h3>



<p>もっとも多いパターンが、変換範囲を超えた数値を指定するケースです。</p>



<pre class="wp-block-code"><code>=DEC2BIN(512)  → #NUM! エラー
=DEC2BIN(-513) → #NUM! エラー</code></pre>



<p>10ビットの符号付き整数では、512以上や-513以下の値は表現できません。より大きな数値を2進数で扱いたい場合は、DEC2HEX関数で16進数化してから、必要に応じて各桁を2進数へ分解するなどの工夫が必要ですよ。</p>



<h3 class="wp-block-heading"><span id="toc22">#NUM! その2：有効桁が結果の桁数より少ない場合</span></h3>



<p>桁数指定が小さすぎるとエラーになります。</p>



<pre class="wp-block-code"><code>=DEC2BIN(511, 2) → #NUM! エラー</code></pre>



<p>511は2進数で <code>111111111</code>（9桁）が必要ですが、桁数に2を指定しているため収まりません。桁数を9以上にするか、省略すれば解決します。</p>



<h3 class="wp-block-heading"><span id="toc23">先頭の0が消える落とし穴（文字列型指定）</span></h3>



<p>DEC2BIN関数の戻り値は文字列ですが、そのままコピーして他のセルに貼り付けると、表計算の自動判定で先頭の0が消えてしまうことがあります。</p>



<pre class="wp-block-code"><code>=DEC2BIN(5, 8)
→ 00000101（DEC2BINの出力は文字列）
→ コピー&amp;値貼り付けすると 101 になる場合がある</code></pre>



<p>ゼロ埋めを維持したい場合は、貼り付け先のセルの表示形式を「書式なしテキスト」に設定しておくと安全です。あるいはTEXT関数で明示的に文字列化する方法もありますよ。<code>=TEXT(DEC2BIN(5, 8), "@")</code> と書けば、文字列として整形できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>大量データで異常値が混じる場合は、IFERROR関数と組み合わせると便利です。<code>=IFERROR(DEC2BIN(A2), "範囲外")</code> と書けば、エラーが出ても表が崩れませんよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc24">関連関数との使い分け</span></h2>



<p>Googleスプレッドシートには、2進数・8進数・10進数・16進数を相互に変換する関数が12種類あります。DEC2BIN関数はその1つですよ。</p>



<h3 class="wp-block-heading"><span id="toc25">BIN2DEC・DEC2HEX・DEC2OCTとの比較表</span></h3>



<p>DEC2BIN関数とセットで使われることが多い関数を整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>範囲</th><th>用途</th></tr></thead><tbody><tr><td><strong>DEC2BIN</strong>（この記事）</td><td>10進数 → 2進数</td><td>-512〜511</td><td>ビットフラグ・IPアドレス可視化</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC</a></td><td>2進数 → 10進数</td><td>10桁以内</td><td>DEC2BINの逆変換</td></tr><tr><td>DEC2HEX</td><td>10進数 → 16進数</td><td>約 -5.5億〜5.5億</td><td>大きな数値のコンパクト表示・カラーコード</td></tr><tr><td>DEC2OCT</td><td>10進数 → 8進数</td><td>約 -5.4億〜5.4億</td><td>Unixパーミッション・レジスタ値</td></tr><tr><td>BASE</td><td>10進数 → 任意基数</td><td>2〜36進数</td><td>汎用的な基数変換</td></tr></tbody></table></figure>



<p>DEC2HEXとDEC2OCTはDEC2BINに比べて扱える数値範囲が広いのが特徴です。大きな数値を2進数で扱いたい場合は、いったんDEC2HEXで16進数化してから各桁を2進数に展開する方法も検討できますよ。</p>



<h3 class="wp-block-heading"><span id="toc26">DEC2BINとBIN2DECを組み合わせる</span></h3>



<p>逆変換のBIN2DECと組み合わせると、変換結果を元に戻して検証できます。</p>



<pre class="wp-block-code"><code>=BIN2DEC(DEC2BIN(A2))</code></pre>



<p>A2の10進数を2進数に変換し、さらに10進数に戻すという流れです。元の値と一致すれば、変換処理が正しく行われた確認になりますね。</p>



<h3 class="wp-block-heading"><span id="toc27">Excelとの互換性</span></h3>



<p>DEC2BIN関数の仕様はExcelとGoogleスプレッドシートでほぼ同じです。引数名が少し異なる（Excelでは <code>places</code>、Sheetsでは <code>significant_digits</code>）程度で、動作は共通ですよ。</p>



<p>既に<a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">ExcelのDEC2BIN関数</a>を使った経験があれば、スプレッドシートでも同じ感覚で使えます。ファイルをExcel形式（.xlsx）で保存しても、関数はそのまま動作しますね。</p>



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



<p>スプレッドシートのDEC2BIN関数は、10進数を2進数に変換するエンジニアリング関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DEC2BIN(数値, [桁数])</code> で、桁数は省略可能</li><li>変換範囲は -512〜511（10ビット符号付き整数）</li><li>桁数を指定すると、先頭に0を補って文字数を揃えられる</li><li>負の数は2の補数で表現され、常に10桁で返される（桁数指定は無視）</li><li>#NUM!エラーは「範囲外」「桁数不足」「桁数10超または0以下」の3パターン</li><li>ARRAYFORMULAと組み合わせれば、範囲全体を一括変換できる</li><li>逆変換にはBIN2DEC関数を使う</li><li>ExcelのDEC2BIN関数と仕様は共通で、ファイルをExcel形式で保存しても動作する</li></ul>



<p>まずは <code>=DEC2BIN(5, 8)</code> で <code>00000101</code> が返ることを試してみてください。動きがつかめたら、ビットフラグ管理やIPアドレスの可視化にも応用できるようになりますよ。</p>



<p>姉妹記事の<a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC関数</a>・<a href="https://mashukabu.com/spreadsheet-bin2oct-function/">BIN2OCT関数</a>・<a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX関数</a>もあわせてご覧ください。Excel版の使い方は<a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">ExcelのDEC2BIN関数の使い方</a>で解説しています。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dec2bin-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのBIN2DEC関数の使い方｜2進数を10進数に変換</title>
		<link>https://mashukabu.com/spreadsheet-bin2dec-function/</link>
					<comments>https://mashukabu.com/spreadsheet-bin2dec-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:20 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[BIN2DEC]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6243</guid>

					<description><![CDATA[GoogleスプレッドシートのBIN2DEC関数の使い方を解説。2進数を10進数に変換する基本から、符号付き2進数の扱い、エラー対処法、DEC2BINなど関連関数との使い分けまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「機器から出力されたログが2進数のまま並んでいて、集計がまったく進まない&#8230;」</p>



<p>エンジニアチームから受け取った資料が2進数ばかりで、困った経験はありませんか？ネットワーク設定の確認やセンサーデータの処理では、2進数と10進数の変換がよく登場します。</p>



<p>手計算で変換するのは、桁数が増えるほど大変です。しかも2進数特有の「符号付き表現」が絡むと、さらに複雑になります。</p>



<p>そんなときに便利なのがGoogleスプレッドシートのBIN2DEC関数です。2進数のセルを指定するだけで、10進数に一発変換してくれますよ。</p>



<p>この記事では、BIN2DEC関数の基本から符号付き2進数の扱い方、エラー対処法、関連関数との使い分けまでまとめて解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">BIN2DEC関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">BIN2DEC関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">BIN2DEC関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">引数のルール</a></li></ol></li><li><a href="#toc8" tabindex="0">2進数と10進数の対応表</a></li><li><a href="#toc9" tabindex="0">BIN2DEC関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">2進数を直接入力する</a></li><li><a href="#toc11" tabindex="0">セル参照で2進数を変換する</a></li><li><a href="#toc12" tabindex="0">複数のセルをまとめて変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">符号付き2進数（10桁の場合）の扱い方</a><ol><li><a href="#toc14" tabindex="0">符号ビットの仕組み</a></li><li><a href="#toc15" tabindex="0">符号付き2進数の変換例</a></li><li><a href="#toc16" tabindex="0">9桁以下は符号ビットが無視される</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">IFERRORでエラー処理</a></li></ol></li><li><a href="#toc20" tabindex="0">関連する基数変換関数との使い分け</a><ol><li><a href="#toc21" tabindex="0">BIN2DECから派生する関数</a></li><li><a href="#toc22" tabindex="0">12種類の基数変換関数の全体像</a></li><li><a href="#toc23" tabindex="0">BIN2DECとDEC2BINを組み合わせる</a></li></ol></li><li><a href="#toc24" tabindex="0">BIN2DEC関数をスプレッドシートで使うときのポイント</a><ol><li><a href="#toc25" tabindex="0">Excelとの違いはほぼない</a></li><li><a href="#toc26" tabindex="0">ARRAYFORMULAで配列処理ができる</a></li><li><a href="#toc27" tabindex="0">REGEXMATCHで入力値を検証できる</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>BIN2DEC関数（読み方: ビントゥデック / バイナリ・トゥ・デシマル）は、<strong>2進数を10進数に変換するエンジニアリング関数</strong>です。</p>



<p>2進数は「0」と「1」だけで数値を表す方法です。コンピュータの内部ではすべてのデータがこの形式で処理されています。一方、10進数は普段私たちが使っている「0から9」までの数字で表す方法ですね。</p>



<p>BIN2DEC関数を使えば、この変換が一瞬で終わります。たとえば <code>=BIN2DEC("1010")</code> と入力すると、結果は「10」です。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の由来</span></h3>



<p>関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li></ul>



<p>つまり「BINからDECへ」、2進数を10進数に変換するという意味がそのまま名前になっています。基数変換系の関数はすべて同じ命名ルールです。</p>



<h3 class="wp-block-heading"><span id="toc3">BIN2DEC関数でできること</span></h3>



<p>BIN2DEC関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>0と1で構成された2進数を10進数に変換する</li><li>最大10桁（10ビット）の2進数に対応する</li><li>符号付き2進数（負の数）にも対応する</li><li>Excelとの互換性があり、ファイルのやり取りでもそのまま使える</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>BIN2DEC関数はGoogleスプレッドシートのエンジニアリング関数カテゴリに属します。全バージョンで追加設定なしに利用できます。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=BIN2DEC(数値)</code></pre>



<p>カッコの中に、変換したい2進数を1つだけ入れます。非常にシンプルな関数ですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</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進数に変換したい2進数。0と1のみで構成された値を指定する</td></tr></tbody></table></figure>



<p>引数は1つだけです。他の基数変換関数と異なり、桁数を指定する引数はありません。</p>



<h3 class="wp-block-heading"><span id="toc7">引数のルール</span></h3>



<p>数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>使える文字は「0」と「1」だけ</li><li>最大10桁（10ビット）まで</li><li>直接入力でもセル参照でもOK</li><li>文字列として指定する場合はダブルクォーテーションで囲む</li></ul>



<p>0と1以外の文字が含まれていると、エラーになります。「2」や「A」は2進数の文字として使えません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>直接入力で <code>=BIN2DEC(00101)</code> のように先頭に0を付けると、スプレッドシートが10進数として解釈し、先頭の0が消えてしまうことがあります。先頭0が意味を持つ場合は <code>"00101"</code> と文字列で指定するのが安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">2進数と10進数の対応表</span></h2>



<p>BIN2DEC関数の動きをイメージしやすくするため、代表的な対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>2進数</th><th>10進数</th><th>計算の内訳</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&#8211;</td></tr><tr><td>1</td><td>1</td><td>2^0 = 1</td></tr><tr><td>10</td><td>2</td><td>2^1 = 2</td></tr><tr><td>11</td><td>3</td><td>2^1 + 2^0 = 3</td></tr><tr><td>100</td><td>4</td><td>2^2 = 4</td></tr><tr><td>101</td><td>5</td><td>2^2 + 2^0 = 5</td></tr><tr><td>110</td><td>6</td><td>2^2 + 2^1 = 6</td></tr><tr><td>111</td><td>7</td><td>2^2 + 2^1 + 2^0 = 7</td></tr><tr><td>1000</td><td>8</td><td>2^3 = 8</td></tr><tr><td>1010</td><td>10</td><td>2^3 + 2^1 = 10</td></tr><tr><td>1111</td><td>15</td><td>2^3 + 2^2 + 2^1 + 2^0 = 15</td></tr></tbody></table></figure>



<p>2進数の各桁は、右から順に2の0乗、2の1乗、2の2乗&#8230;という重みを持ちます。その桁が「1」なら重みを足していくだけで10進数の値になりますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc10">2進数を直接入力する</span></h3>



<p>もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;1010&quot;)</code></pre>



<p>結果は「10」です。2進数の <code>1010</code> は、10進数では <code>10</code> にあたります。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;11111111&quot;)</code></pre>



<p>結果は「255」です。8桁すべてが1の場合、10進数では <code>255</code> になります。これは1バイト（8ビット）の最大値ですね。</p>



<h3 class="wp-block-heading"><span id="toc11">セル参照で2進数を変換する</span></h3>



<p>実務では、セルに入っている2進数を変換する場面が多いです。A2のセルに「11001」が入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=BIN2DEC(A2)</code></pre>



<p>結果は「25」です。2進数の <code>11001</code> は、10進数の <code>25</code> にあたります。</p>



<h3 class="wp-block-heading"><span id="toc12">複数のセルをまとめて変換する</span></h3>



<p>複数の2進数データをまとめて変換したい場合は、通常どおり数式を下方向にドラッグしてコピーすればOKです。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 2進数</th><th>B列: 数式</th><th>結果（10進数）</th></tr></thead><tbody><tr><td>1</td><td>=BIN2DEC(A2)</td><td>1</td></tr><tr><td>101</td><td>=BIN2DEC(A3)</td><td>5</td></tr><tr><td>1010</td><td>=BIN2DEC(A4)</td><td>10</td></tr><tr><td>11001</td><td>=BIN2DEC(A5)</td><td>25</td></tr><tr><td>1100100</td><td>=BIN2DEC(A6)</td><td>100</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ARRAYFORMULAと組み合わせて <code>=ARRAYFORMULA(BIN2DEC(A2:A6))</code> と書けば、1つの数式で範囲全体を一括変換できます。スプレッドシートならではの書き方ですね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">符号付き2進数（10桁の場合）の扱い方</span></h2>



<p>BIN2DEC関数は「符号付き2進数」にも対応しています。10桁の2進数を指定したときだけ、最上位ビット（左端）が符号ビットとして解釈されます。</p>



<h3 class="wp-block-heading"><span id="toc14">符号ビットの仕組み</span></h3>



<p>10桁の2進数では、各桁の意味が次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>10桁目（左端）</th><th>9桁目〜1桁目</th></tr></thead><tbody><tr><td>役割</td><td>符号ビット（0=正、1=負）</td><td>数値部分</td></tr><tr><td>例: 正の最大</td><td>0</td><td>111111111（511）</td></tr><tr><td>例: -1</td><td>1</td><td>111111111</td></tr><tr><td>例: 負の最小</td><td>1</td><td>000000000（-512）</td></tr></tbody></table></figure>



<p>10桁目が「1」の場合は負の数として扱われるため、2の補数で計算されます。これはコンピュータ内部で負の数を扱う一般的な方式です。</p>



<h3 class="wp-block-heading"><span id="toc15">符号付き2進数の変換例</span></h3>



<p>具体例を見ていきましょう。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;1111111111&quot;)</code></pre>



<p>結果は「-1」です。10桁すべてが1の場合、2の補数では <code>-1</code> を表します。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;1000000000&quot;)</code></pre>



<p>結果は「-512」です。これが10ビットの符号付き2進数で表現できる最小値です。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;0111111111&quot;)</code></pre>



<p>結果は「511」です。こちらが表現できる最大値になります。</p>



<h3 class="wp-block-heading"><span id="toc16">9桁以下は符号ビットが無視される</span></h3>



<p>9桁以下の2進数では、最上位が1でも正の数として扱われます。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;111111111&quot;)
→ 511（9桁なので正の数）

=BIN2DEC(&quot;11111111&quot;)
→ 255（8桁なので正の数）</code></pre>



<p>同じ「1が並んだ形」でも、桁数によって結果が変わる点に注意してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>符号付き2進数の扱いはExcelのBIN2DEC関数と完全に同じです。Googleスプレッドシートで作成した数式は、Excelにそのままコピーしても動作します。</p></blockquote>



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



<p>BIN2DEC関数で発生するエラーは主に2種類です。原因と対処法を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式の例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>10桁を超える2進数を指定した</td><td>=BIN2DEC(&#8220;11111111111&#8221;)</td><td>10桁以内に収める</td></tr><tr><td>#NUM!</td><td>0と1以外の文字が含まれる</td><td>=BIN2DEC(&#8220;102&#8221;)</td><td>0と1だけで構成する</td></tr><tr><td>#VALUE!</td><td>無効な引数を指定した</td><td>=BIN2DEC(&#8220;ABC&#8221;)</td><td>数値または数値文字列を指定する</td></tr></tbody></table></figure>



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



<p>実務で一番多いのが、10進数を2進数と間違えて入力するケースです。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;102&quot;)
→ #NUM! エラー</code></pre>



<p>10進数の「102」をそのまま指定してしまったパターンです。「2」は2進数では使えない文字ですね。</p>



<p>桁数オーバーも見落としがちです。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;11111111111&quot;)
→ #NUM! エラー</code></pre>



<p>11桁を指定しているため、エラーになります。10桁以内に修正する必要があります。</p>



<h3 class="wp-block-heading"><span id="toc19">IFERRORでエラー処理</span></h3>



<p>大量のデータを変換する場合、元データにノイズが混ざることもありますよね。IFERRORと組み合わせてエラー時の表示をカスタマイズしておくと親切です。</p>



<pre class="wp-block-code"><code>=IFERROR(BIN2DEC(A2), &quot;変換不可&quot;)</code></pre>



<p>これでA2が2進数として無効な値でも、エラーではなく「変換不可」というメッセージが表示されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>入力値が2進数として有効かを事前に判定したい場合は <code>=IF(REGEXMATCH(A2, "^[01]{1,10}$"), BIN2DEC(A2), "無効")</code> のようにREGEXMATCH関数と組み合わせるのも便利です。スプレッドシートの正規表現関数が強力に働きますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc20">関連する基数変換関数との使い分け</span></h2>



<p>Googleスプレッドシートには、2進数・8進数・10進数・16進数を相互に変換する関数が12種類あります。BIN2DEC関数はその1つです。</p>



<h3 class="wp-block-heading"><span id="toc21">BIN2DECから派生する関数</span></h3>



<p>BIN2DEC関数の「入力側が2進数」「出力側が10進数」を入れ替えたり、変換先を変えたりするバリエーションがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>用途</th></tr></thead><tbody><tr><td><strong>BIN2DEC</strong>（この記事）</td><td>2進数 → 10進数</td><td>2進数ログを人間が読める形に変換</td></tr><tr><td>BIN2HEX</td><td>2進数 → 16進数</td><td>2進数をコンパクトな16進数表記にする</td></tr><tr><td>BIN2OCT</td><td>2進数 → 8進数</td><td>2進数を8進数表記にする</td></tr><tr><td>DEC2BIN</td><td>10進数 → 2進数</td><td>BIN2DECの逆変換。10進数を2進数で確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">12種類の基数変換関数の全体像</span></h3>



<p>基数変換関数の命名ルールは「変換元 + 2 + 変換先」です。対応表を頭に入れておくと、必要な関数をすぐに見つけられます。</p>



<figure class="wp-block-table"><table><thead><tr><th>変換元 ＼ 変換先</th><th>2進数（BIN）</th><th>8進数（OCT）</th><th>10進数（DEC）</th><th>16進数（HEX）</th></tr></thead><tbody><tr><td>2進数（BIN）</td><td>&#8211;</td><td>BIN2OCT</td><td><strong>BIN2DEC</strong></td><td>BIN2HEX</td></tr><tr><td>8進数（OCT）</td><td>OCT2BIN</td><td>&#8211;</td><td>OCT2DEC</td><td>OCT2HEX</td></tr><tr><td>10進数（DEC）</td><td>DEC2BIN</td><td>DEC2OCT</td><td>&#8211;</td><td>DEC2HEX</td></tr><tr><td>16進数（HEX）</td><td>HEX2BIN</td><td>HEX2OCT</td><td>HEX2DEC</td><td>&#8211;</td></tr></tbody></table></figure>



<p>たとえば「2進数を16進数にしたい」なら、BIN（2進数）+ 2 + HEX（16進数）で「BIN2HEX関数」になる、という具合ですね。</p>



<h3 class="wp-block-heading"><span id="toc23">BIN2DECとDEC2BINを組み合わせる</span></h3>



<p>逆変換のDEC2BINと組み合わせると、変換結果を元に戻して検証できます。</p>



<pre class="wp-block-code"><code>=DEC2BIN(BIN2DEC(A2))</code></pre>



<p>A2の2進数を10進数に変換し、さらに2進数に戻すという流れです。元の値と一致すれば、変換が正しく行われた確認になります。</p>



<h2 class="wp-block-heading"><span id="toc24">BIN2DEC関数をスプレッドシートで使うときのポイント</span></h2>



<h3 class="wp-block-heading"><span id="toc25">Excelとの違いはほぼない</span></h3>



<p>BIN2DEC関数の仕様はExcelとGoogleスプレッドシートでほぼ同じです。引数や返り値の範囲、符号付き2進数の扱いも共通しています。</p>



<p>既に<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">ExcelのBIN2DEC関数</a>を使った経験があれば、スプレッドシートでもそのまま同じ感覚で使えます。ファイルをExcel形式で保存しても、BIN2DEC関数はそのまま動作しますよ。</p>



<h3 class="wp-block-heading"><span id="toc26">ARRAYFORMULAで配列処理ができる</span></h3>



<p>スプレッドシートならではの強みは、ARRAYFORMULA関数との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(BIN2DEC(A2:A100))</code></pre>



<p>A2からA100までの2進数データを一気に10進数に変換できます。Excelでも配列数式は使えますが、スプレッドシートのほうがシンプルに書けるのが特徴です。</p>



<h3 class="wp-block-heading"><span id="toc27">REGEXMATCHで入力値を検証できる</span></h3>



<p>スプレッドシートは正規表現関数が充実しています。BIN2DECの前に入力値チェックを挟むと、エラーを未然に防げます。</p>



<pre class="wp-block-code"><code>=IF(REGEXMATCH(A2, &quot;^[01]{1,10}$&quot;), BIN2DEC(A2), &quot;無効な2進数&quot;)</code></pre>



<p>0と1だけで構成され、かつ10桁以内の文字列だけを変換対象にする、という数式です。大量データの前処理に便利ですね。</p>



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



<p>BIN2DEC関数は、2進数を10進数に変換するエンジニアリング関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=BIN2DEC(数値)</code> のシンプルな1引数</li><li>変換できる範囲は -512 〜 511（10ビット符号付き整数の範囲）</li><li>10桁の場合は符号付き2進数として扱われ、最上位ビットが符号ビットになる</li><li>#NUM!エラーの原因は「10桁超」または「0と1以外の文字」</li><li>逆変換にはDEC2BIN関数を使う</li><li>ExcelのBIN2DEC関数と仕様は共通で、ファイルをExcel形式で保存しても動作する</li></ul>



<p>まずは <code>=BIN2DEC("1010")</code> で「10」が返ることを試してみてください。関数の動きがつかめたら、符号付き2進数や関連関数も使いこなせるようになりますよ。</p>



<p>基数変換の姉妹記事として、Excelでの使い方を詳しく解説した<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">ExcelのBIN2DEC関数の使い方</a>もあわせてご覧ください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-bin2dec-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのBIN2OCT関数の使い方｜2進→8進</title>
		<link>https://mashukabu.com/spreadsheet-bin2oct-function/</link>
					<comments>https://mashukabu.com/spreadsheet-bin2oct-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:18 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[BIN2OCT]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6241</guid>

					<description><![CDATA[GoogleスプレッドシートのBIN2OCT関数の使い方を解説。2進数を8進数に変換する基本から、桁数指定、符号付き2進数の扱い、エラー対処法、基数変換関数の使い分けまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「2進数で記録されたシステムログを、Linuxのパーミッション設定に合わせて8進数で確認したい&#8230;」</p>



<p>サーバーの権限設定や組み込み機器のレジスタ値など、2進数と8進数を行き来する場面は意外と多いものです。手計算で3桁ずつ区切って変換するのは、桁数が増えるほど面倒ですよね。</p>



<p>そんなときに便利なのがGoogleスプレッドシートのBIN2OCT関数です。2進数のセルを指定するだけで、8進数に一発変換してくれますよ。</p>



<p>しかも桁数を揃えて表示できるので便利です。Unixのファイルパーミッション（755や644など）のようにフォーマットが決まっているデータも、整った形で出力できます。</p>



<p>この記事では、BIN2OCT関数の基本から桁数指定までまとめて解説します。符号付き2進数の扱いやエラー対処法、関連関数との使い分けにも触れていきますね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">BIN2OCT関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">BIN2OCT関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">BIN2OCT関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">引数のルール</a></li></ol></li><li><a href="#toc8" tabindex="0">2進数と8進数の対応表</a></li><li><a href="#toc9" tabindex="0">BIN2OCT関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">2進数を直接入力する</a></li><li><a href="#toc11" tabindex="0">セル参照で2進数を変換する</a></li><li><a href="#toc12" tabindex="0">複数のセルをまとめて変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">桁数を指定して表示を揃える</a><ol><li><a href="#toc14" tabindex="0">桁数指定の基本</a></li><li><a href="#toc15" tabindex="0">桁数指定が役立つ場面</a></li><li><a href="#toc16" tabindex="0">桁数を結果より小さくするとエラー</a></li></ol></li><li><a href="#toc17" tabindex="0">符号付き2進数（10桁の場合）の扱い方</a><ol><li><a href="#toc18" tabindex="0">符号ビットの仕組み</a></li><li><a href="#toc19" tabindex="0">符号付き2進数の変換例</a></li><li><a href="#toc20" tabindex="0">9桁以下は符号ビットが無視される</a></li></ol></li><li><a href="#toc21" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">#NUM!エラーの代表例</a></li><li><a href="#toc23" tabindex="0">IFERRORでエラー処理</a></li></ol></li><li><a href="#toc24" tabindex="0">BIN2OCT関数の実務活用パターン</a><ol><li><a href="#toc25" tabindex="0">Unixファイルパーミッションの確認</a></li><li><a href="#toc26" tabindex="0">組み込み機器のレジスタ値解析</a></li><li><a href="#toc27" tabindex="0">他のBIN系関数と並べて多角的に確認</a></li></ol></li><li><a href="#toc28" tabindex="0">関連する基数変換関数との使い分け</a><ol><li><a href="#toc29" tabindex="0">BIN2OCTの逆変換と兄弟関数</a></li><li><a href="#toc30" tabindex="0">12種類の基数変換関数の全体像</a></li><li><a href="#toc31" tabindex="0">BIN2OCTとOCT2BINを組み合わせる</a></li></ol></li><li><a href="#toc32" tabindex="0">BIN2OCT関数をスプレッドシートで使うときのポイント</a><ol><li><a href="#toc33" tabindex="0">Excelとの違いはほぼない</a></li><li><a href="#toc34" tabindex="0">ARRAYFORMULAで配列処理ができる</a></li><li><a href="#toc35" tabindex="0">REGEXMATCHで入力値を検証できる</a></li></ol></li><li><a href="#toc36" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>BIN2OCT関数（読み方: ビントゥオクト / バイナリ・トゥ・オクタル）は、<strong>2進数を8進数に変換するエンジニアリング関数</strong>です。</p>



<p>2進数は「0」と「1」だけで数値を表す方法です。コンピュータの内部では、すべてのデータがこの形式で処理されています。</p>



<p>一方、8進数は「0〜7」の8つの数字で数値を表す方法ですね。16進数と違ってA〜Fのようなアルファベットは登場しません。</p>



<p>2進数の3桁が8進数の1桁にちょうど対応するため、長いビット列をコンパクトに表現したいときに8進数が使われます。</p>



<p>たとえば <code>=BIN2OCT("101011")</code> と入力すると、結果は「53」です。6桁の2進数が、たった2文字の8進数になりました。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の由来</span></h3>



<p>関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>OCT</strong> = Octal（オクタル、8進数）</li></ul>



<p>つまり「BINからOCTへ」、2進数を8進数に変換するという意味がそのまま名前になっています。基数変換系の関数はすべて同じ命名ルールです。</p>



<h3 class="wp-block-heading"><span id="toc3">BIN2OCT関数でできること</span></h3>



<p>BIN2OCT関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>0と1で構成された2進数を8進数に変換する</li><li>最大10桁（10ビット）の2進数に対応する</li><li>桁数を指定して結果の文字数を揃えられる</li><li>符号付き2進数（負の数）にも対応する</li><li>Excelとの互換性があり、ファイルのやり取りでもそのまま使える</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>BIN2OCT関数はGoogleスプレッドシートのエンジニアリング関数カテゴリに属します。全バージョンで追加設定なしに利用できます。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=BIN2OCT(数値, [桁数])</code></pre>



<p>カッコの中に、変換したい2進数と、必要に応じて桁数を指定します。桁数は省略できます。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</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>8進数に変換したい2進数。0と1のみで構成された値を指定する</td></tr><tr><td>桁数</td><td>任意</td><td>結果の最小文字数。省略すると必要最小限の桁数で返される</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">引数のルール</span></h3>



<p>数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>使える文字は「0」と「1」だけ</li><li>最大10桁（10ビット）まで</li><li>直接入力でもセル参照でもOK</li><li>文字列として指定する場合はダブルクォーテーションで囲む</li></ul>



<p>桁数のルールは、次のとおりです。</p>



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定するとエラーになる</li><li>負の数を変換した場合、桁数指定は無視されて10桁で返される</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>直接入力で <code>=BIN2OCT(0011)</code> のように先頭に0を付けると、スプレッドシートが10進数として解釈し、先頭の0が消えてしまうことがあります。先頭0が意味を持つ場合は <code>"0011"</code> と文字列で指定するのが安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">2進数と8進数の対応表</span></h2>



<p>BIN2OCT関数の動きをイメージしやすくするため、代表的な対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>2進数</th><th>8進数</th><th>10進数</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr><tr><td>10</td><td>2</td><td>2</td></tr><tr><td>111</td><td>7</td><td>7</td></tr><tr><td>1000</td><td>10</td><td>8</td></tr><tr><td>1010</td><td>12</td><td>10</td></tr><tr><td>111111</td><td>77</td><td>63</td></tr><tr><td>1000000</td><td>100</td><td>64</td></tr><tr><td>1100100</td><td>144</td><td>100</td></tr><tr><td>111111111</td><td>777</td><td>511</td></tr></tbody></table></figure>



<p>ポイントは「2進数の3桁が8進数の1桁にぴったり対応する」点です。たとえば6桁の2進数 <code>101011</code> を考えてみましょう。</p>



<p>上位3桁の <code>101</code> は10進数で5、下位3桁の <code>011</code> は10進数で3です。それぞれを8進数に変換すれば <code>53</code> という形になりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>この「3ビット = 1オクタル桁」の関係が、8進数がコンピュータの世界で重宝された理由です。長い2進数を区切って読みやすくする目的で、Unixのパーミッション設定などに使われ続けています。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc10">2進数を直接入力する</span></h3>



<p>もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;1010&quot;)</code></pre>



<p>結果は「12」です。2進数の <code>1010</code> は、8進数では <code>12</code> にあたります。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;111111&quot;)</code></pre>



<p>結果は「77」です。6桁すべてが1の場合、8進数では <code>77</code> になります。</p>



<h3 class="wp-block-heading"><span id="toc11">セル参照で2進数を変換する</span></h3>



<p>実務では、セルに入っている2進数を変換する場面が多いです。A2のセルに「11001」が入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=BIN2OCT(A2)</code></pre>



<p>結果は「31」です。2進数の <code>11001</code> は、8進数の <code>31</code> にあたります。</p>



<h3 class="wp-block-heading"><span id="toc12">複数のセルをまとめて変換する</span></h3>



<p>複数の2進数データをまとめて変換したい場合は、通常どおり数式を下方向にドラッグしてコピーすればOKです。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 2進数</th><th>B列: 数式</th><th>結果（8進数）</th></tr></thead><tbody><tr><td>1</td><td>=BIN2OCT(A2)</td><td>1</td></tr><tr><td>1010</td><td>=BIN2OCT(A3)</td><td>12</td></tr><tr><td>11001</td><td>=BIN2OCT(A4)</td><td>31</td></tr><tr><td>1100100</td><td>=BIN2OCT(A5)</td><td>144</td></tr><tr><td>111111111</td><td>=BIN2OCT(A6)</td><td>777</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ARRAYFORMULAと組み合わせて <code>=ARRAYFORMULA(BIN2OCT(A2:A6))</code> と書けば、1つの数式で範囲全体を一括変換できます。スプレッドシートならではの書き方ですね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">桁数を指定して表示を揃える</span></h2>



<p>BIN2OCT関数の便利な特徴が、第2引数の「桁数」です。これを指定すると、結果の文字数を揃えられます。</p>



<h3 class="wp-block-heading"><span id="toc14">桁数指定の基本</span></h3>



<p>不足分は先頭に「0」が補われます。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;1010&quot;, 4)</code></pre>



<p>結果は「0012」です。桁数を省略した場合は「12」とだけ表示されますが、4を指定したことで先頭に「0」が2つ追加されました。</p>



<h3 class="wp-block-heading"><span id="toc15">桁数指定が役立つ場面</span></h3>



<p>桁数指定はデータの一覧表を作るときに便利です。桁数がバラバラだと見づらいですよね。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td>=BIN2OCT(&#8220;1&#8221;, 3)</td><td>001</td><td>3桁に揃える</td></tr><tr><td>=BIN2OCT(&#8220;1010&#8221;, 4)</td><td>0012</td><td>4桁に揃える</td></tr><tr><td>=BIN2OCT(&#8220;111111111&#8221;, 4)</td><td>0777</td><td>4桁に揃える</td></tr></tbody></table></figure>



<p>特にUnixパーミッションのように「必ず3桁で表記する」というルールがある場面では、桁数指定が活躍します。</p>



<h3 class="wp-block-heading"><span id="toc16">桁数を結果より小さくするとエラー</span></h3>



<p>結果の桁数より小さい値を指定するとエラーになります。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;111111111&quot;, 1)
→ #NUM! エラー</code></pre>



<p><code>111111111</code> は8進数で <code>777</code>（3桁）になるため、桁数1では収まりません。エラーが出たら、桁数を大きくするか省略してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数を変換した場合は、桁数指定が無視されて常に10桁で返されます。これは2の補数表現で必ず10桁が必要になるためです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">符号付き2進数（10桁の場合）の扱い方</span></h2>



<p>BIN2OCT関数も、BIN2DEC関数と同じく「符号付き2進数」に対応しています。10桁の2進数を指定したときだけ、左端のビットが符号として扱われますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">符号ビットの仕組み</span></h3>



<p>10桁の2進数では、各桁の意味が次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>10桁目（左端）</th><th>9桁目〜1桁目</th></tr></thead><tbody><tr><td>役割</td><td>符号ビット（0=正、1=負）</td><td>数値部分</td></tr><tr><td>例: 正の最大</td><td>0</td><td>111111111（10進数で511）</td></tr><tr><td>例: -1</td><td>1</td><td>111111111</td></tr><tr><td>例: 負の最小</td><td>1</td><td>000000000（10進数で-512）</td></tr></tbody></table></figure>



<p>10桁目が「1」の場合は負の数として扱われます。結果は2の補数（負の数を表現するためのコンピュータの方式）で表現された8進数になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">符号付き2進数の変換例</span></h3>



<p>具体例を見ていきましょう。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;1111111111&quot;)</code></pre>



<p>結果は「7777777777」です。10桁すべてが1の場合、2の補数では <code>-1</code> を表します。そのため8進数では10桁すべてが <code>7</code> になります。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;1000000000&quot;)</code></pre>



<p>結果は「7777777000」です。これが10ビットの符号付き2進数で表現できる最小値（-512）の8進数表現です。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;0111111111&quot;)</code></pre>



<p>結果は「777」です。こちらが正の最大値（511）の8進数表現になります。</p>



<h3 class="wp-block-heading"><span id="toc20">9桁以下は符号ビットが無視される</span></h3>



<p>9桁以下の2進数では、最上位が1でも正の数として扱われます。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;111111111&quot;)
→ 777（9桁なので正の数）

=BIN2OCT(&quot;11111111&quot;)
→ 377（8桁なので正の数）</code></pre>



<p>同じ「1が並んだ形」でも、桁数によって結果が変わる点に注意してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>符号付き2進数の扱いはExcelのBIN2OCT関数と完全に同じです。Googleスプレッドシートで作成した数式は、Excelにそのままコピーしても動作します。</p></blockquote>



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



<p>BIN2OCT関数で発生するエラーは主に2種類です。原因と対処法を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式の例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>10桁を超える2進数を指定した</td><td>=BIN2OCT(&#8220;11111111111&#8221;)</td><td>10桁以内に収める</td></tr><tr><td>#NUM!</td><td>0と1以外の文字が含まれる</td><td>=BIN2OCT(&#8220;102&#8221;)</td><td>0と1だけで構成する</td></tr><tr><td>#NUM!</td><td>桁数が結果より小さい</td><td>=BIN2OCT(&#8220;111111111&#8221;, 1)</td><td>桁数を大きくするか省略する</td></tr><tr><td>#NUM!</td><td>桁数に10超を指定した</td><td>=BIN2OCT(&#8220;1010&#8221;, 11)</td><td>桁数を1〜10の範囲で指定する</td></tr><tr><td>#VALUE!</td><td>無効な引数を指定した</td><td>=BIN2OCT(&#8220;ABC&#8221;)</td><td>数値または数値文字列を指定する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">#NUM!エラーの代表例</span></h3>



<p>実務で一番多いのが、10進数を2進数と間違えて入力するケースです。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;102&quot;)
→ #NUM! エラー</code></pre>



<p>10進数の「102」をそのまま指定してしまったパターンです。「2」は2進数では使えない文字ですね。</p>



<p>桁数オーバーも見落としがちです。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;11111111111&quot;)
→ #NUM! エラー</code></pre>



<p>11桁を指定しているため、エラーになります。10桁以内に修正する必要があります。</p>



<h3 class="wp-block-heading"><span id="toc23">IFERRORでエラー処理</span></h3>



<p>大量のデータを変換する場合、元データにノイズが混ざることもありますよね。IFERROR関数（エラー時に代替値を返す関数）と組み合わせて、エラー時の表示をカスタマイズしておくと親切です。</p>



<pre class="wp-block-code"><code>=IFERROR(BIN2OCT(A2), &quot;変換不可&quot;)</code></pre>



<p>これでA2が2進数として無効な値でも、エラーではなく「変換不可」というメッセージが表示されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>入力値が2進数として有効かを事前に判定したい場合は <code>=IF(REGEXMATCH(A2, "^[01]{1,10}$"), BIN2OCT(A2), "無効")</code> のようにREGEXMATCH関数（正規表現で文字列パターンを判定する関数）と組み合わせるのも便利です。スプレッドシートの正規表現関数が強力に働きますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc24">BIN2OCT関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc25">Unixファイルパーミッションの確認</span></h3>



<p>8進数の代表的な活用シーンが、Linuxやmacのファイルパーミッションです。<code>chmod 755</code> や <code>chmod 644</code> のように見たことがある方も多いですよね。</p>



<p>パーミッションは「読み取り(r)」「書き込み(w)」「実行(x)」の3ビットで構成されます。所有者・グループ・その他の3組で計9ビットです。</p>



<pre class="wp-block-code"><code>=BIN2OCT(&quot;111101101&quot;)</code></pre>



<p>結果は「755」です。所有者はすべて許可（rwx=7）、グループと他は読み取り・実行のみ（r-x=5）という設定ですね。</p>



<figure class="wp-block-table"><table><thead><tr><th>2進数（9ビット）</th><th>8進数</th><th>パーミッション表記</th><th>説明</th></tr></thead><tbody><tr><td>111101101</td><td>755</td><td>rwxr-xr-x</td><td>一般的な実行ファイル</td></tr><tr><td>110100100</td><td>644</td><td>rw-r&#8211;r&#8211;</td><td>一般的なテキストファイル</td></tr><tr><td>111000000</td><td>700</td><td>rwx&#8212;&#8212;</td><td>所有者のみアクセス可</td></tr><tr><td>111111111</td><td>777</td><td>rwxrwxrwx</td><td>全員フルアクセス（非推奨）</td></tr></tbody></table></figure>



<p>ビット表現と8進数表現の対応関係を一覧で持っておくと、サーバー設定の確認がスムーズに進みます。</p>



<h3 class="wp-block-heading"><span id="toc26">組み込み機器のレジスタ値解析</span></h3>



<p>マイコンや組み込み機器では、レジスタの設定値を8進数で表記する文化が一部に残っています。デバッグログが2進数で出力される場合、BIN2OCTで8進数に変換しておくと、マニュアルと突き合わせやすくなりますよ。</p>



<pre class="wp-block-code"><code>=BIN2OCT(A2, 4)</code></pre>



<p>桁数4で揃えておけば、表示が縦にきれいに揃って読みやすくなりますね。</p>



<h3 class="wp-block-heading"><span id="toc27">他のBIN系関数と並べて多角的に確認</span></h3>



<p>同じ2進数データを、8進数・10進数・16進数で並べて表示すると、データ全体を多角的に確認できます。</p>



<pre class="wp-block-code"><code>B1: =BIN2OCT(A1)   → 53
C1: =BIN2DEC(A1)   → 43
D1: =BIN2HEX(A1)   → 2B</code></pre>



<p>A1に「101011」を入力すれば、3つの基数表現が同時に確認できます。検証作業や教育用途で役立ちますよ。</p>



<h2 class="wp-block-heading"><span id="toc28">関連する基数変換関数との使い分け</span></h2>



<p>Googleスプレッドシートには、2進数・8進数・10進数・16進数を相互に変換する関数が12種類あります。BIN2OCT関数はその1つです。</p>



<h3 class="wp-block-heading"><span id="toc29">BIN2OCTの逆変換と兄弟関数</span></h3>



<p>BIN2OCT関数の「入力側が2進数」「出力側が8進数」を入れ替えたり、変換先を変えたりするバリエーションがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>用途</th></tr></thead><tbody><tr><td><strong>BIN2OCT</strong>（この記事）</td><td>2進数 → 8進数</td><td>パーミッションやレジスタ値の確認</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC</a></td><td>2進数 → 10進数</td><td>2進数を人が読み慣れた10進数に変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX</a></td><td>2進数 → 16進数</td><td>2進数のログをコンパクトな16進数で確認</td></tr><tr><td>OCT2BIN</td><td>8進数 → 2進数</td><td>BIN2OCTの逆変換。8進数を2進数で確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc30">12種類の基数変換関数の全体像</span></h3>



<p>基数変換関数の命名ルールは「変換元 + 2 + 変換先」です。対応表を頭に入れておくと、必要な関数をすぐに見つけられます。</p>



<figure class="wp-block-table"><table><thead><tr><th>変換元 ＼ 変換先</th><th>2進数（BIN）</th><th>8進数（OCT）</th><th>10進数（DEC）</th><th>16進数（HEX）</th></tr></thead><tbody><tr><td>2進数（BIN）</td><td>&#8211;</td><td><strong>BIN2OCT</strong></td><td><a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC</a></td><td><a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX</a></td></tr><tr><td>8進数（OCT）</td><td>OCT2BIN</td><td>&#8211;</td><td>OCT2DEC</td><td>OCT2HEX</td></tr><tr><td>10進数（DEC）</td><td>DEC2BIN</td><td>DEC2OCT</td><td>&#8211;</td><td>DEC2HEX</td></tr><tr><td>16進数（HEX）</td><td>HEX2BIN</td><td>HEX2OCT</td><td>HEX2DEC</td><td>&#8211;</td></tr></tbody></table></figure>



<p>たとえば「8進数を2進数に戻したい」なら、OCT（8進数）+ 2 + BIN（2進数）で「OCT2BIN関数」になります。命名ルールを覚えると、関数名で迷うことがなくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc31">BIN2OCTとOCT2BINを組み合わせる</span></h3>



<p>逆変換のOCT2BINと組み合わせると、変換結果を元に戻して検証できます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(BIN2OCT(A2))</code></pre>



<p>A2の2進数を8進数に変換し、さらに2進数に戻すという流れです。元の値と一致すれば、変換が正しく行われた確認になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc32">BIN2OCT関数をスプレッドシートで使うときのポイント</span></h2>



<h3 class="wp-block-heading"><span id="toc33">Excelとの違いはほぼない</span></h3>



<p>BIN2OCT関数の仕様はExcelとGoogleスプレッドシートでほぼ同じです。引数や返り値の範囲、符号付き2進数の扱い、桁数指定のルールも共通ですよ。</p>



<p>既に<a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">ExcelのBIN2OCT関数</a>を使った経験があれば、スプレッドシートでもそのまま同じ感覚で使えます。ファイルをExcel形式で保存しても、BIN2OCT関数はそのまま動作しますよ。</p>



<h3 class="wp-block-heading"><span id="toc34">ARRAYFORMULAで配列処理ができる</span></h3>



<p>スプレッドシートならではの強みは、ARRAYFORMULA関数との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(BIN2OCT(A2:A100, 3))</code></pre>



<p>A2からA100までの2進数データを一気に3桁の8進数に変換できます。Excelでも配列数式は使えますが、スプレッドシートのほうがシンプルに書けますね。</p>



<h3 class="wp-block-heading"><span id="toc35">REGEXMATCHで入力値を検証できる</span></h3>



<p>スプレッドシートは正規表現関数が充実しています。BIN2OCTの前に入力値チェックを挟むと、エラーを未然に防げます。</p>



<pre class="wp-block-code"><code>=IF(REGEXMATCH(A2, &quot;^[01]{1,10}$&quot;), BIN2OCT(A2, 3), &quot;無効な2進数&quot;)</code></pre>



<p>0と1だけで構成され、かつ10桁以内の文字列だけを変換対象にする、という数式です。大量データの前処理に便利ですね。</p>



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



<p>BIN2OCT関数は、2進数を8進数に変換するエンジニアリング関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=BIN2OCT(数値, [桁数])</code> で、桁数は省略可能</li><li>入力は0と1だけの2進数。最大10桁まで対応</li><li>桁数を指定すると、先頭に0を補って文字数を揃えられる</li><li>10桁の場合は符号付き2進数として扱われ、最上位ビットが符号ビットになる</li><li>負の数の場合、桁数指定は無視されて常に10桁で返される</li><li>#NUM!エラーの原因は「10桁超」「0と1以外の文字」「桁数不足」「桁数10超」</li><li>逆変換にはOCT2BIN関数を使う</li><li>ExcelのBIN2OCT関数と仕様は共通で、ファイルをExcel形式で保存しても動作する</li></ul>



<p>まずは <code>=BIN2OCT("1010")</code> で「12」が返ることを試してみてください。関数の動きがつかめたら、桁数指定や符号付き2進数も使いこなせるようになりますよ。</p>



<p>基数変換の姉妹記事として、<a href="https://mashukabu.com/spreadsheet-bin2dec-function/">スプレッドシートのBIN2DEC関数の使い方</a>や<a href="https://mashukabu.com/spreadsheet-bin2hex-function/">スプレッドシートのBIN2HEX関数の使い方</a>もあわせてご覧ください。Excelでの使い方は<a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">ExcelのBIN2OCT関数の使い方</a>で詳しく解説しています。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-bin2oct-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのHEX2BIN関数の使い方｜16進→2進</title>
		<link>https://mashukabu.com/spreadsheet-hex2bin-function/</link>
					<comments>https://mashukabu.com/spreadsheet-hex2bin-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:02 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[HEX2BIN]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6229</guid>

					<description><![CDATA[GoogleスプレッドシートのHEX2BIN関数の使い方を解説。16進数を2進数に変換する基本から、桁数指定（ゼロ埋め）、ビットフラグ解析への活用、負の数の扱い、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「ネットワーク機器の設定値やエラーコードが16進数で表示されているけど、ビット単位でON/OFFを確認したい&#8230;」</p>



<p>スプレッドシートでシステム管理や障害解析の記録をしていると、16進数の値を2進数のビット列に展開したい場面が出てきます。16進数の「F」が2進数で「1111」、「A」が「1010」というように手計算でやるのは、桁が増えると大変ですよね。</p>



<p>そんなときに役立つのがGoogleスプレッドシートのHEX2BIN関数です。16進数の文字列を指定するだけで、2進数のビット列にすぐ変換できますよ。</p>



<p>桁数を指定してゼロ埋めできるので、ビットフラグの一覧表を8ビット揃えで作ることも可能です。Excelとも互換性があるため、ファイルをやり取りする現場でも安心して使えますね。</p>



<p>この記事では、HEX2BIN関数の基本から桁数指定・ビットフラグ解析・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HEX2BIN関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">HEX2BIN関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">HEX2BIN関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">第1引数：変換する16進数</a></li><li><a href="#toc8" tabindex="0">第2引数：桁数（省略可）</a></li></ol></li><li><a href="#toc9" tabindex="0">16進数と2進数の対応表</a></li><li><a href="#toc10" tabindex="0">HEX2BIN関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">直接入力で変換する</a></li><li><a href="#toc12" tabindex="0">セル参照で変換する</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc14" tabindex="0">桁数を指定して出力する（ゼロ埋め）</a><ol><li><a href="#toc15" tabindex="0">8ビット固定フォーマット出力</a></li><li><a href="#toc16" tabindex="0">4ビット単位のグループ表示</a></li></ol></li><li><a href="#toc17" tabindex="0">実務活用例：ビットフラグ解析</a><ol><li><a href="#toc18" tabindex="0">権限フラグのビット展開</a></li><li><a href="#toc19" tabindex="0">ネットワーク設定の確認</a></li></ol></li><li><a href="#toc20" tabindex="0">負の数の変換（2の補数・10ビット）</a><ol><li><a href="#toc21" tabindex="0">負の数に相当する16進数の変換例</a></li></ol></li><li><a href="#toc22" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc23" tabindex="0">#NUM! エラー</a></li><li><a href="#toc24" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc25" tabindex="0">エラー対処：IFERRORで包む</a></li></ol></li><li><a href="#toc26" tabindex="0">HEX2BIN関数とExcelの互換性</a></li><li><a href="#toc27" tabindex="0">HEX2シリーズ3関数の比較</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>HEX2BIN関数（読み方: ヘックス・ツー・バイン）は、<strong>16進数を2進数に変換するエンジニアリング関数</strong>です。Googleスプレッドシートに標準搭載されていて、追加設定なしで使えます。</p>



<p>16進数は0〜9の数字とA〜Fのアルファベット（合計16種類）で数値を表す方法です。16進数の1桁は2進数の4桁に対応します。たとえば「F」は2進数で「1111」（4ビットすべて1）、「A」は「1010」です。</p>



<p>プログラミングやネットワーク設定では、コンパクトに表現できる16進数が好まれますが、ビット単位の解析には2進数の方がわかりやすい場面があります。HEX2BIN関数を使えば、この変換作業をスプレッドシートで自動化できますよ。</p>



<p>たとえば <code>=HEX2BIN("FF")</code> と入力すると、結果は「11111111」です。1バイト（8ビット）すべてが1であることが一目でわかります。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の由来</span></h3>



<p>関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>HEX</strong> = Hexadecimal（ヘキサデシマル、16進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li></ul>



<p>つまり「HEXからBINへ」、16進数を2進数に変換するという意味がそのまま名前になっています。逆変換のBIN2HEX関数とセットで覚えると便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">HEX2BIN関数でできること</span></h3>



<p>HEX2BIN関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>16進数を2進数の文字列に変換する</li><li>変換できる範囲は -512〜511（10ビット符号付き整数）</li><li>桁数を指定して先頭にゼロ埋めできる</li><li>負の数は2の補数（10ビット）で返される</li><li>ExcelのHEX2BIN関数と仕様が同じで、ファイル共有でもそのまま動作する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>HEX2BIN関数は<a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX関数</a>（2進→16進）と逆の変換を行います。16進数と2進数を行き来する作業なら、両方覚えておくと効率的ですよ。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=HEX2BIN(数値, [桁数])</code></pre>



<p>カッコの中に、変換したい16進数と、必要に応じて桁数を指定します。桁数は省略できますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</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>2進数に変換したい16進数（最大10文字）。-512〜511に相当する値のみ有効</td></tr><tr><td>桁数</td><td>任意</td><td>結果の最小文字数（1〜10）。省略すると必要最小限の桁数で返される</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">第1引数：変換する16進数</span></h3>



<p>数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>0〜9とA〜F（大文字・小文字どちらでもOK）のみで構成された文字列</li><li>変換結果が -512〜511 の範囲に収まるもの<ul><li>正の数: 0〜1FF（16進数、10進数では 0〜511）</li><li>負の数: FFFFFFFE00〜FFFFFFFFFF（40ビット2の補数表現）</li></ul></li><li>範囲外は #NUM! エラー</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>16進数の「1FF」は10進数の「511」（2進数の最大正の値）です。この3文字が入力できる最大の正の値になります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc8">第2引数：桁数（省略可）</span></h3>



<p>桁数のルールは、次のとおりです。</p>



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定すると #NUM! エラー</li><li>0や負の値を指定するとエラーになる</li><li><strong>負の数を変換した場合、桁数指定は無視されて常に10桁で返される</strong></li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>HEX2BIN関数の戻り値は数値ではなく「文字列」です。そのまま計算に使おうとすると文字列として扱われます。2進数を10進数に戻して計算したい場合はBIN2DEC関数を使ってくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc9">16進数と2進数の対応表</span></h2>



<p>HEX2BIN関数の動きをイメージしやすくするため、1桁の16進数の対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>2進数（4桁）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0000</td><td>ビット全OFF</td></tr><tr><td>1</td><td>0001</td><td>最下位ビットのみON</td></tr><tr><td>4</td><td>0100</td><td>&nbsp;</td></tr><tr><td>7</td><td>0111</td><td>下位3ビットON</td></tr><tr><td>8</td><td>1000</td><td>最上位ビットのみON</td></tr><tr><td>9</td><td>1001</td><td>&nbsp;</td></tr><tr><td>A</td><td>1010</td><td>10進数の10</td></tr><tr><td>F</td><td>1111</td><td>ビット全ON</td></tr></tbody></table></figure>



<p>16進数の1桁が2進数の4桁に対応しているので、複数桁の変換も機械的に行えます。たとえば「3F」は「0011 1111」（先頭ゼロは省略されて「111111」）になります。</p>



<p>HEX2BIN関数の出力では、先頭の不要なゼロは省略されます。8ビット固定で出力したい場合は桁数に「8」を指定してください。</p>



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



<h3 class="wp-block-heading"><span id="toc11">直接入力で変換する</span></h3>



<p>もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;A&quot;)</code></pre>



<p>結果は「1010」です。16進数の「A」（10進数の10）が2進数で表されました。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;FF&quot;)</code></pre>



<p>結果は「11111111」です。1バイト（8ビット）すべてが1であることがわかります。</p>



<h3 class="wp-block-heading"><span id="toc12">セル参照で変換する</span></h3>



<p>実務では、セルに入っている16進数を変換する場面が多いです。A2のセルに「F0」が入っている場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=HEX2BIN(A2)</code></pre>



<p>結果は「11110000」です。上位4ビットがON、下位4ビットがOFFの状態が一目でわかりますね。</p>



<h3 class="wp-block-heading"><span id="toc13">ARRAYFORMULAで一括変換する</span></h3>



<p>スプレッドシートならではの強みが、ARRAYFORMULA関数との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(HEX2BIN(A2:A10))</code></pre>



<p>A2からA10までの16進数データを、1つの数式で一気に2進数に変換できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 16進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>0</td><td>=ARRAYFORMULA(HEX2BIN(A2:A6))</td><td>0</td></tr><tr><td>A</td><td>↓</td><td>1010</td></tr><tr><td>F</td><td>↓</td><td>1111</td></tr><tr><td>FF</td><td>↓</td><td>11111111</td></tr><tr><td>1FF</td><td>↓</td><td>111111111</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc14">桁数を指定して出力する（ゼロ埋め）</span></h2>



<p>HEX2BIN関数の第2引数「桁数」を使うと、出力の文字数を揃えられます。ビットフラグ解析でとくに便利な機能ですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">8ビット固定フォーマット出力</span></h3>



<p>1バイト（8ビット）のデータを解析する場合は、8桁固定にしておくと各ビットの位置が揃って読みやすくなります。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;A&quot;, 8)</code></pre>



<p>結果は「00001010」です。桁数を省略すると「1010」とだけ表示されますが、8を指定したことで先頭に「0000」が追加されました。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>用途</th></tr></thead><tbody><tr><td>=HEX2BIN(&#8220;A&#8221;, 8)</td><td>00001010</td><td>8ビット表示</td></tr><tr><td>=HEX2BIN(&#8220;F&#8221;, 8)</td><td>00001111</td><td>8ビット表示</td></tr><tr><td>=HEX2BIN(&#8220;FF&#8221;, 8)</td><td>11111111</td><td>8ビット表示（すべて1）</td></tr><tr><td>=HEX2BIN(&#8220;1&#8221;, 4)</td><td>0001</td><td>4ビット表示</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">4ビット単位のグループ表示</span></h3>



<p>16進数の1桁は4ビットに対応するため、4桁ずつ管理する場合は4桁固定が便利です。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;C&quot;, 4)</code></pre>



<p>結果は「1100」です。</p>



<h2 class="wp-block-heading"><span id="toc17">実務活用例：ビットフラグ解析</span></h2>



<p>HEX2BIN関数の最も実用的な活用例が、ビットフラグの解析です。各ビットにON/OFFの設定を持つデータを解析する場面で役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc18">権限フラグのビット展開</span></h3>



<p>アクセス権限などを1バイトのビットフラグで管理している場合、HEX2BIN関数で展開するとどのビットがONかすぐわかります。</p>



<p>たとえば権限値「3F」（16進数）は、次のように解析できます。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;3F&quot;, 8)  → 00111111</code></pre>



<p>下位6ビットがすべてONで、上位2ビットがOFFということがわかりました。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>2進数（8桁）</th><th>意味（例）</th></tr></thead><tbody><tr><td>00</td><td>00000000</td><td>権限なし</td></tr><tr><td>01</td><td>00000001</td><td>読取のみ</td></tr><tr><td>03</td><td>00000011</td><td>読取＋書込</td></tr><tr><td>07</td><td>00000111</td><td>読取＋書込＋実行</td></tr><tr><td>3F</td><td>00111111</td><td>下位6ビットON</td></tr><tr><td>FF</td><td>11111111</td><td>全ビットON</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">ネットワーク設定の確認</span></h3>



<p>ネットワーク機器の設定値やステータスレジスタを16進数で管理している場合、HEX2BINで2進数展開するとビット単位の状態確認ができます。</p>



<pre class="wp-block-code"><code>=HEX2BIN(A2, 8)</code></pre>



<p>A列にレジスタ値（16進数）が並んでいれば、B列に8ビットの状態を並べられます。</p>



<h2 class="wp-block-heading"><span id="toc20">負の数の変換（2の補数・10ビット）</span></h2>



<p>HEX2BIN関数で負の数に相当する16進数を変換すると、10ビット（10桁）の2の補数表現が返されます。</p>



<h3 class="wp-block-heading"><span id="toc21">負の数に相当する16進数の変換例</span></h3>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;FFFFFFFFFF&quot;)</code></pre>



<p>結果は「1111111111」（10桁すべて1）です。10ビット2の補数で -1 を表しています。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;FFFFFFFE00&quot;)</code></pre>



<p>結果は「1000000000」です。10ビット2の補数の最小値（-512）を表しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>結果（2進数）</th><th>10進数</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>1111111111</td><td>-1</td></tr><tr><td>FFFFFFFE00</td><td>1000000000</td><td>-512（最小値）</td></tr><tr><td>1FF</td><td>111111111</td><td>511（最大値）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数の変換では、第2引数の桁数指定は無視されます。常に10桁で返されるため、8桁を指定しても10桁の結果になりますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc22">エラーの種類と対処法</span></h2>



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



<p>次のいずれかに当てはまると #NUM! エラーになります。</p>



<ul class="wp-block-list"><li>変換結果が -512〜511 の範囲外（入力の16進数が範囲外）</li><li>桁数に 0 以下の値を指定した</li><li>桁数に結果の桁数より少ない値を指定した</li></ul>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;200&quot;)       → #NUM!（511超の正の値）
=HEX2BIN(&quot;FF&quot;, 1)     → #NUM!（FFは8桁、1桁は不足）</code></pre>



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



<p>桁数に数値型でない値を指定すると #VALUE! エラーになります。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;F&quot;, &quot;a&quot;)   → #VALUE!</code></pre>



<p>また、0〜9・A〜F（a〜f）以外の文字を含む16進数を指定すると #NUM! エラーになります。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;GG&quot;)  → #NUM!（G は16進数では無効な文字）</code></pre>



<h3 class="wp-block-heading"><span id="toc25">エラー対処：IFERRORで包む</span></h3>



<p>変換対象のデータが信頼できない場合は、IFERRORで包んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(HEX2BIN(A2, 8), &quot;エラー&quot;)</code></pre>



<p>A2に範囲外の値や無効な文字が入っていた場合でも、「エラー」と表示して処理が止まりません。</p>



<h2 class="wp-block-heading"><span id="toc26">HEX2BIN関数とExcelの互換性</span></h2>



<p>GoogleスプレッドシートのHEX2BIN関数は、ExcelのHEX2BIN関数と仕様が同じです。構文・引数・変換ルール・エラー条件のすべてが一致しています。</p>



<p>ExcelファイルをGoogleスプレッドシートで開いた場合でも、HEX2BIN関数はそのまま動作します。逆にスプレッドシートで作成した数式をExcelで開いても問題ありませんよ。</p>



<h2 class="wp-block-heading"><span id="toc27">HEX2シリーズ3関数の比較</span></h2>



<p>HEXシリーズの変換関数（HEX2から始まる）を比較すると、変換先と扱える範囲が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>有効範囲（16進→10進）</th><th>桁数引数</th><th>戻り値型</th></tr></thead><tbody><tr><td>HEX2BIN</td><td>2進数</td><td>-512〜511</td><td>あり</td><td>テキスト</td></tr><tr><td>HEX2OCT</td><td>8進数</td><td>-536,870,912〜536,870,911</td><td>あり</td><td>テキスト</td></tr><tr><td>HEX2DEC</td><td>10進数</td><td>-549,755,813,888〜549,755,813,887</td><td><strong>なし</strong></td><td><strong>数値</strong></td></tr></tbody></table></figure>



<p>HEX2DECだけが桁数引数を持たず、戻り値も数値型です。四則演算に直接使えるのはHEX2DECだけなので、計算が必要な場合はHEX2BINで変換後にBIN2DECで10進数に戻すか、直接HEX2DECを使いましょう。</p>



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



<p>HEX2BIN関数は、16進数を2進数に変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=HEX2BIN(数値, [桁数])</code></li><li>有効範囲: -512〜511（16進数で FFFFFFFE00〜1FF）</li><li>桁数を指定するとゼロ埋めで出力できる</li><li>負の数は常に10桁（10ビット2の補数）で返される</li><li>ビットフラグ解析・ネットワーク設定確認で特に活用される</li></ul>



<p><code>=HEX2BIN(A2, 8)</code> のように8桁固定で出力するパターンは、ビットフラグの一覧表作成で重宝しますよ。</p>



<p>逆変換には<a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX関数</a>を使います。また<a href="https://mashukabu.com/spreadsheet-dec2bin-function/">DEC2BIN関数</a>と組み合わせれば、10進数→2進数のパスも含めたさまざまな基数変換をスプレッドシート上で完結できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-hex2bin-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのBASE関数の使い方｜10進数を2進数・16進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-base/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-base/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 28 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[BASE]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2775</guid>

					<description><![CDATA[ExcelのBASE関数で10進数を2進数・8進数・16進数に変換する方法を解説。構文・引数の意味、桁数の指定方法、DEC2BIN等との使い分け、エラー対処法まで網羅します。]]></description>
										<content:encoded><![CDATA[
<p>「10進数を2進数や16進数に変換したいけど、手計算はちょっと面倒&#8230;」</p>



<p>Excelには、そんな基数変換を一発で行えるBASE関数があります。2進数・8進数・16進数はもちろん、最大36進数まで自由に変換できる便利な関数です。</p>



<p>この記事では、BASE関数の基本的な使い方からエラー対処法、似た関数との違いまでまとめて解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">BASE関数とは</a><ol><li><a href="#toc2" tabindex="0">BASE関数の入出力イメージ</a></li></ol></li><li><a href="#toc3" tabindex="0">BASE関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc6" tabindex="0">BASE関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">10進数を2進数に変換する</a></li><li><a href="#toc8" tabindex="0">10進数を16進数に変換する</a></li><li><a href="#toc9" tabindex="0">10進数を8進数に変換する</a></li><li><a href="#toc10" tabindex="0">最小長を指定して桁数を揃える</a></li></ol></li><li><a href="#toc11" tabindex="0">BASE関数の実践的な使い方・応用例</a><ol><li><a href="#toc12" tabindex="0">カラーコード（RGB値）を16進数に変換する</a></li><li><a href="#toc13" tabindex="0">IPアドレスの各オクテットを2進数で表示する</a></li><li><a href="#toc14" tabindex="0">DECIMAL関数でBASE関数の結果を元に戻す</a></li><li><a href="#toc15" tabindex="0">36進数で短縮コードを生成する</a></li></ol></li><li><a href="#toc16" tabindex="0">BASE関数とDEC2BIN・DEC2HEXとの違い</a></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">BASE関数とは</span></h2>



<p>BASE関数は、10進数の数値を指定した基数（2進数、8進数、16進数など）のテキストに変換する関数です。</p>



<p>読み方は「ベース」です。「基数」「基底」を意味する英語の &#8220;base&#8221; が由来です。</p>



<p>BASE関数はExcel 2013以降およびMicrosoft 365で使用できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>基数とは？</strong></p><p>基数とは「何進法で数を表すか」の基準になる数のことです。普段使っている10進法は基数が10、コンピュータでおなじみの2進法は基数が2です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">BASE関数の入出力イメージ</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>基数</th><th>出力</th></tr></thead><tbody><tr><td>10</td><td>2</td><td>1010</td></tr><tr><td>255</td><td>16</td><td>FF</td></tr><tr><td>100</td><td>8</td><td>144</td></tr></tbody></table></figure>



<p>ポイントは、BASE関数の戻り値は<strong>文字列</strong>であることです。数値ではないため、そのまま計算には使えません。</p>



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



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



<pre class="wp-block-code"><code>=BASE(数値, 基数, [最小長])</code></pre>



<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以上、2^53未満）</td></tr><tr><td>基数</td><td>必須</td><td>変換先の基数（2以上36以下の整数）</td></tr><tr><td>最小長</td><td>省略可</td><td>結果の最小桁数（0以上255以下）。桁数が足りない場合、先頭を0で埋める</td></tr></tbody></table></figure>



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



<p>BASE関数で最もよく使うのは、2進数・8進数・16進数への変換です。それぞれの使い方を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">10進数を2進数に変換する</span></h3>



<pre class="wp-block-code"><code>=BASE(10, 2)</code></pre>



<p>結果: <code>1010</code></p>



<p>10進数の「10」を2進数に変換すると「1010」になります。</p>



<h3 class="wp-block-heading"><span id="toc8">10進数を16進数に変換する</span></h3>



<pre class="wp-block-code"><code>=BASE(255, 16)</code></pre>



<p>結果: <code>FF</code></p>



<p>10進数の「255」を16進数に変換すると「FF」になります。カラーコードでよく見かける値ですね。</p>



<h3 class="wp-block-heading"><span id="toc9">10進数を8進数に変換する</span></h3>



<pre class="wp-block-code"><code>=BASE(100, 8)</code></pre>



<p>結果: <code>144</code></p>



<p>10進数の「100」を8進数に変換すると「144」になります。</p>



<h3 class="wp-block-heading"><span id="toc10">最小長を指定して桁数を揃える</span></h3>



<p>第3引数の「最小長」を使うと、結果の桁数を揃えることができます。</p>



<pre class="wp-block-code"><code>=BASE(10, 2, 8)</code></pre>



<p>結果: <code>00001010</code></p>



<p>2進数に変換した結果が8桁未満の場合、先頭を0で埋めて8桁に揃えてくれます。データを一覧で並べるときに桁数がバラバラだと見づらいので、この機能は便利です。</p>



<h2 class="wp-block-heading"><span id="toc11">BASE関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc12">カラーコード（RGB値）を16進数に変換する</span></h3>



<p>Webデザインやレポート作成で、RGB値を16進数カラーコードに変換したい場面があります。</p>



<pre class="wp-block-code"><code>=&quot;#&quot; &amp; BASE(A2, 16, 2) &amp; BASE(B2, 16, 2) &amp; BASE(C2, 16, 2)</code></pre>



<p>A2に「255」、B2に「128」、C2に「0」が入っている場合、結果は <code>#FF8000</code> になります。最小長を2に指定することで、必ず2桁の16進数になるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc13">IPアドレスの各オクテットを2進数で表示する</span></h3>



<p>ネットワーク管理で、IPアドレスを2進数に変換したい場面があります。IPアドレスの各オクテット（0〜255の数値）を8桁の2進数に変換してみましょう。</p>



<p>たとえばIPアドレス「192.168.1.1」の場合、セルA2〜D2に各オクテットが入っているとします。</p>



<pre class="wp-block-code"><code>=BASE(A2, 2, 8) &amp; &quot;.&quot; &amp; BASE(B2, 2, 8) &amp; &quot;.&quot; &amp; BASE(C2, 2, 8) &amp; &quot;.&quot; &amp; BASE(D2, 2, 8)</code></pre>



<p>結果: <code>11000000.10101000.00000001.00000001</code></p>



<p>最小長を8に指定することで、各オクテットが必ず8桁になります。サブネットマスクの計算やネットワークアドレスの確認に便利です。</p>



<h3 class="wp-block-heading"><span id="toc14">DECIMAL関数でBASE関数の結果を元に戻す</span></h3>



<p>BASE関数で変換した値を10進数に戻したいときは、DECIMAL関数を使います。BASE関数とDECIMAL関数はちょうど逆の関係です。</p>



<pre class="wp-block-code"><code>=BASE(255, 16)</code></pre>



<p>結果: <code>FF</code></p>



<pre class="wp-block-code"><code>=DECIMAL(&quot;FF&quot;, 16)</code></pre>



<p>結果: <code>255</code></p>



<p>BASE関数で変換した結果をそのまま渡せるので、セル参照で組み合わせるのも簡単です。</p>



<pre class="wp-block-code"><code>=DECIMAL(BASE(A2, 16), 16)</code></pre>



<p>この数式はA2の値を16進数に変換した後、10進数に戻します。結果は元の値と同じになります。変換結果の検算に使えるテクニックです。</p>



<h3 class="wp-block-heading"><span id="toc15">36進数で短縮コードを生成する</span></h3>



<p>BASE関数は最大36進数まで対応しています。36進数では0-9とA-Zの36文字を使うため、大きな数値を短い文字列で表現できます。</p>



<pre class="wp-block-code"><code>=BASE(1000000, 36)</code></pre>



<p>結果: <code>LFLS</code></p>



<p>100万という大きな数値が、たった4文字で表現できます。管理番号やIDの短縮に活用できるテクニックです。</p>



<h2 class="wp-block-heading"><span id="toc16">BASE関数とDEC2BIN・DEC2HEXとの違い</span></h2>



<p>Excelには基数変換ができる関数が他にもあります。BASE関数との違いを整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>BASE関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a> / <a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a> / <a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></th></tr></thead><tbody><tr><td>対応する基数</td><td>2〜36（自由に指定）</td><td>2 / 8 / 16（固定）</td></tr><tr><td>入力値の範囲</td><td>0〜2^53未満</td><td>-512〜511（DEC2BIN）</td></tr><tr><td>負の数の対応</td><td>非対応（0以上のみ）</td><td>対応（2の補数表現）</td></tr><tr><td>戻り値</td><td>文字列</td><td>文字列</td></tr></tbody></table></figure>



<p><strong>使い分けのポイント</strong>: 2進数・8進数・16進数への変換で、負の数も扱いたい場合はDEC2BIN系を使いましょう。任意の基数に変換したい場合や、大きな数値を扱う場合はBASE関数が適しています。</p>



<p>逆方向の変換（2進数や16進数を10進数に戻す）には、DECIMAL関数や<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a>、<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>を使います。特にDECIMAL関数はBASE関数と同じく任意の基数に対応しているため、BASE関数の逆変換に最適です。</p>



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



<p>BASE関数で表示されるエラーと、その原因・対処法をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>数値が0未満、または2^53以上</td><td>0以上2^53未満の整数を指定する</td></tr><tr><td>#NUM!</td><td>基数が2未満、または36超</td><td>2以上36以下の整数を指定する</td></tr><tr><td>#NUM!</td><td>最小長が0未満、または255超</td><td>0以上255以下の整数を指定する</td></tr><tr><td>#VALUE!</td><td>引数に文字列を指定した</td><td>数値を指定する。セル参照の場合は参照先を確認する</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td><td>「BASE」の綴りを確認する</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>小数を渡した場合は？</strong></p><p>BASE関数に小数（例: 10.7）を渡した場合、小数部分は切り捨てられて整数部のみが変換されます。<code>=BASE(10.7, 2)</code> の結果は <code>=BASE(10, 2)</code> と同じ「1010」です。エラーにはなりませんが、意図しない切り捨てに注意してください。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>エラーが出たときは</strong></p><p>まずは引数の値が範囲内に収まっているかを確認してみてください。BASE関数のエラーは、ほとんどが引数の範囲外指定が原因です。</p></blockquote>



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



<p>BASE関数は、10進数を任意の基数のテキストに変換する関数です。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=BASE(数値, 基数, [最小長])</code></li><li><strong>基数</strong>: 2〜36まで自由に指定できる</li><li><strong>最小長</strong>: 桁数を揃えたいときに便利（先頭を0で埋める）</li><li><strong>DEC2BIN系との違い</strong>: BASE関数は任意の基数に対応するが、負の数は扱えない</li><li><strong>逆変換</strong>: DECIMAL関数でBASE関数の結果を10進数に戻せる</li></ul>



<p>カラーコードの生成やIPアドレスの2進数変換など、覚えておくと意外と使いどころのある関数です。</p>



<p>基数変換に関連する関数も合わせてチェックしてみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN関数</a> &#8212; 10進数を2進数に変換</li><li><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT関数</a> &#8212; 10進数を8進数に変換</li><li><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数</a> &#8212; 10進数を16進数に変換</li><li><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a> &#8212; 2進数を10進数に変換</li><li><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a> &#8212; 16進数を10進数に変換</li><li>DECIMAL関数 &#8212; 任意の基数のテキストを10進数に変換（BASE関数の逆）</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-base/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのHEX2BIN関数｜16進数を2進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-hex2bin/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-hex2bin/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 14 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[HEX2BIN]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2543</guid>

					<description><![CDATA[ExcelのHEX2BIN関数で16進数を2進数に変換する方法を丁寧に解説。桁数指定のゼロ埋め・負の数の扱い・#NUM!エラー対策・進数変換12関数の比較表も掲載します。]]></description>
										<content:encoded><![CDATA[
<p>「16進数を2進数に変換したいけど、手計算だと面倒&#8230;」</p>



<p>Excelには、この変換を一発で行える関数があります。それがHEX2BIN関数です。</p>



<p>ネットワーク設定やビットフラグの確認など、16進数を2進数に変換する場面は意外とあります。でも1桁ずつ変換するのは手間がかかりますよね。</p>



<p>この記事では、ExcelのHEX2BIN関数の基本からエラー対策まで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのHEX2BIN関数とは？基本構文と対応バージョン</a><ol><li><a href="#toc2" tabindex="0">読み方と意味</a></li><li><a href="#toc3" tabindex="0">どんなときに使うか</a></li><li><a href="#toc4" tabindex="0">構文と引数の詳細</a></li><li><a href="#toc5" tabindex="0">変換できる数値の範囲</a></li><li><a href="#toc6" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc7" tabindex="0">HEX2BIN関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">シンプルな変換例（直接値を指定）</a></li><li><a href="#toc9" tabindex="0">セル参照で変換する</a></li><li><a href="#toc10" tabindex="0">桁数を指定してゼロ埋めする</a></li></ol></li><li><a href="#toc11" tabindex="0">HEX2BIN関数の応用例</a><ol><li><a href="#toc12" tabindex="0">負の数を変換する（2の補数）</a></li><li><a href="#toc13" tabindex="0">ビットフラグを確認する</a></li></ol></li><li><a href="#toc14" tabindex="0">HEX2BIN関数のよくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#NUM!エラー：数値が範囲外</a></li><li><a href="#toc16" tabindex="0">#NUM!エラー：桁数が結果より少ない</a></li><li><a href="#toc17" tabindex="0">#VALUE!エラー：16進数ではない文字</a></li><li><a href="#toc18" tabindex="0">エラー一覧表</a></li><li><a href="#toc19" tabindex="0">IFERROR関数と組み合わせてエラーを回避する</a></li></ol></li><li><a href="#toc20" tabindex="0">ExcelのHEX2BINと他の進数変換関数の使い分け</a><ol><li><a href="#toc21" tabindex="0">HEX2BIN・BIN2HEX（逆変換）の関係</a></li><li><a href="#toc22" tabindex="0">HEX系関数の比較</a></li><li><a href="#toc23" tabindex="0">進数変換関数の一覧</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのHEX2BIN関数とは？基本構文と対応バージョン</span></h2>



<p>HEX2BIN関数は、<strong>16進数を2進数に変換するExcelの関数</strong>です。</p>



<p>16進数は「0〜9」と「A〜F」の16種類の文字で数を表します。一方、2進数は「0」と「1」だけで数を表します。</p>



<p>16進数の1桁は2進数の4桁に対応します。たとえば16進数の「A」は2進数で「1010」です。HEX2BIN関数を使えば、この変換を自動で行えますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と意味</span></h3>



<p>読み方は「ヘックス・ツー・バイナリ」です。</p>



<ul class="wp-block-list"><li><strong>HEX</strong> = Hexadecimal（ヘクサデシマル、16進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li></ul>



<p>つまり「16進数から2進数へ」という意味です。関数名がそのまま機能を表しているので覚えやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">どんなときに使うか</span></h3>



<p>HEX2BIN関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>16進数のビットフラグを2進数に展開してON/OFFを確認したいとき</li><li>ネットワークアドレスやサブネットマスクのビット構成を調べたいとき</li><li>レジスタ値やメモリダンプの内容をビット単位で解析したいとき</li><li>情報処理試験の勉強で進数変換を練習したいとき</li></ul>



<h3 class="wp-block-heading"><span id="toc4">構文と引数の詳細</span></h3>



<p>基本構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=HEX2BIN(数値, [桁数])</code></pre>



<p>引数は2つあります。必須なのは「数値」だけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>2進数に変換したい16進数</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定。先頭をゼロで埋める</td></tr></tbody></table></figure>



<p><strong>引数1：数値（必須）</strong></p>



<p>2進数に変換したい16進数を指定します。</p>



<p>直接値を入力してもセル参照でもOKです。指定できるのは10文字までです。</p>



<p>大文字・小文字は区別されません。「1F」でも「1f」でも同じ結果になります。</p>



<p><strong>引数2：桁数（省略可）</strong></p>



<p>結果の文字数（桁数）を整数で指定します。</p>



<p>省略すると、最小限の桁数で返されます。指定すると、先頭にゼロを埋めて桁数を揃えてくれます。</p>



<p>たとえば <code>=HEX2BIN("A")</code> は「1010」です。<code>=HEX2BIN("A", 8)</code> なら「00001010」になります。8ビット表記に揃えたいときに便利ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>桁数に小数を指定すると、小数点以下が切り捨てられます。0以下の値を指定すると#NUM!エラーです。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc5">変換できる数値の範囲</span></h3>



<p>HEX2BIN関数が変換できる範囲は限られています。出力が2進数10桁（10ビット）までなので、入力の16進数にも制限があります。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 1FF（10進数で511）→ 111111111（2進数9桁）</li><li><strong>負の最小値</strong>: FFFFFFFE00（10進数で-512）→ 1000000000（2進数10桁）</li></ul>



<p>10進数に換算すると <strong>-512から511</strong> の範囲です。<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>のように広い範囲は扱えないので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc6">対応バージョン</span></h3>



<p>Excel 2007以降は標準搭載されています。アドインの追加は不要です。</p>



<p>Excel for Microsoft 365（Windows/Mac）、Excel for the web、Excel 2024/2021/2019/2016 で動作します。Excel 2003以前を使っている場合は、分析ツールアドインの有効化が必要です。</p>



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



<h3 class="wp-block-heading"><span id="toc8">シンプルな変換例（直接値を指定）</span></h3>



<p>まずは関数に直接値を入力してみましょう。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;1F&quot;)</code></pre>



<p>結果は「11111」です。16進数の1Fは、2進数で11111になります。</p>



<p>変換の仕組みを確認しておきます。16進数の各桁を4ビットの2進数に置き換えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>1</th><th>F (=15)</th></tr></thead><tbody><tr><td>2進数（4桁）</td><td>0001</td><td>1111</td></tr></tbody></table></figure>



<p>つなげると「00011111」です。先頭のゼロを省略して「11111」になります。</p>



<p>よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>出力（2進数）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&nbsp;</td></tr><tr><td>1</td><td>1</td><td>&nbsp;</td></tr><tr><td>A</td><td>1010</td><td>10進数で10</td></tr><tr><td>F</td><td>1111</td><td>1桁の最大値</td></tr><tr><td>10</td><td>10000</td><td>16進数の桁上がり</td></tr><tr><td>1F</td><td>11111</td><td>&nbsp;</td></tr><tr><td>FF</td><td>11111111</td><td>8ビットの最大値（10進数で255）</td></tr><tr><td>1FF</td><td>111111111</td><td>正の最大値（10進数で511）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">セル参照で変換する</span></h3>



<p>セルの値を参照して変換することもできます。A1に「1A」が入っているとします。</p>



<pre class="wp-block-code"><code>=HEX2BIN(A1)</code></pre>



<p>結果は「11010」です。参照先の値を変えれば結果も自動で更新されます。複数の値をまとめて変換したいときに活用してみてください。</p>



<h3 class="wp-block-heading"><span id="toc10">桁数を指定してゼロ埋めする</span></h3>



<p>第2引数に桁数を指定すると、先頭にゼロを埋めて桁数を揃えられます。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;A&quot;, 8)</code></pre>



<p>結果は「00001010」です。8桁に揃えてくれました。</p>



<p>桁数を指定しない場合と比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=HEX2BIN(&#8220;A&#8221;)</td><td>1010</td><td>最小桁数（4桁）</td></tr><tr><td>=HEX2BIN(&#8220;A&#8221;, 8)</td><td>00001010</td><td>8桁にゼロ埋め</td></tr><tr><td>=HEX2BIN(&#8220;F&#8221;)</td><td>1111</td><td>最小桁数（4桁）</td></tr><tr><td>=HEX2BIN(&#8220;F&#8221;, 8)</td><td>00001111</td><td>8桁にゼロ埋め</td></tr></tbody></table></figure>



<p>バイト単位（8ビット）で揃えたいときは桁数に8を指定すると見やすくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">HEX2BIN関数の応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc12">負の数を変換する（2の補数）</span></h3>



<p>HEX2BIN関数に負の数を表す16進数を指定すると、2の補数（にのほすう）で表現された10桁の2進数が返ります。</p>



<p>2の補数とは、コンピュータが負の整数を表す仕組みです。最上位ビットが「1」なら負の数を意味します。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;FFFFFFFFFF&quot;)</code></pre>



<p>結果は「1111111111」です。これは10進数の-1に相当します。</p>



<p>負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>出力（2進数）</th><th>10進数</th><th>備考</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>1111111111</td><td>-1</td><td>全桁1</td></tr><tr><td>FFFFFFFFFE</td><td>1111111110</td><td>-2</td><td>&nbsp;</td></tr><tr><td>FFFFFFFF00</td><td>1100000000</td><td>-256</td><td>&nbsp;</td></tr><tr><td>FFFFFFFE00</td><td>1000000000</td><td>-512</td><td>負の最小値</td></tr></tbody></table></figure>



<p>逆変換の<a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX関数</a>を使えば元に戻せます。</p>



<pre class="wp-block-code"><code>=BIN2HEX(HEX2BIN(&quot;1F&quot;))</code></pre>



<p>結果は「1F」です。正しく往復変換できることを確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">ビットフラグを確認する</span></h3>



<p>HEX2BIN関数の実務での活用例として、ビットフラグの解析があります。</p>



<p>ビットフラグとは、2進数の各桁（ビット）にON/OFFの意味を持たせる仕組みです。設定値やステータスコードを16進数で管理しているシステムは多くあります。</p>



<p>たとえば、設定値が16進数「0B」だった場合を考えます。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;B&quot;, 8)</code></pre>



<p>結果は「00001011」です。右から順に各ビットの意味を確認できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>ビット位置</th><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr></thead><tbody><tr><td>値</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>1</td></tr><tr><td>状態</td><td>OFF</td><td>OFF</td><td>OFF</td><td>OFF</td><td>ON</td><td>OFF</td><td>ON</td><td>ON</td></tr></tbody></table></figure>



<p>ビット0、ビット1、ビット3がONであることがわかります。MID関数（文字列から指定位置の文字を取り出す関数）を使えば、特定ビットの値だけを取り出すこともできますよ。</p>



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



<p>HEX2BIN関数で発生するエラーは主に2種類です。原因別に対処法を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">#NUM!エラー：数値が範囲外</span></h3>



<p>変換できる範囲はFFFFFFFFE00〜1FFです。範囲外の値を指定するとエラーになります。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;200&quot;)          → #NUM!エラー（正の最大値1FFを超過）
=HEX2BIN(&quot;FFFFFFFDFF&quot;)   → #NUM!エラー（負の最小値FFFFFFFE00を下回る）</code></pre>



<p>10進数で-512〜511の範囲に収まっているか確認しましょう。<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>で10進数に変換すると、範囲内かどうかを確かめやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc16">#NUM!エラー：桁数が結果より少ない</span></h3>



<p>桁数の指定が結果に必要な桁数より少ない場合もエラーです。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;F&quot;, 2)   → #NUM!エラー</code></pre>



<p>Fを2進数にすると「1111」で4桁必要です。桁数に2を指定すると足りません。桁数は結果の桁数以上を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc17">#VALUE!エラー：16進数ではない文字</span></h3>



<p>数値に16進数として無効な文字を含めると#VALUE!エラーです。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;GG&quot;)   → #VALUE!エラー</code></pre>



<p>16進数で使える文字は0〜9とA〜Fだけです。G以降のアルファベットや記号は使えません。</p>



<h3 class="wp-block-heading"><span id="toc18">エラー一覧表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>値がFFFFFFFFE00〜1FFの範囲外</td><td>HEX2DECで10進数に変換して範囲を確認</td></tr><tr><td>#NUM!</td><td>桁数が結果の桁数より少ない</td><td>桁数を増やす（8や10を推奨）</td></tr><tr><td>#NUM!</td><td>桁数に0以下を指定</td><td>1以上の整数を指定</td></tr><tr><td>#VALUE!</td><td>0〜9・A〜F以外の文字を含む</td><td>入力値の文字を確認</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">IFERROR関数と組み合わせてエラーを回避する</span></h3>



<p>エラーが出る可能性がある場合は、IFERROR関数（エラー時に代替値を返す関数）で囲むと安全です。</p>



<pre class="wp-block-code"><code>=IFERROR(HEX2BIN(A1, 8), &quot;変換エラー&quot;)</code></pre>



<p>この数式なら、A1の値が範囲外でも「変換エラー」と表示されます。大量のデータを一括変換するときに活用してみてください。</p>



<h2 class="wp-block-heading"><span id="toc20">ExcelのHEX2BINと他の進数変換関数の使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc21">HEX2BIN・BIN2HEX（逆変換）の関係</span></h3>



<p>HEX2BIN関数と<a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX関数</a>は逆変換の関係です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換方向</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><strong>HEX2BIN</strong></td><td>16進数 → 2進数</td><td>0〜Fの文字列（最大10桁）</td><td>2進数テキスト（最大10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td><td>2進数 → 16進数</td><td>0と1の文字列（最大10桁）</td><td>16進数テキスト（最大10桁）</td></tr></tbody></table></figure>



<p>使いどころを整理します。</p>



<ul class="wp-block-list"><li><strong>HEX2BIN</strong>: 16進数のデータをビット単位で確認したいとき</li><li><strong>BIN2HEX</strong>: 2進数のビット列を16進数にまとめたいとき</li></ul>



<h3 class="wp-block-heading"><span id="toc22">HEX系関数の比較</span></h3>



<p>Excelには16進数を他の進数に変換するHEX系関数が3つあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>出力範囲</th></tr></thead><tbody><tr><td><strong>HEX2BIN</strong> ※この記事</td><td>2進数</td><td>-512〜511（10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>8進数</td><td>-512〜511（10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>10進数</td><td>約-5,497億〜約5,497億</td></tr></tbody></table></figure>



<p>HEX2BINとHEX2OCTは出力が10桁固定のため、入力範囲が狭めです。HEX2DECは範囲が広い点が特徴ですよ。</p>



<h3 class="wp-block-heading"><span id="toc23">進数変換関数の一覧</span></h3>



<p>Excelの進数変換関数は全部で12種類あります。関数名の規則は「変換元 + 2 + 変換先」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td>2進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td><td>2進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td>2進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td></tr><tr><td><strong>HEX2BIN</strong> ※この記事</td><td>16進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>16進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2bin/">OCT2BIN</a></td><td>8進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td>8進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td><td>8進数 → 16進数</td></tr></tbody></table></figure>



<p>この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p>HEX2BIN関数は、16進数を2進数に変換する関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=HEX2BIN(数値, [桁数])</code> の最大2引数</li><li>変換できる範囲は10進数で-512〜511</li><li>桁数を指定すると先頭をゼロで埋めて桁揃えできる</li><li>負の数は10桁の2の補数で返される</li><li>ビットフラグの解析やネットワーク設定の確認に使える</li><li>#NUM!エラーは「範囲外」か「桁数不足」が原因</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX関数</a>を使う</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p>まずは <code>=HEX2BIN("FF")</code> で「11111111」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-hex2bin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのDEC2BIN関数の使い方｜10進数→2進数変換と桁数指定のコツ</title>
		<link>https://mashukabu.com/excel-function-howto-use-dec2bin/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-dec2bin/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 11 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[DEC2BIN]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2532</guid>

					<description><![CDATA[ExcelのDEC2BIN関数で10進数を2進数に変換する方法を丁寧に解説。構文・引数のルール、桁数指定のゼロ埋め、#NUM!・#VALUE!エラーの原因と対処法、511超の変換テク、IPアドレス変換例、BIN2DEC逆変換まで網羅します。]]></description>
										<content:encoded><![CDATA[
<p>「10進数を2進数に変換したいけど、手計算は面倒&#8230;」</p>



<p>Excelには、そんな変換を一発で行える関数があります。それがDEC2BIN関数です。</p>



<p>ネットワーク設定やプログラミング学習など、2進数が必要になる場面は意外とあります。でも手計算で変換するのは桁数が増えると大変ですよね。</p>



<p>この記事では、ExcelのDEC2BIN関数の使い方を基本から解説します。桁数指定のゼロ埋め、エラー対策、511を超える値の変換テクニックまで網羅しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのDEC2BIN関数とは？読み方と基本概要</a><ol><li><a href="#toc2" tabindex="0">読み方と意味</a></li><li><a href="#toc3" tabindex="0">どんなときに使うか</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2BIN関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">変換できる数値の範囲（-512〜511）</a></li><li><a href="#toc8" tabindex="0">対応バージョン一覧</a></li></ol></li><li><a href="#toc9" tabindex="0">DEC2BIN関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">シンプルな変換例（0〜511）</a></li><li><a href="#toc11" tabindex="0">負の数の変換（2の補数表現）</a></li><li><a href="#toc12" tabindex="0">桁数を指定してゼロ埋めする</a></li></ol></li><li><a href="#toc13" tabindex="0">DEC2BIN関数のよくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#NUM!エラー：範囲外と桁数の問題</a></li><li><a href="#toc15" tabindex="0">#VALUE!エラー：文字列・空白セルの混入</a></li><li><a href="#toc16" tabindex="0">エラーパターン早見表</a></li><li><a href="#toc17" tabindex="0">IFERRORと組み合わせてエラー回避</a></li></ol></li><li><a href="#toc18" tabindex="0">511を超える大きな数値を2進数に変換するテクニック</a><ol><li><a href="#toc19" tabindex="0">分割結合で18ビットまで対応する</a></li><li><a href="#toc20" tabindex="0">BASE関数を使う方法（Microsoft 365 / Excel 2013以降）</a></li></ol></li><li><a href="#toc21" tabindex="0">実用例：IPアドレスのオクテットを2進数に変換する</a><ol><li><a href="#toc22" tabindex="0">CIDR表記との対応</a></li></ol></li><li><a href="#toc23" tabindex="0">実用例：ビットフラグの分解と可視化</a><ol><li><a href="#toc24" tabindex="0">アクセス権限の例</a></li><li><a href="#toc25" tabindex="0">個別ビットの判定</a></li></ol></li><li><a href="#toc26" tabindex="0">BIN2DEC関数で逆変換する（2進数→10進数）</a><ol><li><a href="#toc27" tabindex="0">往復変換で検算する</a></li><li><a href="#toc28" tabindex="0">DEC2BINとBIN2DECの仕様比較</a></li></ol></li><li><a href="#toc29" tabindex="0">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</a><ol><li><a href="#toc30" tabindex="0">変換先・有効範囲・主な用途の比較表</a></li><li><a href="#toc31" tabindex="0">どの関数を選ぶかの判断基準</a></li></ol></li><li><a href="#toc32" tabindex="0">進数変換関数の全体マップ（全12関数）</a></li><li><a href="#toc33" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのDEC2BIN関数とは？読み方と基本概要</span></h2>



<p>DEC2BIN関数は、<strong>10進数を2進数に変換するExcelの関数</strong>です。</p>



<p>10進数は私たちが普段使っている0〜9の数字で表す方法です。一方、2進数は「0」と「1」の2種類だけで数を表します。コンピュータの内部では、すべてのデータが2進数で処理されています。</p>



<p>DEC2BIN関数を使えば、この変換を自動で行えますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と意味</span></h3>



<p>読み方は「デック・ツー・ビン」です。</p>



<ul class="wp-block-list"><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li></ul>



<p>つまり「10進数から2進数へ」という意味です。Excelの進数変換関数はすべてこの命名規則に従います。たとえば<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>なら「8進数から10進数へ」です。関数名がそのまま機能を表しているので覚えやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">どんなときに使うか</span></h3>



<p>DEC2BIN関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>IPアドレスのサブネットマスクを2進数で確認したいとき</li><li>プログラミング学習で10進数と2進数の対応を調べたいとき</li><li>デジタル回路やビットフラグの値を可視化したいとき</li><li>情報処理試験の勉強で進数変換を練習したいとき</li><li>アクセス権限のビット構成を分解して確認したいとき</li></ul>



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



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



<pre class="wp-block-code"><code>=DEC2BIN(数値, [桁数])</code></pre>



<p>引数は2つあります。必須なのは「数値」だけです。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</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>2進数に変換したい10進数の整数</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定。先頭をゼロで埋める</td></tr></tbody></table></figure>



<p><strong>引数1：数値（必須）</strong></p>



<p>2進数に変換したい10進数の整数を指定します。セル参照でも直接入力でもOKです。小数を指定した場合は、小数点以下が切り捨てられます。</p>



<p><strong>引数2：桁数（省略可）</strong></p>



<p>結果の文字数（桁数）を整数で指定します。省略すると、変換に必要な最小限の桁数で返されます。指定すると、先頭にゼロを埋めて桁数を揃えてくれますよ。</p>



<p>たとえば <code>=DEC2BIN(5)</code> は「101」です。<code>=DEC2BIN(5, 8)</code> なら「00000101」になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>桁数に小数を指定した場合は、小数点以下が切り捨てられます。0以下の値を指定すると#NUM!エラーになります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc7">変換できる数値の範囲（-512〜511）</span></h3>



<p>変換できる数値の範囲は <strong>-512から511</strong> です。これは10ビット（10桁）の符号付き整数で表現できる範囲です。2の9乗=512が根拠になっています。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 511 → 111111111（9桁）</li><li><strong>負の最小値</strong>: -512 → 1000000000（10桁）</li></ul>



<p>範囲外の数値を指定すると#NUM!エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc8">対応バージョン一覧</span></h3>



<p>DEC2BIN関数は、Excel 2007以降で標準搭載されています。</p>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Microsoft 365（Windows / Mac）</td><td>対応</td></tr><tr><td>Excel 2024 / 2021 / 2019 / 2016</td><td>対応</td></tr><tr><td>Excel for the web</td><td>対応</td></tr><tr><td>Excel 2007 / 2010 / 2013</td><td>対応</td></tr><tr><td>Excel 2003以前</td><td>分析ツールアドインが必要</td></tr></tbody></table></figure>



<p>現在の主要バージョンならアドインの追加は不要です。お使いのバージョンが古くなければ気にしなくて大丈夫ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc10">シンプルな変換例（0〜511）</span></h3>



<p>まずは関数に直接値を入力してみましょう。</p>



<pre class="wp-block-code"><code>=DEC2BIN(9)</code></pre>



<p>結果は「1001」です。10進数の9は、2進数で1001になります。</p>



<p>変換の仕組みを確認しておきます。各桁に2のべき乗（にのべきじょう）を対応させて合計します。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>4桁目</th><th>3桁目</th><th>2桁目</th><th>1桁目</th></tr></thead><tbody><tr><td>2進数</td><td>1</td><td>0</td><td>0</td><td>1</td></tr><tr><td>重み</td><td>2^3 = 8</td><td>2^2 = 4</td><td>2^1 = 2</td><td>2^0 = 1</td></tr><tr><td>計算</td><td>1 x 8 = 8</td><td>0 x 4 = 0</td><td>0 x 2 = 0</td><td>1 x 1 = 1</td></tr></tbody></table></figure>



<p>合計: 8 + 0 + 0 + 1 = <strong>9</strong> ですね。</p>



<p>よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>数式</th><th>出力（2進数）</th></tr></thead><tbody><tr><td>0</td><td>=DEC2BIN(0)</td><td>0</td></tr><tr><td>1</td><td>=DEC2BIN(1)</td><td>1</td></tr><tr><td>5</td><td>=DEC2BIN(5)</td><td>101</td></tr><tr><td>9</td><td>=DEC2BIN(9)</td><td>1001</td></tr><tr><td>10</td><td>=DEC2BIN(10)</td><td>1010</td></tr><tr><td>100</td><td>=DEC2BIN(100)</td><td>1100100</td></tr><tr><td>255</td><td>=DEC2BIN(255)</td><td>11111111</td></tr><tr><td>511</td><td>=DEC2BIN(511)</td><td>111111111</td></tr></tbody></table></figure>



<p>結果はテキスト文字列として返されます。見た目は数値ですが、左寄せで表示されるのが目印です。</p>



<h3 class="wp-block-heading"><span id="toc11">負の数の変換（2の補数表現）</span></h3>



<p>DEC2BIN関数に負の数を指定すると、<strong>2の補数</strong>（にのほすう）で表現された10桁の2進数が返ります。</p>



<p>2の補数とは、コンピュータが負の整数を表す仕組みです。最上位ビット（左端の桁）が「1」なら負の数を意味します。</p>



<pre class="wp-block-code"><code>=DEC2BIN(-100)</code></pre>



<p>結果は「1110011100」です。桁数の指定に関わらず、常に10桁で返されます。</p>



<p>2の補数の変換手順を-100の例で見てみましょう。</p>



<ol class="wp-block-list"><li>100の2進数を求める → 0001100100</li><li>各ビットを反転させる（0→1、1→0） → 1110011011</li><li>反転した値に1を加える → 1110011100</li><li>これが-100の2の補数表現</li></ol>



<p>負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>出力（2進数）</th><th>備考</th></tr></thead><tbody><tr><td>-1</td><td>1111111111</td><td>全ビット1</td></tr><tr><td>-100</td><td>1110011100</td><td>10桁固定</td></tr><tr><td>-256</td><td>1100000000</td><td>&nbsp;</td></tr><tr><td>-512</td><td>1000000000</td><td>負の最小値</td></tr></tbody></table></figure>



<p>逆変換の<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a>を使えば元に戻せます。</p>



<pre class="wp-block-code"><code>=BIN2DEC(DEC2BIN(-100))</code></pre>



<p>結果は「-100」です。正しく往復変換できることを確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">桁数を指定してゼロ埋めする</span></h3>



<p>第2引数に桁数を指定すると、先頭にゼロを埋めて桁数を揃えられます。</p>



<pre class="wp-block-code"><code>=DEC2BIN(9, 8)</code></pre>



<p>結果は「00001001」です。8桁に揃えてくれました。</p>



<p>桁数を指定しない場合と比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=DEC2BIN(5)</td><td>101</td><td>最小桁数（3桁）</td></tr><tr><td>=DEC2BIN(5, 8)</td><td>00000101</td><td>8桁にゼロ埋め</td></tr><tr><td>=DEC2BIN(9, 4)</td><td>1001</td><td>ちょうど4桁</td></tr><tr><td>=DEC2BIN(9, 8)</td><td>00001001</td><td>8桁にゼロ埋め</td></tr></tbody></table></figure>



<p>ネットワーク関連で8ビット固定にしたい場面や、複数の値を縦に並べて比較するときに便利ですよ。</p>



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



<p>DEC2BIN関数で発生するエラーは主に2種類です。原因別に対処法を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">#NUM!エラー：範囲外と桁数の問題</span></h3>



<p>#NUM!エラーが出る原因は3つあります。</p>



<p><strong>原因1：数値が範囲外（-512未満または511超）</strong></p>



<pre class="wp-block-code"><code>=DEC2BIN(512)    → #NUM!エラー
=DEC2BIN(-513)   → #NUM!エラー</code></pre>



<p>対処法は、指定する値が-512〜511に収まっているか確認することです。</p>



<p><strong>原因2：桁数が0以下</strong></p>



<pre class="wp-block-code"><code>=DEC2BIN(9, 0)   → #NUM!エラー</code></pre>



<p>桁数には1以上の整数を指定してください。</p>



<p><strong>原因3：桁数が結果の桁数より少ない</strong></p>



<pre class="wp-block-code"><code>=DEC2BIN(9, 2)   → #NUM!エラー</code></pre>



<p>9の2進数は「1001」で4桁必要です。桁数に2を指定すると足りないためエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc15">#VALUE!エラー：文字列・空白セルの混入</span></h3>



<p>#VALUE!エラーが出る原因は2つあります。</p>



<p><strong>原因1：数値が数値型でない</strong></p>



<pre class="wp-block-code"><code>=DEC2BIN(&quot;ABC&quot;)   → #VALUE!エラー</code></pre>



<p><strong>原因2：桁数が数値型でない</strong></p>



<pre class="wp-block-code"><code>=DEC2BIN(9, &quot;A&quot;)  → #VALUE!エラー</code></pre>



<p>引数には数値型のデータを指定しましょう。空白セルを参照している場合も注意が必要です。</p>



<h3 class="wp-block-heading"><span id="toc16">エラーパターン早見表</span></h3>



<p>エラーの原因と対処法を表にまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>数値が-512未満または511超</td><td>=DEC2BIN(512)</td><td>値を-512〜511に収める</td></tr><tr><td>#NUM!</td><td>桁数が0以下</td><td>=DEC2BIN(9, 0)</td><td>桁数を1以上にする</td></tr><tr><td>#NUM!</td><td>桁数が結果の桁数より少ない</td><td>=DEC2BIN(9, 2)</td><td>桁数を結果以上にする</td></tr><tr><td>#VALUE!</td><td>数値が文字列</td><td>=DEC2BIN(&#8220;ABC&#8221;)</td><td>数値型のデータを指定</td></tr><tr><td>#VALUE!</td><td>桁数が文字列</td><td>=DEC2BIN(9, &#8220;A&#8221;)</td><td>桁数に数値を指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">IFERRORと組み合わせてエラー回避</span></h3>



<p>エラーが出る可能性がある場合は、IFERROR関数で囲むと安全です。</p>



<pre class="wp-block-code"><code>=IFERROR(DEC2BIN(A1), &quot;変換エラー&quot;)</code></pre>



<p>この数式なら、A1の値が範囲外でもエラーの代わりに「変換エラー」と表示されます。</p>



<p>入力値のチェックと組み合わせる方法もあります。</p>



<pre class="wp-block-code"><code>=IF(AND(A1&gt;=-512, A1&lt;=511), DEC2BIN(A1), &quot;範囲外&quot;)</code></pre>



<p>あらかじめ範囲をチェックしてから変換すると、より安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc18">511を超える大きな数値を2進数に変換するテクニック</span></h2>



<p>DEC2BIN関数の上限は511です。でも実務では512以上の数値を2進数にしたい場面もありますよね。</p>



<h3 class="wp-block-heading"><span id="toc19">分割結合で18ビットまで対応する</span></h3>



<p>数値を上位ビットと下位ビットに分割して、文字列として結合する方法が使えます。</p>



<p>たとえば10進数の1000を2進数に変換してみましょう。</p>



<pre class="wp-block-code"><code>=DEC2BIN(INT(A1/512), 9) &amp; DEC2BIN(MOD(A1, 512), 9)</code></pre>



<p>この数式は次の手順で動きます。</p>



<ol class="wp-block-list"><li><code>INT(A1/512)</code> で上位ビット（512で割った商）を計算</li><li><code>MOD(A1, 512)</code> で下位ビット（512で割った余り）を計算</li><li>それぞれをDEC2BIN関数で9桁の2進数に変換</li><li><code>&</code> で文字列結合して18桁の2進数を生成</li></ol>



<p>A1に1000を入れると、結果は「000000001111101000」です。</p>



<h3 class="wp-block-heading"><span id="toc20">BASE関数を使う方法（Microsoft 365 / Excel 2013以降）</span></h3>



<p>Excel 2013以降なら、BASE関数（ベース関数）を使う方法もあります。BASE関数は任意の基数（2〜36）に変換できる関数です。</p>



<pre class="wp-block-code"><code>=BASE(1000, 2)</code></pre>



<p>結果は「1111101000」です。DEC2BIN関数の-512〜511の制限がないので、大きな値もそのまま変換できます。</p>



<p>ただしBASE関数には注意点があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2BIN</th><th>BASE</th></tr></thead><tbody><tr><td>入力範囲</td><td>-512〜511</td><td>0〜2^53</td></tr><tr><td>負の数</td><td>2の補数で返す</td><td>非対応（エラー）</td></tr><tr><td>桁数指定</td><td>第2引数で指定</td><td>第3引数で指定</td></tr><tr><td>対応バージョン</td><td>Excel 2007以降</td><td>Excel 2013以降</td></tr></tbody></table></figure>



<p>負の数の変換が必要ならDEC2BIN関数を使いましょう。正の大きな値だけならBASE関数が便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc21">実用例：IPアドレスのオクテットを2進数に変換する</span></h2>



<p>IPアドレスのサブネットマスクを2進数で確認するときにDEC2BIN関数が便利です。</p>



<p>各オクテット（IPアドレスをドットで区切った各部分）は0〜255の値です。DEC2BIN関数の範囲内なので、桁数を8に指定すれば8ビット固定で変換できます。</p>



<pre class="wp-block-code"><code>=DEC2BIN(255, 8)   → 11111111
=DEC2BIN(192, 8)   → 11000000
=DEC2BIN(128, 8)   → 10000000
=DEC2BIN(0, 8)     → 00000000</code></pre>



<p>たとえばサブネットマスク「255.255.255.0」の各オクテットを変換すると、次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>オクテット</th><th>10進数</th><th>数式</th><th>2進数（8桁）</th></tr></thead><tbody><tr><td>1番目</td><td>255</td><td>=DEC2BIN(255, 8)</td><td>11111111</td></tr><tr><td>2番目</td><td>255</td><td>=DEC2BIN(255, 8)</td><td>11111111</td></tr><tr><td>3番目</td><td>255</td><td>=DEC2BIN(255, 8)</td><td>11111111</td></tr><tr><td>4番目</td><td>0</td><td>=DEC2BIN(0, 8)</td><td>00000000</td></tr></tbody></table></figure>



<p>連結すると「11111111.11111111.11111111.00000000」です。上位24ビットがネットワーク部だと一目でわかりますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">CIDR表記との対応</span></h3>



<p>よく使うサブネットマスクとCIDR表記（スラッシュ表記）の対応も確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>CIDR</th><th>サブネットマスク</th><th>ネットワークビット数</th></tr></thead><tbody><tr><td>/24</td><td>255.255.255.0</td><td>24ビット</td></tr><tr><td>/25</td><td>255.255.255.128</td><td>25ビット</td></tr><tr><td>/26</td><td>255.255.255.192</td><td>26ビット</td></tr><tr><td>/28</td><td>255.255.255.240</td><td>28ビット</td></tr></tbody></table></figure>



<p><code>=DEC2BIN(240, 8)</code> の結果「11110000」を見れば、上位4ビットがネットワーク部とすぐわかります。ネットワークの設定値を確認するときに試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc23">実用例：ビットフラグの分解と可視化</span></h2>



<p>ビットフラグとは、1つの数値の各ビットに異なる設定を割り当てる管理方法です。DEC2BIN関数で可視化すると、どのフラグがONになっているか一目でわかります。</p>



<h3 class="wp-block-heading"><span id="toc24">アクセス権限の例</span></h3>



<p>たとえば、8ビットでユーザー権限を管理する場合を考えましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>ビット位置</th><th>8</th><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th></tr></thead><tbody><tr><td>権限</td><td>管理者</td><td>削除</td><td>編集</td><td>閲覧</td><td>印刷</td><td>DL</td><td>共有</td><td>ログイン</td></tr></tbody></table></figure>



<p>権限値が「53」のユーザーのビット構成を確認します。</p>



<pre class="wp-block-code"><code>=DEC2BIN(53, 8)</code></pre>



<p>結果は「00110101」です。これを表に当てはめると、閲覧・編集・ログイン・印刷の4つの権限がONだとわかります。</p>



<h3 class="wp-block-heading"><span id="toc25">個別ビットの判定</span></h3>



<p>特定のビットがONかどうかを判定するには、<a href="https://mashukabu.com/excel-function-howto-use-bitand/">BITAND関数</a>（ビットアンド関数）を組み合わせます。</p>



<pre class="wp-block-code"><code>=IF(BITAND(A1, 32)&gt;0, &quot;ON&quot;, &quot;OFF&quot;)</code></pre>



<p>この数式は、A1の値の6ビット目（閲覧権限=32）がONかOFFかを判定します。32は2^5（2の5乗）で、6ビット目に対応する値です。</p>



<p><a href="https://mashukabu.com/excel-function-howto-use-bitor/">BITOR関数</a>で権限の追加、<a href="https://mashukabu.com/excel-function-howto-use-bitxor/">BITXOR関数</a>で権限の反転もできますよ。</p>



<h2 class="wp-block-heading"><span id="toc26">BIN2DEC関数で逆変換する（2進数→10進数）</span></h2>



<p>DEC2BIN関数の逆変換には<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a>を使います。セットで覚えておくと便利です。</p>



<h3 class="wp-block-heading"><span id="toc27">往復変換で検算する</span></h3>



<p>変換結果が正しいか確認するには、往復変換が有効です。</p>



<pre class="wp-block-code"><code>=BIN2DEC(DEC2BIN(100))</code></pre>



<p>結果が「100」に戻れば変換が正確だと確認できます。負の数でも同様です。</p>



<pre class="wp-block-code"><code>=BIN2DEC(DEC2BIN(-256))</code></pre>



<p>結果は「-256」です。2の補数で表現された10桁の2進数を、BIN2DEC関数が正しく負の数に戻してくれます。</p>



<h3 class="wp-block-heading"><span id="toc28">DEC2BINとBIN2DECの仕様比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2BIN</th><th><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></th></tr></thead><tbody><tr><td>変換方向</td><td>10進数 → 2進数</td><td>2進数 → 10進数</td></tr><tr><td>入力</td><td>-512〜511の整数</td><td>最大10桁の2進数文字列</td></tr><tr><td>出力</td><td>テキスト文字列</td><td>数値（-512〜511）</td></tr><tr><td>桁数指定</td><td>あり（第2引数）</td><td>なし</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc29">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</span></h2>



<p>Excelには10進数から他の進数に変換するDEC系関数が3つあります。構文はすべて <code>関数名(数値, [桁数])</code> で同じです。</p>



<h3 class="wp-block-heading"><span id="toc30">変換先・有効範囲・主な用途の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2BIN</th><th><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></th></tr></thead><tbody><tr><td>変換先</td><td>2進数</td><td>8進数</td><td>16進数</td></tr><tr><td>ビット数</td><td>10ビット</td><td>30ビット</td><td>40ビット</td></tr><tr><td>入力範囲（正）</td><td>0〜511</td><td>0〜536,870,911</td><td>0〜549,755,813,887</td></tr><tr><td>入力範囲（負）</td><td>-512〜-1</td><td>-536,870,912〜-1</td><td>-549,755,813,888〜-1</td></tr><tr><td>主な用途</td><td>ビット演算、ネットワーク</td><td>Unixパーミッション</td><td>カラーコード、メモリアドレス</td></tr></tbody></table></figure>



<p>ビット数の違いには数学的な根拠があります。DEC2BINは10ビット（2の10乗=1,024通り）です。DEC2OCTは30ビット（約10.7億通り）、DEC2HEXは40ビット（約1.1兆通り）になります。</p>



<p>3関数とも、負の数は10桁の補数で返す点が共通しています。DEC2BINは入力範囲が最も狭いので、大きな数値を扱うときは注意してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc31">どの関数を選ぶかの判断基準</span></h3>



<p>迷ったときは、変換先の用途で選びましょう。</p>



<ul class="wp-block-list"><li><strong>ビット単位の操作が目的</strong> → DEC2BIN（2進数が直感的）</li><li><strong>Unixパーミッション（755など）を扱う</strong> → <a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></li><li><strong>カラーコード（#FF0000など）を扱う</strong> → <a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></li></ul>



<h2 class="wp-block-heading"><span id="toc32">進数変換関数の全体マップ（全12関数）</span></h2>



<p>Excelの進数変換関数は全部で12種類あります。関数名の規則は「変換元 + 2 + 変換先」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>変換元＼変換先</th><th>→ 2進数（BIN）</th><th>→ 8進数（OCT）</th><th>→ 10進数（DEC）</th><th>→ 16進数（HEX）</th></tr></thead><tbody><tr><td>2進数（BIN）</td><td>&#8212;</td><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td></tr><tr><td>8進数（OCT）</td><td><a href="https://mashukabu.com/excel-function-howto-use-oct2bin/">OCT2BIN</a></td><td>&#8212;</td><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td></tr><tr><td>10進数（DEC）</td><td><strong>DEC2BIN</strong></td><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>&#8212;</td><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td></tr><tr><td>16進数（HEX）</td><td><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>&#8212;</td></tr></tbody></table></figure>



<p>この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p>ExcelのDEC2BIN関数は、10進数を2進数に変換する関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DEC2BIN(数値, [桁数])</code> の最大2引数</li><li>変換できる範囲は-512〜511の整数</li><li>桁数を指定すると先頭をゼロで埋めて桁揃えできる</li><li>負の数は10桁の2の補数（にのほすう）で返される</li><li>#NUM!エラーは「範囲外」「桁数不足」「桁数ゼロ以下」が原因</li><li>#VALUE!エラーは「文字列の混入」が原因</li><li>511を超える値は分割結合またはBASE関数で対応</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a>を使う</li><li>IPアドレスやビットフラグの可視化に活躍する</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p>まずは <code>=DEC2BIN(9)</code> で「1001」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-dec2bin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのOCT2BIN関数の使い方｜8進数を2進数に変換する方法とエラー対策</title>
		<link>https://mashukabu.com/excel-function-howto-use-oct2bin/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-oct2bin/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 08 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[OCT2BIN]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2520</guid>

					<description><![CDATA[ExcelのOCT2BIN関数の使い方を初心者向けに解説。8進数から2進数への変換方法、桁数の指定、負の数（2の補数）の扱い、#NUM!エラーの原因と対処法、BIN2OCT関数との違いまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「8進数のデータを2進数に直したいけど、手計算は面倒&#8230;」</p>



<p>Excelで8進数を扱う場面は意外とあります。Unixのファイルパーミッション（755や644など）を2進数のビットパターンに分解したいケースですね。</p>



<p>でも8進数から2進数への手計算は、1桁ずつ3ビットに展開する作業が必要です。桁数が増えるとミスしやすいですよね。</p>



<p>そんなときに便利なのがOCT2BIN関数です。8進数を入力するだけで、2進数に一発変換してくれます。</p>



<p>この記事では、OCT2BIN関数の基本の使い方からエラー対策、BIN2OCT関数との違いまで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">OCT2BIN関数とは</a><ol><li><a href="#toc2" tabindex="0">読み方と名前の由来</a></li><li><a href="#toc3" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc4" tabindex="0">OCT2BIN関数の書式と引数</a><ol><li><a href="#toc5" tabindex="0">引数「数値」の指定ルール</a></li><li><a href="#toc6" tabindex="0">引数「桁数」の使い方</a></li><li><a href="#toc7" tabindex="0">変換できる範囲</a></li></ol></li><li><a href="#toc8" tabindex="0">OCT2BIN関数の使い方（基本例）</a><ol><li><a href="#toc9" tabindex="0">正の8進数を変換する</a></li><li><a href="#toc10" tabindex="0">桁数を指定して変換する</a></li><li><a href="#toc11" tabindex="0">負の数（2の補数）を変換する</a></li></ol></li><li><a href="#toc12" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc13" tabindex="0">BIN2OCT関数との使い分け（逆変換）</a></li><li><a href="#toc14" tabindex="0">OCT2BIN関数の実務活用パターン</a><ol><li><a href="#toc15" tabindex="0">Unixファイルパーミッションのビット分解</a></li><li><a href="#toc16" tabindex="0">他の進数変換関数との組み合わせ</a></li></ol></li><li><a href="#toc17" tabindex="0">他の進数変換関数との比較</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">OCT2BIN関数とは</span></h2>



<p>OCT2BIN関数は、<strong>8進数を2進数に変換するExcelの関数</strong>です。</p>



<p>8進数は0から7までの数字で数を表す方法です。Unixのファイルパーミッション（755や644など）で使われることが多いです。</p>



<p>一方、2進数は「0」と「1」だけで数を表す方法です。コンピュータの内部ではすべてのデータが2進数で処理されています。</p>



<p>OCT2BIN関数を使えば、この変換を自動で行えます。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と名前の由来</span></h3>



<p>読み方は「オクタル・ツー・バイナリ」です。</p>



<ul class="wp-block-list"><li><strong>OCT</strong> = Octal（オクタル、8進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li></ul>



<p>つまり「8進数から2進数へ」という意味です。関数名がそのまま機能を表しています。</p>



<h3 class="wp-block-heading"><span id="toc3">対応バージョン</span></h3>



<p>Excel 2007以降は標準搭載されています。アドインの追加は不要です。</p>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Excel 2007以降</td><td>標準搭載（そのまま使える）</td></tr><tr><td>Excel 2003以前</td><td>分析ツールアドインの有効化が必要</td></tr><tr><td>Microsoft 365</td><td>対応（Windows / Mac / Web）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>現在使われているほとんどのExcelで、追加設定なしで利用できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">OCT2BIN関数の書式と引数</span></h2>



<p>基本構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=OCT2BIN(数値, [桁数])</code></pre>



<p>引数は「数値」と「桁数」の2つです。桁数は省略できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>2進数に変換したい8進数。0から7の数字で構成された値を指定する</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定する。省略すると最小の桁数で表示される</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">引数「数値」の指定ルール</span></h3>



<p>数値には、次のルールがあります。</p>



<ul class="wp-block-list"><li>使える文字は「0」から「7」のみ</li><li>最大10桁まで指定できる</li><li>直接入力でもセル参照でも指定できる</li></ul>



<p>0から7以外の文字を含めるとエラーになります。「8」「9」「A」などは指定できません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>変換できる8進数の範囲には上限があります。正の数は777（10進数で511）、負の数は7777777000（10進数で-512）までです。この範囲を超えると#NUM!エラーになります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc6">引数「桁数」の使い方</span></h3>



<p>桁数を指定すると、結果の文字数を揃えられます。不足分は先頭に「0」が追加されます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(12, 8)</code></pre>



<p>結果は「00001010」です。桁数を省略した場合は「1010」とだけ表示されます。</p>



<p>桁数の指定ルールは次のとおりです。</p>



<ul class="wp-block-list"><li>正の整数で指定する</li><li>小数を指定した場合は、小数点以下が切り捨てられる</li><li>結果の桁数より小さい値を指定するとエラーになる</li><li>負の数を変換した場合は、桁数に関係なく10桁で返される</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>データの表示形式を揃えたいときに桁数指定が役立ちます。たとえば「桁数: 8」を指定すれば、1桁の結果も「00000001」のように8ビットで統一できます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc7">変換できる範囲</span></h3>



<p>OCT2BIN関数が扱える入力値の範囲は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 777（8進数） → 0111111111（2進数） → 10進数で511</li><li><strong>負の最小値</strong>: 7777777000（8進数） → 1000000000（2進数） → 10進数で-512</li></ul>



<p>この範囲外の8進数を指定すると#NUM!エラーになります。</p>



<h2 class="wp-block-heading"><span id="toc8">OCT2BIN関数の使い方（基本例）</span></h2>



<h3 class="wp-block-heading"><span id="toc9">正の8進数を変換する</span></h3>



<p>まずはシンプルな例からです。セルに直接入力してみましょう。</p>



<pre class="wp-block-code"><code>=OCT2BIN(53)</code></pre>



<p>結果は「101011」です。8進数の53は、2進数の101011に対応します。</p>



<p>変換の仕組みを確認しておきましょう。8進数の各桁を3ビットの2進数に展開します。</p>



<figure class="wp-block-table"><table><thead><tr><th>上位桁(5)</th><th>下位桁(3)</th></tr></thead><tbody><tr><td>5 → 101</td><td>3 → 011</td></tr></tbody></table></figure>



<p>合わせると「101011」になります。</p>



<p>セル参照を使うこともできます。A1に「12」（8進数）が入っているとします。</p>



<pre class="wp-block-code"><code>=OCT2BIN(A1)</code></pre>



<p>結果は「1010」です。参照先のセルの値を変えれば、結果も自動で更新されます。</p>



<p>よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>出力（2進数）</th><th>10進数での値</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>1</td></tr><tr><td>7</td><td>111</td><td>7</td></tr><tr><td>10</td><td>1000</td><td>8</td></tr><tr><td>12</td><td>1010</td><td>10</td></tr><tr><td>144</td><td>1100100</td><td>100</td></tr><tr><td>777</td><td>111111111</td><td>511</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc10">桁数を指定して変換する</span></h3>



<p>桁数を指定すると、結果の表示を揃えられます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(12, 8)</code></pre>



<p>結果は「00001010」です。8桁になるように先頭に「0」が追加されます。</p>



<p>桁数指定はデータの一覧表を作るときに便利です。ビット列の桁数がバラバラだと見づらいですよね。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td>=OCT2BIN(1, 8)</td><td>00000001</td><td>8桁に揃える</td></tr><tr><td>=OCT2BIN(12, 8)</td><td>00001010</td><td>8桁に揃える</td></tr><tr><td>=OCT2BIN(777, 10)</td><td>0111111111</td><td>10桁に揃える</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc11">負の数（2の補数）を変換する</span></h3>



<p>OCT2BIN関数は「2の補数」表現にも対応しています。</p>



<p>2の補数とは、コンピュータで負の数を表す仕組みです。出力される2進数は10桁になります。最上位ビット（左端）が「1」の場合は負の数を意味します。</p>



<pre class="wp-block-code"><code>=OCT2BIN(7777777777)</code></pre>



<p>結果は「1111111111」です。8進数の7777777777は、10進数では-1に対応します。</p>



<pre class="wp-block-code"><code>=OCT2BIN(7777777000)</code></pre>



<p>結果は「1000000000」です。これが負の最小値（-512）です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数を入力するときは8進数の2の補数形式で指定します。「-」記号を付けるとエラーになりますのでご注意ください。</p></blockquote>



<p>負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>出力（2進数）</th><th>10進数での値</th></tr></thead><tbody><tr><td>7777777777</td><td>1111111111</td><td>-1</td></tr><tr><td>7777777776</td><td>1111111110</td><td>-2</td></tr><tr><td>7777777760</td><td>1111110000</td><td>-16</td></tr><tr><td>7777777000</td><td>1000000000</td><td>-512</td></tr></tbody></table></figure>



<p>負の数の場合は、桁数を指定しても10桁で返されます。</p>



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



<p>OCT2BIN関数で発生するエラーと対処法を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式の例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>変換結果が10ビットを超える</td><td>=OCT2BIN(1000)</td><td>777以下（正の数）を指定する</td></tr><tr><td>#NUM!</td><td>0から7以外の文字を含む</td><td>=OCT2BIN(89)</td><td>0から7の数字だけで構成する</td></tr><tr><td>#NUM!</td><td>桁数が結果より小さい</td><td>=OCT2BIN(777, 1)</td><td>桁数を大きくするか省略する</td></tr><tr><td>#VALUE!</td><td>数値型でない引数を指定した</td><td>=OCT2BIN(&#8220;ABC&#8221;)</td><td>数値として有効な値を指定する</td></tr></tbody></table></figure>



<p>もっとも多いのは「変換結果が範囲を超える」パターンです。OCT2BIN関数の出力は最大10ビットです。正の数は8進数で777（10進数で511）までしか変換できません。</p>



<pre class="wp-block-code"><code>=OCT2BIN(1000)</code></pre>



<p>この数式は#NUM!エラーになります。8進数の1000は10進数で512です。正の最大値511を超えています。</p>



<p>0から7以外の文字を含む場合もエラーです。</p>



<pre class="wp-block-code"><code>=OCT2BIN(89)</code></pre>



<p>「8」と「9」は8進数では使えない文字です。この数式は#NUM!エラーになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>エラーを回避したい場合は、IFERROR関数と組み合わせましょう。<code>=IFERROR(OCT2BIN(A1), "変換エラー")</code> と書けば、エラー時に任意のメッセージを表示できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">BIN2OCT関数との使い分け（逆変換）</span></h2>



<p>OCT2BIN関数の逆方向の変換を行うのが<a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT関数</a>です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換方向</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><strong>OCT2BIN</strong></td><td>8進数 → 2進数</td><td>8進数の値（最大10桁）</td><td>0と1の数値（最大10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td>2進数 → 8進数</td><td>0と1の数値（最大10桁）</td><td>8進数（最大10桁）</td></tr></tbody></table></figure>



<p>それぞれの使いどころを整理します。</p>



<ul class="wp-block-list"><li><strong>OCT2BIN</strong>: 8進数の値を2進数のビットパターンに分解したいとき</li><li><strong>BIN2OCT</strong>: 2進数のデータを8進数で表示したいとき</li></ul>



<p>両方を組み合わせると、変換の確認ができます。</p>



<pre class="wp-block-code"><code>=BIN2OCT(OCT2BIN(A1))</code></pre>



<p>この数式はA1の8進数を2進数に変換し、再び8進数に戻します。元の値と一致すれば変換が正しいと確認できます。</p>



<h2 class="wp-block-heading"><span id="toc14">OCT2BIN関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc15">Unixファイルパーミッションのビット分解</span></h3>



<p>Unixのファイルパーミッションは8進数で表記されます。OCT2BIN関数を使えば、各桁を2進数のビットパターンに分解できます。</p>



<p>パーミッションの各桁は「読み取り(r)」「書き込み(w)」「実行(x)」の3ビットで構成されます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(7, 3)</code></pre>



<p>結果は「111」です。読み取り(1)・書き込み(1)・実行(1)がすべて許可されている状態です。</p>



<p>所有者・グループ・その他それぞれの桁を分解すれば、権限を一目で確認できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>対象</th><th>8進数</th><th>2進数</th><th>パーミッション</th></tr></thead><tbody><tr><td>所有者</td><td>7</td><td>111</td><td>rwx</td></tr><tr><td>グループ</td><td>5</td><td>101</td><td>r-x</td></tr><tr><td>その他</td><td>5</td><td>101</td><td>r-x</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>パーミッション全体（755など）を一括変換したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT関数</a>の記事で紹介している9ビットパターンも参考にしてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">他の進数変換関数との組み合わせ</span></h3>



<p>OCT2BIN関数で得た2進数を、さらに別の進数に変換することもできます。</p>



<p>たとえばOCT2BIN + OCT2DECを並べて、同じ8進数を複数の進数で一覧表示する使い方です。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td>B1</td><td>=OCT2BIN(A1)</td><td>101011</td><td>2進数表示</td></tr><tr><td>C1</td><td>=OCT2DEC(A1)</td><td>43</td><td>10進数表示</td></tr><tr><td>D1</td><td>=OCT2HEX(A1)</td><td>2B</td><td>16進数表示</td></tr></tbody></table></figure>



<p>A1に「53」（8進数）を入力すれば、3種類の進数を同時に確認できます。</p>



<h2 class="wp-block-heading"><span id="toc17">他の進数変換関数との比較</span></h2>



<p>Excelには2進数・8進数・10進数・16進数を相互変換する関数が12種類あります。OCT2BIN関数はその1つです。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td>2進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td>2進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td><td>2進数 → 16進数</td></tr><tr><td><strong>OCT2BIN</strong> ※この記事</td><td>8進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td>8進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td><td>8進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td>16進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>16進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td></tr></tbody></table></figure>



<p>関数名の命名規則は「変換元の略称 + 2 + 変換先の略称」です。OCT2BINなら「OCT(8進数) → BIN(2進数)」ですね。このルールを覚えておけば、どの関数がどの変換をするか迷いません。</p>



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



<p>OCT2BIN関数は、8進数を2進数に変換する関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=OCT2BIN(数値, [桁数])</code> で、桁数は省略可能</li><li>入力は0から7の数字で構成された8進数</li><li>正の数は777（10進数で511）まで変換できる</li><li>桁数を指定すると、先頭に0を追加して表示を揃えられる</li><li>負の数は2の補数形式（7777777000〜7777777777）で指定する</li><li>#NUM!エラーの原因は「範囲超」「8進数以外の文字」「桁数不足」</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT関数</a>を使う</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p>まずは <code>=OCT2BIN(53)</code> で「101011」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-oct2bin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
