<?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>DEC2BIN &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/dec2bin/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 23 Apr 2026 11:31:24 +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>DEC2BIN &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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-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">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>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-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Excelの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>
	</channel>
</rss>
