<?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>10進数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/10%E9%80%B2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:30:28 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

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

					<description><![CDATA[GoogleスプレッドシートのHEX2DEC関数の使い方を解説。16進数を10進数に変換する基本から、カラーコードRGB抽出・ARRAYFORMULAでの一括変換・戻り値が数値型である点の活用・エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ネットワーク機器の設定ファイルに並んでいる16進数のエラーコードを、社内のエラーDBと突き合わせたい&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートでシステム管理台帳や障害記録を扱っていると、16進数のコードを10進数に変換して集計・VLOOKUP検索したい場面が出てきます。電卓で変換するのは間違いのもとですし、16進数のまま管理すると後の集計が面倒ですよね。</p>



<p class="wp-block-paragraph">そんなときに役立つのがGoogleスプレッドシートのHEX2DEC関数です。16進数の文字列を指定するだけで、10進数の数値に変換してくれますよ。</p>



<p class="wp-block-paragraph">HEX2BINやHEX2OCTと違い、桁数引数がなくシンプルな構文で使えます。しかも戻り値が数値型なので、そのままSUM関数やVLOOKUP検索に渡せます。Excelとも互換性があるため、ファイルをやり取りする現場でも安心ですね。</p>



<p class="wp-block-paragraph">この記事では、HEX2DEC関数の基本から戻り値の数値活用・カラーコード分析・エラー対処法まで解説します。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">HEX2DEC関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">HEX2DEC関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">HEX2DEC関数の書き方（構文と引数）</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></ol></li><li><a href="#toc8" tabindex="0">16進数と10進数の対応表</a></li><li><a href="#toc9" tabindex="0">HEX2DEC関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">直接入力で変換する</a></li><li><a href="#toc11" tabindex="0">セル参照で変換する</a></li><li><a href="#toc12" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">戻り値は数値型（四則演算に直接使える）</a><ol><li><a href="#toc14" tabindex="0">SUM・AVERAGEで集計できる</a></li><li><a href="#toc15" tabindex="0">VLOOKUPの検索値として使える</a></li></ol></li><li><a href="#toc16" tabindex="0">実務活用例：カラーコードのRGB成分を10進で取り出す</a><ol><li><a href="#toc17" tabindex="0">MID関数との組み合わせ</a></li><li><a href="#toc18" tabindex="0">よく使うカラーコードのRGB変換例</a></li></ol></li><li><a href="#toc19" tabindex="0">負の数の変換（40ビット2の補数）</a><ol><li><a href="#toc20" tabindex="0">負の数の仕組み</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">#VALUE! エラー</a></li><li><a href="#toc24" tabindex="0">エラー対処：IFERRORで包む</a></li><li><a href="#toc25" tabindex="0">エラー防止：正規表現で事前チェック</a></li></ol></li><li><a href="#toc26" tabindex="0">HEX2DEC関数とExcelの互換性</a></li><li><a href="#toc27" tabindex="0">HEX2シリーズ3関数の比較</a></li><li><a href="#toc28" tabindex="0">よくある質問（HEX2DEC関数）</a><ol><li><a href="#toc29" tabindex="0">Q1. 小文字の16進数（「ff」「a1」など）でも変換できますか？</a></li><li><a href="#toc30" tabindex="0">Q2. 「#」付きのカラーコード（「#FF8000」）をそのまま変換できますか？</a></li><li><a href="#toc31" tabindex="0">Q3. HEX2DEC関数で変換した値をVLOOKUPで使うには？</a></li></ol></li><li><a href="#toc32" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">16進数は0〜9の数字とA〜Fのアルファベット（合計16種類）で数値を表す方法です。コンピュータやネットワーク機器の設定値・カラーコード・バイナリデータの表現によく使われます。HEX2DEC関数を使えば、こうした16進数をスプレッドシート上で10進数に変換して、集計や検索に活用できますよ。</p>



<p class="wp-block-paragraph">たとえば <code>=HEX2DEC("FF")</code> と入力すると、結果は「255」です。16進数の「FF」が10進数の255（1バイトの最大値）と同じだとわかります。</p>



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



<p class="wp-block-paragraph">関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>HEX</strong> = Hexadecimal（ヘキサデシマル、16進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li></ul>



<p class="wp-block-paragraph">つまり「HEXからDECへ」、16進数を10進数に変換するという意味がそのまま名前になっています。逆変換の<a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX関数</a>とセットで覚えると便利ですよ。</p>



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



<p class="wp-block-paragraph">HEX2DEC関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>16進数を10進数の数値に変換する</li><li>変換できる範囲は -549,755,813,888〜549,755,813,887（40ビット符号付き整数）</li><li><strong>桁数引数がない</strong>（<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN関数</a>・HEX2OCT関数と異なる）</li><li><strong>戻り値は数値型</strong>（文字列ではない）→ SUM・AVERAGE・VLOOKUP にそのまま使える</li><li>ExcelのHEX2DEC関数と仕様が同じで、ファイル共有でもそのまま動作する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>HEX2DEC関数は<a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX関数</a>（10進→16進）と逆の変換を行います。また、<a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC関数</a>（2進→10進）と合わせてよく使われますよ。</p></blockquote>



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



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



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



<p class="wp-block-paragraph">カッコの中に、変換したい16進数を指定するだけです。HEX2BINやHEX2OCTと違い、<strong>桁数引数はありません</strong>。</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進数に変換したい16進数（最大10文字）。-549,755,813,888〜549,755,813,887 に相当する値のみ有効</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">桁数を指定する第2引数はありません。シンプルに1つの引数だけで使えますよ。</p>



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



<p class="wp-block-paragraph">数値に指定できるのは、次の条件を満たす値です。</p>



<ul class="wp-block-list"><li>0〜9とA〜F（大文字・小文字どちらでもOK）のみで構成された文字列</li><li>変換結果が -549,755,813,888〜549,755,813,887 の範囲に収まるもの<ul><li>正の数: 0〜7FFFFFFFFF（16進数、10進数では 0〜549,755,813,887）</li><li>負の数: 8000000000〜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>WARNING</strong></p><p>HEX2DEC関数の引数には「16進数の文字列」または「16進数が入ったセル参照」を指定します。<code>=HEX2DEC(FF)</code> のようにクォートなしで入力すると、FFが変数名とみなされエラーになります。<code>=HEX2DEC("FF")</code> のように文字列として指定してください。</p></blockquote>



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



<p class="wp-block-paragraph">HEX2DEC関数の動きをイメージしやすくするため、よく使われる16進数の対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>10進数</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>ゼロ</td></tr><tr><td>A</td><td>10</td><td>&nbsp;</td></tr><tr><td>F</td><td>15</td><td>1桁の最大値</td></tr><tr><td>FF</td><td>255</td><td>1バイト最大値</td></tr><tr><td>100</td><td>256</td><td>1バイト超え</td></tr><tr><td>FFFF</td><td>65535</td><td>2バイト最大値</td></tr><tr><td>FFFFFF</td><td>16,777,215</td><td>3バイト最大値（#FFFFFF＝白）</td></tr><tr><td>7FFFFFFFFF</td><td>549,755,813,887</td><td>HEX2DEC の正の最大値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">16進数の1桁は10進数の0〜15に対応します。2桁になると最大255（= 16²−1）、3桁になると最大4095（= 16³−1）と指数的に大きくなりますよ。</p>



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



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



<p class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



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



<p class="wp-block-paragraph">結果は「255」です。16進数の「FF」（両桁とも最大の15）が10進数で表されました。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_hex2dec-basic.png" alt="02 formula hex2dec basic" /></figure>



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



<p class="wp-block-paragraph">結果は「26」です。1桁目の「1」が16、2桁目の「A」が10なので、16+10=26 となります。</p>



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



<p class="wp-block-paragraph">結果は「256」です。3桁目が1なので 16² = 256 が確認できます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_hex2dec-basic.png" alt="03 result hex2dec basic" /></figure>



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



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



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



<p class="wp-block-paragraph">結果は「255」です。</p>



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



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



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



<p class="wp-block-paragraph">A2からA10までの16進数データを、1つの数式で一気に10進数に変換できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 16進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>A</td><td>=ARRAYFORMULA(HEX2DEC(A2:A6))</td><td>10</td></tr><tr><td>FF</td><td>↓</td><td>255</td></tr><tr><td>100</td><td>↓</td><td>256</td></tr><tr><td>FFFF</td><td>↓</td><td>65535</td></tr><tr><td>1A</td><td>↓</td><td>26</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_hex2dec-arrayformula.png" alt="04 result hex2dec arrayformula" /></figure>



<h2 class="wp-block-heading"><span id="toc13">戻り値は数値型（四則演算に直接使える）</span></h2>



<p class="wp-block-paragraph">HEX2DEC関数の最大の特徴が、戻り値が<strong>数値型</strong>である点です。<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN関数</a>や HEX2OCT関数の戻り値がテキスト（文字列）であるのと異なります。</p>



<p class="wp-block-paragraph">数値型で返るため、そのまま計算やLOOKUP関数に使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">SUM・AVERAGEで集計できる</span></h3>



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



<p class="wp-block-paragraph">ARRAYFORMULAなしでも、配列数式として機能します。複数の16進数を一括変換して合計を出せますよ。</p>



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



<p class="wp-block-paragraph">平均値も同様に計算できます。</p>



<h3 class="wp-block-heading"><span id="toc15">VLOOKUPの検索値として使える</span></h3>



<p class="wp-block-paragraph">エラーコードを16進数で管理している台帳から、10進数に変換してDBを検索する場面では次のように書けます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(HEX2DEC(A2), エラーDB!A:B, 2, FALSE)</code></pre>



<p class="wp-block-paragraph">A2の16進数エラーコードを10進数に変換し、エラーDB表の10進数列から対応するメッセージを検索しています。</p>



<p class="wp-block-paragraph">HEX2BIN・HEX2OCTで変換した場合はテキスト型なので、数値で管理されているDBとは一致しません。HEX2DEC を使うことで、このような数値前提のLOOKUPが自然に書けますよ。</p>



<h2 class="wp-block-heading"><span id="toc16">実務活用例：カラーコードのRGB成分を10進で取り出す</span></h2>



<p class="wp-block-paragraph">HEX2DEC関数の代表的な実務活用が、Webカラーコードの解析です。<code>#FF8000</code>のような16進数カラーコードから、R（赤）・G（緑）・B（青）の10進数値を取り出せます。</p>



<h3 class="wp-block-heading"><span id="toc17">MID関数との組み合わせ</span></h3>



<p class="wp-block-paragraph">カラーコードの先頭<code>#</code>を除いた6文字から、2文字ずつMID関数で切り取り、HEX2DECで変換します。</p>



<pre class="wp-block-code"><code>=HEX2DEC(MID(A2,1,2))   ← R（赤）
=HEX2DEC(MID(A2,3,2))   ← G（緑）
=HEX2DEC(MID(A2,5,2))   ← B（青）</code></pre>



<p class="wp-block-paragraph">A2に「FF8000」（ハッシュなし）が入っている場合の結果です。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>意味</th></tr></thead><tbody><tr><td>=HEX2DEC(MID(&#8220;FF8000&#8221;,1,2))</td><td>255</td><td>R = 255（最大）</td></tr><tr><td>=HEX2DEC(MID(&#8220;FF8000&#8221;,3,2))</td><td>128</td><td>G = 128</td></tr><tr><td>=HEX2DEC(MID(&#8220;FF8000&#8221;,5,2))</td><td>0</td><td>B = 0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>#RRGGBB</code>形式でハッシュが含まれる場合は、MIDの開始位置を2に変えてください。</p>



<pre class="wp-block-code"><code>=HEX2DEC(MID(A2,2,2))   ← R（#FF8000 の場合、位置2から2文字）</code></pre>



<h3 class="wp-block-heading"><span id="toc18">よく使うカラーコードのRGB変換例</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>カラーコード</th><th>R</th><th>G</th><th>B</th><th>色</th></tr></thead><tbody><tr><td>FF0000</td><td>255</td><td>0</td><td>0</td><td>赤</td></tr><tr><td>00FF00</td><td>0</td><td>255</td><td>0</td><td>緑</td></tr><tr><td>0000FF</td><td>0</td><td>0</td><td>255</td><td>青</td></tr><tr><td>FFFF00</td><td>255</td><td>255</td><td>0</td><td>黄</td></tr><tr><td>FFFFFF</td><td>255</td><td>255</td><td>255</td><td>白</td></tr><tr><td>000000</td><td>0</td><td>0</td><td>0</td><td>黒</td></tr><tr><td>FF8000</td><td>255</td><td>128</td><td>0</td><td>オレンジ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-hex2dec-function/05_result_hex2dec-rgb.png/">_images/spreadsheet-hex2dec-function/05_result_hex2dec-rgb.png</a></p>



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



<p class="wp-block-paragraph">HEX2DEC関数で負の数に相当する16進数を変換すると、負の10進数が返されます。</p>



<h3 class="wp-block-heading"><span id="toc20">負の数の仕組み</span></h3>



<p class="wp-block-paragraph">40ビット（10桁の16進数）の最上位ビットが1の場合、2の補数表現として負の数と解釈されます。</p>



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



<p class="wp-block-paragraph">結果は「-1」です。40ビットすべてが1は、2の補数で -1 を表します。</p>



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



<p class="wp-block-paragraph">結果は「-512」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>結果（10進数）</th><th>備考</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>-1</td><td>40ビット全て1</td></tr><tr><td>FFFFFFFE00</td><td>-512</td><td>&nbsp;</td></tr><tr><td>8000000000</td><td>-549,755,813,888</td><td>最小値（負の最大）</td></tr><tr><td>7FFFFFFFFF</td><td>549,755,813,887</td><td>最大値（正の最大）</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>負の数の変換が必要な場面は、符号付きレジスタ値や温度センサーのオーバーフロー値の管理などです。通常の業務では正の数だけを扱うことがほとんどですよ。</p></blockquote>



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



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



<p class="wp-block-paragraph">次のいずれかに当てはまると #NUM! エラーになります。</p>



<ul class="wp-block-list"><li>変換結果が -549,755,813,888〜549,755,813,887 の範囲外</li><li>0〜9・A〜F（a〜f）以外の文字を含む16進数を指定した</li></ul>



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



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



<p class="wp-block-paragraph">引数に数値や論理値など、文字列でない型を直接指定すると #VALUE! エラーになる場合があります。セル参照では発生しません。</p>



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



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



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



<p class="wp-block-paragraph">A2に無効な16進数が入っていた場合でも、「変換エラー」と表示して処理が止まりません。</p>



<h3 class="wp-block-heading"><span id="toc25">エラー防止：正規表現で事前チェック</span></h3>



<p class="wp-block-paragraph">大量データを処理する前に、16進数として有効かどうかを確認しておくと安心です。</p>



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



<p class="wp-block-paragraph">TRUEならHEX2DECで変換できる可能性が高いです。</p>



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



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



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



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



<p class="wp-block-paragraph">HEXシリーズの変換関数（HEX2から始まる）を比較すると、変換先と扱える範囲が異なります。</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>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 class="wp-block-paragraph">HEX2DECだけが桁数引数を持たず、戻り値も数値型です。四則演算・VLOOKUP・集計関数に直接渡せるのはHEX2DECだけなので、変換後に計算が必要な場合はHEX2DECを使いましょう。</p>



<p class="wp-block-paragraph">HEX2BINやHEX2OCTを使って変換後に計算したい場合は、さらにBIN2DEC・OCT2DEC関数を挟む必要があります。</p>



<h2 class="wp-block-heading"><span id="toc28">よくある質問（HEX2DEC関数）</span></h2>



<h3 class="wp-block-heading"><span id="toc29">Q1. 小文字の16進数（「ff」「a1」など）でも変換できますか？</span></h3>



<p class="wp-block-paragraph">はい、大文字・小文字どちらでも変換できます。<code>=HEX2DEC("ff")</code> でも <code>=HEX2DEC("FF")</code> でも、結果は同じ「255」です。</p>



<p class="wp-block-paragraph">データのソースによって大文字・小文字が混在している場合でも、そのままHEX2DEC関数に渡せば問題なく変換されますよ。</p>



<h3 class="wp-block-heading"><span id="toc30">Q2. 「#」付きのカラーコード（「#FF8000」）をそのまま変換できますか？</span></h3>



<p class="wp-block-paragraph">そのままでは変換できません。HEX2DEC関数の引数は純粋な16進数文字列（0〜9とA〜F）のみ対応しているため、<code>#</code> が含まれていると <code>#NUM!</code> エラーになります。</p>



<p class="wp-block-paragraph">カラーコードを変換する場合は、MID関数で <code>#</code> を除いてから処理しましょう。</p>



<pre class="wp-block-code"><code>=HEX2DEC(MID(A2, 2, 2))   ← #FF8000 のR成分（位置2から2文字）</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で <code>#</code> を除去する方法もあります。</p>



<pre class="wp-block-code"><code>=HEX2DEC(MID(SUBSTITUTE(A2, &quot;#&quot;, &quot;&quot;), 1, 2))</code></pre>



<h3 class="wp-block-heading"><span id="toc31">Q3. HEX2DEC関数で変換した値をVLOOKUPで使うには？</span></h3>



<p class="wp-block-paragraph">変換結果が数値型なので、そのままVLOOKUP（またはXLOOKUP）の検索値として使えます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(HEX2DEC(A2), 参照テーブル!A:B, 2, FALSE)</code></pre>



<p class="wp-block-paragraph">ただし、参照テーブル側の検索列が数値型で格納されている必要があります。参照テーブルの1列目が文字列型（左揃えになっていたり、先頭にアポストロフィがある場合）だと一致しません。その場合は参照テーブルの列をVALUE関数で数値変換するか、表示形式を「数値」に変更してくださいね。</p>



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



<p class="wp-block-paragraph">HEX2DEC関数は、16進数を10進数に変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=HEX2DEC(数値)</code> ← 引数は1つだけ</li><li>有効範囲: -549,755,813,888〜549,755,813,887（正: 0〜7FFFFFFFFF）</li><li>桁数引数なし（HEX2BIN・HEX2OCTとの違い）</li><li>戻り値は数値型 → SUM・VLOOKUP・四則演算に直接使える</li><li>カラーコードRGB抽出・エラーコード照合などの実務で活躍</li></ul>



<p class="wp-block-paragraph"><code>=HEX2DEC("FF")</code> → 255 のように、16進数を10進数に変換してそのまま計算に使えるのがHEX2DECの最大の強みですよ。</p>



<p class="wp-block-paragraph">逆変換には<a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX関数</a>を使います。また<a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC関数</a>（2進→10進）や<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN関数</a>（16進→2進）と組み合わせることで、さまざまな基数変換をスプレッドシート上で完結できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-hex2dec-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのOCT2DEC関数の使い方｜8進→10進</title>
		<link>https://mashukabu.com/spreadsheet-oct2dec-function/</link>
					<comments>https://mashukabu.com/spreadsheet-oct2dec-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:26:23 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[OCT2DEC]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6313</guid>

					<description><![CDATA[GoogleスプレッドシートのOCT2DEC関数の使い方を解説。8進数を10進数に変換する基本から、戻り値が数値型である利点を活かしたSUM/VLOOKUP活用、Linuxパーミッションの解析、ARRAYFORMULAでの一括変換、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Linuxサーバーのアクセスログにずらっと並んでいるパーミッション値（755とか644）を、スプレッドシートで集計して権限の傾向を分析したい&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートで権限管理台帳やサーバー設定の記録を扱っていると、8進数のままでは並べ替えやSUM・VLOOKUPがうまく動かなくて困りますよね。電卓で1件ずつ10進数に変換するのは、件数が増えると大変です。</p>



<p class="wp-block-paragraph">そんなときに役立つのがGoogleスプレッドシートのOCT2DEC関数です。8進数の文字列を指定するだけで、10進数の数値に変換してくれますよ。</p>



<p class="wp-block-paragraph">OCT2BINやOCT2HEXと違い、桁数引数がなくシンプルな構文で使えます。しかも戻り値が数値型なので、そのままSUM関数やVLOOKUP検索に渡せますよ。Excelとも互換性があるため、ファイルをやり取りする現場でも安心ですね。</p>



<p class="wp-block-paragraph">この記事では、OCT2DEC関数の基本から戻り値の数値活用・Linuxパーミッション解析・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</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">OCT2DEC関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">OCT2DEC関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">OCT2DEC関数の書き方（構文と引数）</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></ol></li><li><a href="#toc8" tabindex="0">8進数と10進数の対応表</a></li><li><a href="#toc9" tabindex="0">OCT2DEC関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">直接入力で変換する</a></li><li><a href="#toc11" tabindex="0">セル参照で変換する</a></li><li><a href="#toc12" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">戻り値は数値型（四則演算に直接使える）</a><ol><li><a href="#toc14" tabindex="0">SUM・AVERAGEで集計できる</a></li><li><a href="#toc15" tabindex="0">VLOOKUPの検索値として使える</a></li></ol></li><li><a href="#toc16" tabindex="0">実務活用例：Linuxパーミッションの解析</a><ol><li><a href="#toc17" tabindex="0">パーミッション3桁を1桁ずつ10進数に分解</a></li><li><a href="#toc18" tabindex="0">権限スコアの集計</a></li></ol></li><li><a href="#toc19" tabindex="0">負の数の変換（30ビット2の補数）</a><ol><li><a href="#toc20" tabindex="0">負の数の仕組み</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">#VALUE! エラー</a></li><li><a href="#toc24" tabindex="0">エラー対処：IFERRORで包む</a></li><li><a href="#toc25" tabindex="0">エラー防止：正規表現で事前チェック</a></li></ol></li><li><a href="#toc26" tabindex="0">OCT2DEC関数とExcelの互換性</a></li><li><a href="#toc27" tabindex="0">OCT2シリーズ3関数の比較</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">8進数は0〜7の数字（合計8種類）で数値を表す方法です。3ビットで1桁を表せるため、UnixやLinuxのファイルパーミッション（<code>chmod 755</code> など）でよく使われますね。スプレッドシートで権限値の集計や検索をしたい場面で、OCT2DEC関数を使えば10進数の数値に変換できますよ。</p>



<p class="wp-block-paragraph">たとえば <code>=OCT2DEC("54")</code> と入力すると、結果は「44」です。8進数の「54」（5×8+4=44）が10進数の44と同じだとわかります。</p>



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



<p class="wp-block-paragraph">関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>OCT</strong> = Octal（オクタル、8進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li></ul>



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



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



<p class="wp-block-paragraph">OCT2DEC関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>8進数を10進数の数値に変換する</li><li>変換できる範囲は -536,870,912〜536,870,911（30ビット符号付き整数）</li><li><strong>桁数引数がない</strong>（<a href="https://mashukabu.com/spreadsheet-oct2bin-function/">OCT2BIN関数</a>・OCT2HEX関数と異なる）</li><li><strong>戻り値は数値型</strong>（文字列ではない）→ SUM・AVERAGE・VLOOKUPにそのまま使える</li><li>ExcelのOCT2DEC関数と仕様が同じで、ファイル共有でもそのまま動作する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>OCT2DEC関数は<a href="https://mashukabu.com/spreadsheet-dec2oct-function/">DEC2OCT関数</a>（10進→8進）と逆の変換を行います。また、<a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC関数</a>（16進→10進）や<a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC関数</a>（2進→10進）と合わせて、基数変換セットとして覚えておくと便利ですよ。</p></blockquote>



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



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



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



<p class="wp-block-paragraph">カッコの中に、変換したい8進数を指定するだけです。OCT2BINやOCT2HEXと違い、<strong>桁数引数はありません</strong>。</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進数に変換したい8進数（最大10文字）。-536,870,912〜536,870,911 に相当する値のみ有効</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">桁数を指定する第2引数はありません。シンプルに1つの引数だけで使えますよ。</p>



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



<p class="wp-block-paragraph">数値に指定できるのは、次の条件を満たす値です。</p>



<ul class="wp-block-list"><li>0〜7のみで構成された文字列（8や9は不可）</li><li>最大10文字（30ビット）まで</li><li>変換結果が -536,870,912〜536,870,911 の範囲に収まるもの<ul><li>正の数: 0〜3777777777（8進数、10進数では 0〜536,870,911）</li><li>負の数: 4000000000〜7777777777（30ビット2の補数表現）</li></ul></li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>OCT2DEC関数の引数には「8進数の文字列」または「8進数が入ったセル参照」を指定します。<code>=OCT2DEC(077)</code> のように先頭ゼロ付きの数値を直接書くと、スプレッドシートが先頭ゼロを落としてしまう場合があります。<code>=OCT2DEC("077")</code> のようにダブルクォートで文字列として指定するのが安全ですよ。</p></blockquote>



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



<p class="wp-block-paragraph">OCT2DEC関数の動きをイメージしやすくするため、よく使われる8進数の対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>8進数</th><th>10進数</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>ゼロ</td></tr><tr><td>7</td><td>7</td><td>1桁の最大値</td></tr><tr><td>10</td><td>8</td><td>2桁目に繰り上がり</td></tr><tr><td>17</td><td>15</td><td>&nbsp;</td></tr><tr><td>77</td><td>63</td><td>2桁の最大値</td></tr><tr><td>100</td><td>64</td><td>8²</td></tr><tr><td>755</td><td>493</td><td>Linuxパーミッション例</td></tr><tr><td>777</td><td>511</td><td>3桁の最大値（全権限）</td></tr><tr><td>3777777777</td><td>536,870,911</td><td>OCT2DEC の正の最大値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">8進数の1桁は10進数の0〜7に対応します。2桁になると最大63（= 8²−1）、3桁になると最大511（= 8³−1）と、桁が増えるごとに8倍ずつ広がっていきますよ。</p>



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<p class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



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



<p class="wp-block-paragraph">結果は「7」です。8進数の「7」は10進数でも7なので、そのままの値が返ります。</p>



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



<p class="wp-block-paragraph">結果は「8」です。8進数の「10」は10進数で8（1×8+0）に当たります。</p>



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



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-oct2dec-function/02_formula_oct2dec-basic.png/">_images/spreadsheet-oct2dec-function/02_formula_oct2dec-basic.png</a></p>



<p class="wp-block-paragraph">結果は「493」です。各桁を計算すると、7×64 + 5×8 + 5 = 448+40+5 = 493 となります。</p>



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



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_oct2dec-basic.png" alt="03 result oct2dec basic" /></figure>



<p class="wp-block-paragraph">結果は「420」です。6×64 + 4×8 + 4 = 384+32+4 = 420 となります。</p>



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



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



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



<p class="wp-block-paragraph">A2からA10までの8進数データを、1つの数式で一気に10進数に変換できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 8進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>7</td><td>=ARRAYFORMULA(OCT2DEC(A2:A6))</td><td>7</td></tr><tr><td>10</td><td>↓</td><td>8</td></tr><tr><td>100</td><td>↓</td><td>64</td></tr><tr><td>755</td><td>↓</td><td>493</td></tr><tr><td>777</td><td>↓</td><td>511</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_oct2dec-arrayformula.png" alt="04 result oct2dec arrayformula" /></figure>



<h2 class="wp-block-heading"><span id="toc13">戻り値は数値型（四則演算に直接使える）</span></h2>



<p class="wp-block-paragraph">OCT2DEC関数の最大の特徴が、戻り値が<strong>数値型</strong>である点です。<a href="https://mashukabu.com/spreadsheet-oct2bin-function/">OCT2BIN関数</a>やOCT2HEX関数の戻り値がテキスト（文字列）であるのと異なります。</p>



<p class="wp-block-paragraph">数値型で返るため、そのまま計算やLOOKUP関数に使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">SUM・AVERAGEで集計できる</span></h3>



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



<p class="wp-block-paragraph">複数の8進数を一括変換して合計を出せます。たとえば A2:A10 にパーミッション値が並んでいれば、その合計値を一発で計算できますよ。</p>



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



<p class="wp-block-paragraph">平均値も同様に計算できます。</p>



<h3 class="wp-block-heading"><span id="toc15">VLOOKUPの検索値として使える</span></h3>



<p class="wp-block-paragraph">8進数の値で管理されている台帳から、10進数のIDテーブルを検索する場面では次のように書けます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(OCT2DEC(A2), 権限マスタ!A:B, 2, FALSE)</code></pre>



<p class="wp-block-paragraph">A2の8進数パーミッション値を10進数に変換し、権限マスタ表の10進数列から対応する権限名を検索しています。</p>



<p class="wp-block-paragraph">OCT2BINやOCT2HEXで変換した場合はテキスト型なので、数値で管理されているマスタとは一致しません。OCT2DECを使うことで、このような数値前提のLOOKUPが自然に書けますよ。</p>



<h2 class="wp-block-heading"><span id="toc16">実務活用例：Linuxパーミッションの解析</span></h2>



<p class="wp-block-paragraph">OCT2DEC関数の代表的な実務活用が、Linuxサーバーのファイルパーミッション解析です。<code>755</code>や<code>644</code>のような3桁の8進数を、各桁ごとに分解して権限スコアを把握できます。</p>



<h3 class="wp-block-heading"><span id="toc17">パーミッション3桁を1桁ずつ10進数に分解</span></h3>



<p class="wp-block-paragraph">3桁のパーミッションは、左からオーナー・グループ・その他の3つの権限を表します。MID関数で1桁ずつ取り出してOCT2DECに渡すと、各カテゴリの権限スコアが10進数で見えますよ。</p>



<pre class="wp-block-code"><code>=OCT2DEC(MID(A2,1,1))   ← オーナー権限
=OCT2DEC(MID(A2,2,1))   ← グループ権限
=OCT2DEC(MID(A2,3,1))   ← その他権限</code></pre>



<p class="wp-block-paragraph">A2に「755」が入っている場合の結果です。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>意味</th></tr></thead><tbody><tr><td>=OCT2DEC(MID(&#8220;755&#8221;,1,1))</td><td>7</td><td>オーナー = 7（読＋書＋実行）</td></tr><tr><td>=OCT2DEC(MID(&#8220;755&#8221;,2,1))</td><td>5</td><td>グループ = 5（読＋実行）</td></tr><tr><td>=OCT2DEC(MID(&#8220;755&#8221;,3,1))</td><td>5</td><td>その他 = 5（読＋実行）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">8進数の各桁は、3ビットの権限フラグ（読4＋書2＋実行1）の合計です。たとえば「7」は4+2+1で全権限ありを意味しますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">権限スコアの集計</span></h3>



<p class="wp-block-paragraph">パーミッション値を全体スコアとして集計したい場合は、3桁全体をOCT2DECに渡します。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>パーミッション</th><th>10進スコア</th><th>意味</th></tr></thead><tbody><tr><td>777</td><td>511</td><td>全員フル権限（最も緩い）</td></tr><tr><td>755</td><td>493</td><td>オーナーフル、他は読＋実行</td></tr><tr><td>700</td><td>448</td><td>オーナーのみフル権限</td></tr><tr><td>644</td><td>420</td><td>オーナー読＋書、他は読のみ</td></tr><tr><td>600</td><td>384</td><td>オーナー読＋書のみ</td></tr><tr><td>400</td><td>256</td><td>オーナー読のみ（最も厳しい）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">10進数のスコアにすると、SUM・AVERAGE・並べ替えで「セキュリティが緩いファイルランキング」のような分析ができますよ。</p>



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



<p class="wp-block-paragraph">OCT2DEC関数で負の数に相当する8進数を変換すると、負の10進数が返されます。</p>



<h3 class="wp-block-heading"><span id="toc20">負の数の仕組み</span></h3>



<p class="wp-block-paragraph">30ビット（10桁の8進数）の最上位ビットが1の場合、2の補数表現として負の数と解釈されます。8進数では、最上位の1桁が4以上（4・5・6・7）の場合に最上位ビット=1となり、負の数になりますよ。</p>



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



<p class="wp-block-paragraph">結果は「-1」です。30ビットすべてが1は、2の補数で -1 を表します。</p>



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



<p class="wp-block-paragraph">結果は「-536870912」です。OCT2DECの最小値（負の最大）に当たります。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>結果（10進数）</th><th>備考</th></tr></thead><tbody><tr><td>7777777777</td><td>-1</td><td>30ビット全て1</td></tr><tr><td>7777777533</td><td>-165</td><td>任意の負の値</td></tr><tr><td>4000000000</td><td>-536,870,912</td><td>最小値</td></tr><tr><td>3777777777</td><td>536,870,911</td><td>最大値（正の最大）</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>通常の業務（パーミッション解析など）で扱う8進数は3〜4桁で正の数なので、負の数の変換が必要になる場面はほとんどありません。符号付きレジスタ値を扱う特殊なシステム管理でだけ意識すれば大丈夫ですよ。</p></blockquote>



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



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



<p class="wp-block-paragraph">次のいずれかに当てはまると #NUM! エラーになります。</p>



<ul class="wp-block-list"><li>0〜7以外の文字を含む8進数を指定した（8、9、A〜Fなど）</li><li>入力が10文字を超えた</li><li>変換結果が -536,870,912〜536,870,911 の範囲外</li></ul>



<pre class="wp-block-code"><code>=OCT2DEC(&quot;89&quot;)        → #NUM!（8と9は8進数では無効）
=OCT2DEC(&quot;12345678901&quot;) → #NUM!（11文字は範囲外）</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_error_num.png" alt="05 error num" /></figure>



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



<p class="wp-block-paragraph">引数に数値や論理値など、文字列でない型を直接指定した場合に #VALUE! エラーになる場合があります。セル参照では基本的に発生しません。</p>



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



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



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



<p class="wp-block-paragraph">A2に無効な8進数が入っていた場合でも、「変換エラー」と表示して処理が止まりません。</p>



<h3 class="wp-block-heading"><span id="toc25">エラー防止：正規表現で事前チェック</span></h3>



<p class="wp-block-paragraph">大量データを処理する前に、8進数として有効かどうかを確認しておくと安心です。</p>



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



<p class="wp-block-paragraph">TRUEならOCT2DECで変換できる可能性が高いです。8や9を含む入力を事前にはじけますよ。</p>



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



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



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



<p class="wp-block-paragraph">Excel側の使い方を確認したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">ExcelのOCT2DEC関数</a>の記事も参考にしてくださいね。</p>



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



<p class="wp-block-paragraph">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>OCT2HEX</td><td>16進数</td><td>-536,870,912〜536,870,911</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></tbody></table></figure>



<p class="wp-block-paragraph">OCT2DECだけが桁数引数を持たず、戻り値も数値型です。四則演算・VLOOKUP・集計関数に直接渡せるのはOCT2DECだけなので、変換後に計算が必要な場面ではOCT2DECを使いましょう。</p>



<p class="wp-block-paragraph">OCT2BINやOCT2HEXを使って変換後に計算したい場合は、さらにBIN2DEC・HEX2DEC関数を挟む必要があります。</p>



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



<p class="wp-block-paragraph">OCT2DEC関数は、8進数を10進数に変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=OCT2DEC(数値)</code> ← 引数は1つだけ</li><li>有効範囲: -536,870,912〜536,870,911（正: 0〜3777777777）</li><li>桁数引数なし（OCT2BIN・OCT2HEXとの違い）</li><li>戻り値は数値型 → SUM・VLOOKUP・四則演算に直接使える</li><li>Linuxパーミッション解析や権限スコア集計などの実務で活躍</li></ul>



<p class="wp-block-paragraph"><code>=OCT2DEC("755")</code> → 493 のように、8進数を10進数に変換してそのまま計算に使えるのがOCT2DECの最大の強みですよ。</p>



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

					<description><![CDATA[GoogleスプレッドシートのDEC2OCT関数の使い方を解説。10進数を8進数に変換する基本から、桁数指定（ゼロ埋め）、Linuxパーミッション（chmod）管理への活用、負の数の扱い、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Linuxのファイル権限（chmod）を10進数で管理しているけど、8進数表記に変換するのが面倒&#8230;」</p>



<p class="wp-block-paragraph">システム管理やサーバー設定の仕事をスプレッドシートで記録していると、10進数と8進数を行き来したい場面が出てきます。たとえば <code>chmod 755</code> の「755」は8進数表記で、これを10進数の権限値に変換するといった作業が必要になることがありますよね。</p>



<p class="wp-block-paragraph">そんなときに役立つのがGoogleスプレッドシートのDEC2OCT関数です。10進数のセルを指定するだけで、8進数の文字列にすぐ変換できますよ。</p>



<p class="wp-block-paragraph">Excelとも互換性があるため、他のメンバーとファイルをやり取りする現場でも安心して使えますね。</p>



<p class="wp-block-paragraph">この記事では、DEC2OCT関数の基本から桁数指定・Linuxパーミッション管理・エラー対処法まで解説します。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">DEC2OCT関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">DEC2OCT関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2OCT関数の書き方（構文と引数）</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進数と8進数の対応表</a></li><li><a href="#toc10" tabindex="0">DEC2OCT関数の基本的な使い方</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></ol></li><li><a href="#toc16" tabindex="0">実務活用例：Linuxファイルパーミッション管理</a><ol><li><a href="#toc17" tabindex="0">chmod値の一覧表を作る</a></li><li><a href="#toc18" tabindex="0">権限ビットから8進数への変換</a></li></ol></li><li><a href="#toc19" tabindex="0">負の数の変換（2の補数・30ビット）</a><ol><li><a href="#toc20" tabindex="0">負の数の変換例</a></li><li><a href="#toc21" tabindex="0">8進数の2の補数の読み方</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">DEC2OCT関数とExcelの互換性</a></li><li><a href="#toc27" tabindex="0">DECシリーズ3関数の比較</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">8進数は0〜7の数字（合計8種類）で数値を表す方法です。10進数の「7」は8進数でも「7」ですが、「8」は8進数で「10」に繰り上がります。</p>



<p class="wp-block-paragraph">Linuxのファイルパーミッション（アクセス権限）の設定では、8進数が広く使われています。<code>chmod 755</code> の「755」が3桁の8進数で、所有者・グループ・その他のユーザーそれぞれに「読み取り(4)+書き込み(2)+実行(1)」の組み合わせを1〜7の数字で表したものです。DEC2OCT関数を使えば、10進数の権限値を8進数のchmod値に変換できますよ。</p>



<p class="wp-block-paragraph">たとえば <code>=DEC2OCT(58, 3)</code> と入力すると、結果は「072」です。10進数の58が8進数では72であることと、3桁にゼロ埋めされることがわかります。</p>



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



<p class="wp-block-paragraph">関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>OCT</strong> = Octal（オクタル、8進数）</li></ul>



<p class="wp-block-paragraph">つまり「DECからOCTへ」、10進数を8進数に変換するという意味がそのまま名前になっています。逆変換のOCT2DEC関数とセットで覚えると便利ですよ。</p>



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



<p class="wp-block-paragraph">DEC2OCT関数の特徴をまとめると、次のとおりです。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DEC2OCT関数は<a href="https://mashukabu.com/spreadsheet-dec2bin-function/">DEC2BIN関数</a>（10進→2進）や<a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX関数</a>（10進→16進）と同じ「DECシリーズ」の関数です。変換先の基数だけが違うので、一度覚えると他の変換関数も使いやすくなりますよ。</p></blockquote>



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



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



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



<p class="wp-block-paragraph">カッコの中に、変換したい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>8進数に変換したい10進数。-536,870,912〜536,870,911の範囲で指定する</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 class="wp-block-paragraph">数値に指定できるのは、次の条件を満たす値だけです。</p>



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



<p class="wp-block-paragraph">DEC2BINが-512〜511の狭い範囲なのに対して、DEC2OCTは約5億という広い範囲を扱えます。</p>



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



<p class="wp-block-paragraph">桁数のルールは、次のとおりです。</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>DEC2OCT関数の戻り値は数値ではなく「文字列」です。そのまま計算に使おうとすると文字列として扱われます。8進数を10進数に戻して計算したい場合はOCT2DEC関数を使ってくださいね。</p></blockquote>



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



<p class="wp-block-paragraph">DEC2OCT関数の動きをイメージしやすくするため、よく使う値の対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>10進数</th><th>8進数（DEC2OCT）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&nbsp;</td></tr><tr><td>7</td><td>7</td><td>8進数最大の1桁</td></tr><tr><td>8</td><td>10</td><td>8進数の繰り上がり</td></tr><tr><td>64</td><td>100</td><td>8^2</td></tr><tr><td>100</td><td>144</td><td>1×64 + 4×8 + 4</td></tr><tr><td>255</td><td>377</td><td>3×64 + 7×8 + 7</td></tr><tr><td>493</td><td>755</td><td>chmod 755の10進数</td></tr><tr><td>420</td><td>644</td><td>chmod 644の10進数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">8進数は「8の累乗の足し算」で値が決まります。右から順に1、8、64、512&#8230;と位が重みを持つイメージですね。</p>



<p class="wp-block-paragraph">たとえば10進数の「493」は、7×64 + 5×8 + 5 = 448+40+5 で、8進数にすると <code>755</code> になります。Linuxのchmodで「755」として設定する値の正体がこれですよ。</p>



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



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



<p class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=DEC2OCT(8)</code></pre>



<p class="wp-block-paragraph">結果は「10」です。10進数の8は、8進数では「8の位が1、1の位が0」で <code>10</code> になります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_dec2oct-basic.png" alt="02 formula dec2oct basic" /></figure>



<pre class="wp-block-code"><code>=DEC2OCT(255)</code></pre>



<p class="wp-block-paragraph">結果は「377」です。255 = 3×64 + 7×8 + 7 の計算から、8進数では「377」になります。</p>



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



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



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



<p class="wp-block-paragraph">結果は「755」です。Linuxのchmod 755に相当する8進数値が求められます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_dec2oct-basic.png" alt="03 result dec2oct basic" /></figure>



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



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



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



<p class="wp-block-paragraph">A2からA10までの10進数データを、1つの数式で一気に8進数に変換できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 10進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>8</td><td>=ARRAYFORMULA(DEC2OCT(A2:A6))</td><td>10</td></tr><tr><td>64</td><td>↓</td><td>100</td></tr><tr><td>100</td><td>↓</td><td>144</td></tr><tr><td>255</td><td>↓</td><td>377</td></tr><tr><td>493</td><td>↓</td><td>755</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">DEC2OCT関数の第2引数「桁数」を使うと、出力の文字数を揃えられます。chmod管理表など桁を統一したい場面で便利ですよ。</p>



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



<p class="wp-block-paragraph">Linuxのchmod値は3桁の8進数で表すのが慣習です。DEC2OCTで3桁固定にしておくと、管理表が読みやすくなります。</p>



<pre class="wp-block-code"><code>=DEC2OCT(58, 3)</code></pre>



<p class="wp-block-paragraph">結果は「072」です。桁数を省略すると「72」とだけ表示されますが、3を指定したことで先頭に「0」が追加されました。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>用途</th></tr></thead><tbody><tr><td>=DEC2OCT(8, 3)</td><td>010</td><td>3桁固定</td></tr><tr><td>=DEC2OCT(58, 3)</td><td>072</td><td>公式ドキュメントの例</td></tr><tr><td>=DEC2OCT(255, 3)</td><td>377</td><td>3桁で収まる</td></tr><tr><td>=DEC2OCT(493, 3)</td><td>755</td><td>chmod 755相当</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_dec2oct-places.png" alt="04 result dec2oct places" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>chmod値は0〜777（10進数で0〜511）の範囲に収まるので、3桁固定で問題なく揃えられます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">実務活用例：Linuxファイルパーミッション管理</span></h2>



<p class="wp-block-paragraph">DEC2OCT関数の最も実用的な活用例が、Linuxファイルパーミッション（chmod）の管理です。サーバー設定やインフラ管理をスプレッドシートで記録している場合に役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc17">chmod値の一覧表を作る</span></h3>



<p class="wp-block-paragraph">Linuxのchmodは3桁の8進数で、所有者・グループ・その他の各権限（読取=4、書込=2、実行=1の合計）を指定します。よく使う設定を変換表にまとめると、設定時の確認がスムーズになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>設定内容</th><th>10進数</th><th>chmod（8進数）</th></tr></thead><tbody><tr><td>所有者のみ全権限</td><td>448</td><td>=DEC2OCT(448, 3) → 700</td></tr><tr><td>通常のWebファイル</td><td>420</td><td>=DEC2OCT(420, 3) → 644</td></tr><tr><td>通常のWebディレクトリ</td><td>493</td><td>=DEC2OCT(493, 3) → 755</td></tr><tr><td>全員に全権限</td><td>511</td><td>=DEC2OCT(511, 3) → 777</td></tr><tr><td>全員に読取のみ</td><td>292</td><td>=DEC2OCT(292, 3) → 444</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">権限ビットから8進数への変換</span></h3>



<p class="wp-block-paragraph">各権限（読取=4、書込=2、実行=1）の合計を10進数で管理しているデータがある場合、次の計算でchmod値を求められます。</p>



<pre class="wp-block-code"><code>=(所有者権限値)*64 + (グループ権限値)*8 + (その他権限値)
=DEC2OCT(結果, 3)</code></pre>



<p class="wp-block-paragraph">たとえば所有者=rwx(7)、グループ=r-x(5)、その他=r-x(5)の場合:</p>



<pre class="wp-block-code"><code>=7*64 + 5*8 + 5 → 493
=DEC2OCT(493, 3) → 755</code></pre>



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



<p class="wp-block-paragraph">DEC2OCT関数で負の数を変換すると、30ビット（10桁8進数）の2の補数表現が返されます。</p>



<h3 class="wp-block-heading"><span id="toc20">負の数の変換例</span></h3>



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



<p class="wp-block-paragraph">結果は「7777777634」（10桁）です。</p>



<pre class="wp-block-code"><code>=DEC2OCT(-1)</code></pre>



<p class="wp-block-paragraph">結果は「7777777777」（10桁すべて7）です。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=DEC2OCT(-1)</td><td>7777777777</td><td>10桁固定（全ビット1）</td></tr><tr><td>=DEC2OCT(-100)</td><td>7777777634</td><td>10桁固定</td></tr><tr><td>=DEC2OCT(-536870912)</td><td>4000000000</td><td>負の最小値</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>



<h3 class="wp-block-heading"><span id="toc21">8進数の2の補数の読み方</span></h3>



<p class="wp-block-paragraph">先頭の8進数が「4」以上なら負の数を表しています。30ビットの符号付き整数として、先頭ビット（最上位ビット）が1なら負の数です。</p>



<ul class="wp-block-list"><li>正の数: 先頭が0〜3（最大 3777777777）</li><li>負の数: 先頭が4〜7（最小 4000000000）</li></ul>



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



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



<p class="wp-block-paragraph">次のいずれかに当てはまると #NUM! エラーになります。</p>



<ul class="wp-block-list"><li>数値が範囲外（-536,870,912 未満または 536,870,911 超）</li><li>桁数に 0 以下の値を指定した</li><li>桁数に結果の桁数より少ない値を指定した</li></ul>



<pre class="wp-block-code"><code>=DEC2OCT(600000000)   → #NUM!（範囲外）
=DEC2OCT(255, 2)      → #NUM!（255の8進は&quot;377&quot;で3桁、2桁は不足）</code></pre>



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



<p class="wp-block-paragraph">数値や桁数に数値型でない値（文字列など）を直接指定すると #VALUE! エラーになります。</p>



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



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



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



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



<p class="wp-block-paragraph">A2に範囲外の値や文字列が入っていた場合でも、「エラー」と表示して処理が止まりません。</p>



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



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



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



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



<p class="wp-block-paragraph">DECシリーズの3関数を比較すると、変換先と扱える範囲が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>有効範囲（正）</th><th>負の数桁数</th><th>主な用途</th></tr></thead><tbody><tr><td>DEC2BIN</td><td>2進数</td><td>0〜511</td><td>10桁</td><td>ビットフラグ・IPアドレス</td></tr><tr><td>DEC2OCT</td><td>8進数</td><td>0〜536,870,911</td><td>10桁</td><td>Linuxパーミッション（chmod）</td></tr><tr><td>DEC2HEX</td><td>16進数</td><td>0〜549,755,813,887</td><td>10桁</td><td>カラーコード・メモリアドレス</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">DEC2OCTはDEC2BINの約100万倍の範囲を扱えます。chmod値（最大511）は余裕でカバーできますよ。</p>



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



<p class="wp-block-paragraph">DEC2OCT関数は、10進数を8進数に変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=DEC2OCT(数値, [桁数])</code></li><li>有効範囲: -536,870,912〜536,870,911</li><li>桁数を指定するとゼロ埋めで出力できる</li><li>負の数は常に10桁（30ビット2の補数）で返される</li><li>Linuxのchmod（ファイルパーミッション）管理で特に活用される</li></ul>



<p class="wp-block-paragraph"><code>=DEC2OCT(493, 3)</code> のようにchmod値（10進数）を3桁の8進数に変換するパターンは、サーバー設定管理表で重宝しますよ。</p>



<p class="wp-block-paragraph">逆変換にはOCT2DEC関数を使います。またDEC2BINや<a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX関数</a>と組み合わせれば、さまざまな基数変換をスプレッドシート上で完結できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dec2oct-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 class="wp-block-paragraph">「10進数で管理しているフラグ値を、そのまま2進数のビット列として確認したい&#8230;」</p>



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">関数名を分解すると、次の意味になります。</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 class="wp-block-paragraph">つまり「DECからBINへ」、10進数を2進数に変換するという意味がそのまま名前になっています。逆変換のBIN2DEC関数とセットで覚えると便利ですよ。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">カッコの中に、変換したい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 class="wp-block-paragraph">数値に指定できるのは、次の条件を満たす値だけです。</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 class="wp-block-paragraph">桁数のルールは、次のとおりです。</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 class="wp-block-paragraph">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 class="wp-block-paragraph">2進数は「2の累乗の足し算」で値が決まります。右から順に1、2、4、8、16&#8230;と位が重みを持つイメージですね。</p>



<p class="wp-block-paragraph">たとえば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>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



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



<p class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



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



<p class="wp-block-paragraph">結果は「1001」です。10進数の9は、2進数で <code>1001</code>（8+1）ですね。</p>



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



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



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



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_dec2bin-basic.png" alt="02 formula dec2bin basic" /></figure>



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_dec2bin-basic.png" alt="03 result dec2bin basic" /></figure>



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">DEC2BIN関数のもう一つの便利な特徴が、第2引数の「桁数」です。これを指定すると、結果の文字数を揃えられますよ。</p>



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



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_formula_dec2bin-padded.png" alt="04 formula dec2bin padded" /></figure>



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_dec2bin-padded.png" alt="05 result dec2bin padded" /></figure>



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">各ビットがどのフラグに対応しているかを表と照らし合わせれば、権限の設定ミスもすぐに見つけられますね。</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 class="wp-block-paragraph">DEC2BIN関数は負の数にも対応しています。負の数は「2の補数」という方式で表現されますよ。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">負の数を指定すると、結果は必ず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 class="wp-block-paragraph">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 class="wp-block-paragraph">結果は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 class="wp-block-paragraph">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>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/06_error_num.png" alt="06 error num" /></figure>



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



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



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



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



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



<p class="wp-block-paragraph">桁数指定が小さすぎるとエラーになります。</p>



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



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



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



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



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



<p class="wp-block-paragraph">ゼロ埋めを維持したい場合は、貼り付け先のセルの表示形式を「書式なしテキスト」に設定しておくと安全です。あるいは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 class="wp-block-paragraph">Googleスプレッドシートには、2進数・8進数・10進数・16進数を相互に変換する関数が12種類あります。DEC2BIN関数はその1つですよ。</p>



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">既に<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 class="wp-block-paragraph">スプレッドシートのDEC2BIN関数は、10進数を2進数に変換するエンジニアリング関数です。</p>



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



<p class="wp-block-paragraph">姉妹記事の<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>スプレッドシートのDEC2HEX関数の使い方｜10進→16進</title>
		<link>https://mashukabu.com/spreadsheet-dec2hex-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dec2hex-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:22 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[DEC2HEX]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[カラーコード]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6245</guid>

					<description><![CDATA[GoogleスプレッドシートのDEC2HEX関数の使い方を解説。10進数を16進数に変換する基本から、桁数指定（ゼロ埋め）、RGBカラーコード変換、負の数の扱い、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「RGB値（赤・緑・青の数値）をWebカラーコードに変換したいのに、計算が面倒&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートでデザインやWeb制作の作業をしていると、10進数の数値を16進数で表現したい場面が出てきます。255を「FF」、0を「00」に変換するといった作業を手計算でやるのは、慣れていないと大変ですよね。</p>



<p class="wp-block-paragraph">そんなときに役立つのがGoogleスプレッドシートのDEC2HEX関数です。10進数のセルを指定するだけで、16進数の文字列にすぐ変換できますよ。</p>



<p class="wp-block-paragraph">しかも桁数を指定してゼロ埋めできるので、RGBカラーコード（<code>#FF0000</code>のような形式）をスプレッドシート上で自動生成することも可能です。Excelとも互換性があるため、ファイルをやり取りする現場でも安心して使えますね。</p>



<p class="wp-block-paragraph">この記事では、DEC2HEX関数の基本から桁数指定・カラーコード生成・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</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">DEC2HEX関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">DEC2HEX関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2HEX関数の書き方（構文と引数）</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進数と16進数の対応表</a></li><li><a href="#toc10" tabindex="0">DEC2HEX関数の基本的な使い方</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">2桁固定フォーマット出力</a></li></ol></li><li><a href="#toc16" tabindex="0">実務活用例：RGBカラーコード変換</a><ol><li><a href="#toc17" tabindex="0">RGBからWebカラーコード（#RRGGBB）を作る</a></li></ol></li><li><a href="#toc18" tabindex="0">負の数の変換（2の補数・40ビット）</a><ol><li><a href="#toc19" tabindex="0">負の数の変換例</a></li><li><a href="#toc20" tabindex="0">16進数の2の補数の読み方</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">#VALUE! エラー</a></li><li><a href="#toc24" tabindex="0">エラー対処：IFERRORで包む</a></li></ol></li><li><a href="#toc25" tabindex="0">DEC2HEX関数とExcelの互換性</a></li><li><a href="#toc26" tabindex="0">DECシリーズ3関数の比較</a></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">16進数は0〜9の数字とA〜Fのアルファベット（合計16種類）で数値を表す方法です。10進数の「10」は16進数の「A」、「15」は「F」、「16」は「10」になります。</p>



<p class="wp-block-paragraph">WebデザインやCSS、データ通信の分野では16進数がよく登場します。特にWebカラーコード（<code>#FF0000</code>のような<code>#RRGGBB</code>形式）は、RGBそれぞれの数値を2桁の16進数で表したものです。DEC2HEX関数を使えば、この変換作業をスプレッドシートで自動化できますよ。</p>



<p class="wp-block-paragraph">たとえば <code>=DEC2HEX(255)</code> と入力すると、結果は「FF」です。10進数の255（1バイトの最大値）が、16進数ではたった2文字で表現されることがわかります。</p>



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



<p class="wp-block-paragraph">関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>HEX</strong> = Hexadecimal（ヘキサデシマル、16進数）</li></ul>



<p class="wp-block-paragraph">つまり「DECからHEXへ」、10進数を16進数に変換するという意味がそのまま名前になっています。逆変換のHEX2DEC関数とセットで覚えると便利ですよ。</p>



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



<p class="wp-block-paragraph">DEC2HEX関数の特徴をまとめると、次のとおりです。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DEC2HEX関数は<a href="https://mashukabu.com/spreadsheet-dec2bin-function/">DEC2BIN関数</a>（10進→2進）や<a href="https://mashukabu.com/spreadsheet-dec2oct-function/">DEC2OCT関数</a>（10進→8進）と同じ「DECシリーズ」の関数です。変換先の基数だけが違うので、一度覚えると他の変換関数も使いやすくなりますよ。</p></blockquote>



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



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



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



<p class="wp-block-paragraph">カッコの中に、変換したい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>16進数に変換したい10進数。-549,755,813,888〜549,755,813,887の範囲で指定する</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 class="wp-block-paragraph">数値に指定できるのは、次の条件を満たす値だけです。</p>



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



<p class="wp-block-paragraph">DEC2BINが-512〜511の狭い範囲なのに対して、DEC2HEXは約5,500億という非常に広い範囲を扱えます。</p>



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



<p class="wp-block-paragraph">桁数のルールは、次のとおりです。</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>DEC2HEX関数の戻り値は数値ではなく「文字列」です。そのまま計算に使おうとすると文字列として扱われます。16進数を10進数に戻して計算したい場合はHEX2DEC関数を使ってくださいね。</p></blockquote>



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



<p class="wp-block-paragraph">DEC2HEX関数の動きをイメージしやすくするため、よく使う値の対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>10進数</th><th>16進数（DEC2HEX）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&nbsp;</td></tr><tr><td>9</td><td>9</td><td>&nbsp;</td></tr><tr><td>10</td><td>A</td><td>Aが10を表す</td></tr><tr><td>15</td><td>F</td><td>Fが15を表す</td></tr><tr><td>16</td><td>10</td><td>16進数の繰り上がり</td></tr><tr><td>100</td><td>64</td><td>6×16 + 4</td></tr><tr><td>255</td><td>FF</td><td>1バイトの最大値</td></tr><tr><td>256</td><td>100</td><td>2バイト目に繰り上がり</td></tr><tr><td>65535</td><td>FFFF</td><td>2バイトの最大値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">16進数は「16の累乗の足し算」で値が決まります。右から順に1、16、256、4096&#8230;と位が重みを持つイメージですね。</p>



<p class="wp-block-paragraph">たとえば10進数の「255」は、16×15 + 15 = 240+15 で、16進数にすると <code>FF</code> になります。Webカラーコードの <code>#FF0000</code>（純粋な赤）の「FF」がまさにこの値ですよ。</p>



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



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



<p class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=DEC2HEX(255)</code></pre>



<p class="wp-block-paragraph">結果は「FF」です。1バイト（0〜255）の最大値を16進数で表すと、2文字で済みますね。</p>



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



<p class="wp-block-paragraph">結果は「64」です。100 = 6×16 + 4 の計算から、16進数では「64」になります。</p>



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



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



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



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-dec2hex-function/02_formula_dec2hex-basic.png/">_images/spreadsheet-dec2hex-function/02_formula_dec2hex-basic.png</a></p>



<p class="wp-block-paragraph">結果は「FF」です。セル参照でも直接入力と同じように動作します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_dec2hex-basic.png" alt="03 result dec2hex basic" /></figure>



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



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



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



<p class="wp-block-paragraph">A2からA10までの10進数データを、1つの数式で一気に16進数に変換できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 10進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>0</td><td>=ARRAYFORMULA(DEC2HEX(A2:A6))</td><td>0</td></tr><tr><td>100</td><td>↓</td><td>64</td></tr><tr><td>255</td><td>↓</td><td>FF</td></tr><tr><td>65535</td><td>↓</td><td>FFFF</td></tr><tr><td>16777215</td><td>↓</td><td>FFFFFF</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">DEC2HEX関数の第2引数「桁数」を使うと、出力の文字数を揃えられます。RGBカラーコード変換でとくに便利な機能ですよ。</p>



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



<p class="wp-block-paragraph">Webカラーコードは「RGB各色を2桁の16進数」で表します。DEC2HEXで2桁固定にしておくと、コードが崩れません。</p>



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



<p class="wp-block-paragraph">結果は「05」です。桁数を省略すると「5」とだけ表示されますが、2を指定したことで先頭に「0」が追加されました。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>用途</th></tr></thead><tbody><tr><td>=DEC2HEX(0, 2)</td><td>00</td><td>最小値（カラーコードの色なし）</td></tr><tr><td>=DEC2HEX(5, 2)</td><td>05</td><td>2桁固定</td></tr><tr><td>=DEC2HEX(255, 2)</td><td>FF</td><td>最大値（最も強い色）</td></tr><tr><td>=DEC2HEX(128, 2)</td><td>80</td><td>中間値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-dec2hex-function/04_result_dec2hex-places.png/">_images/spreadsheet-dec2hex-function/04_result_dec2hex-places.png</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>1バイト（0〜255）の16進数は必ず2桁以内に収まるので、桁数に「2」を指定すると安全に揃えられます。3桁以上のRGB値は通常存在しないので、2桁固定で問題ありませんよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">実務活用例：RGBカラーコード変換</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数の最も身近な実務活用例が、RGBカラーコードの生成です。デザイン作業やCSSスタイル管理をスプレッドシートで行う場合に役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc17">RGBからWebカラーコード（#RRGGBB）を作る</span></h3>



<p class="wp-block-paragraph">RGBの3つの数値（各0〜255）を16進数2桁に変換して連結すれば、Webカラーコードが完成します。</p>



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



<p class="wp-block-paragraph">A2に赤(R)、B2に緑(G)、C2に青(B)の数値が入っている場合、この数式でカラーコードを自動生成できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>R（赤）</th><th>G（緑）</th><th>B（青）</th><th>カラーコード</th></tr></thead><tbody><tr><td>255</td><td>0</td><td>0</td><td>#FF0000（赤）</td></tr><tr><td>0</td><td>128</td><td>0</td><td>#008000（緑）</td></tr><tr><td>0</td><td>0</td><td>255</td><td>#0000FF（青）</td></tr><tr><td>255</td><td>165</td><td>0</td><td>#FFA500（オレンジ）</td></tr><tr><td>128</td><td>0</td><td>128</td><td>#800080（紫）</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_dec2hex-colorcode.png" alt="05 result dec2hex colorcode" /></figure>



<p class="wp-block-paragraph">デザインの色管理表をスプレッドシートで作っておけば、CSS作業のときにコピペするだけで済みますよ。</p>



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



<p class="wp-block-paragraph">DEC2HEX関数で負の数を変換すると、40ビット（10桁16進数）の2の補数表現が返されます。</p>



<h3 class="wp-block-heading"><span id="toc19">負の数の変換例</span></h3>



<pre class="wp-block-code"><code>=DEC2HEX(-1)</code></pre>



<p class="wp-block-paragraph">結果は「FFFFFFFFFF」（10桁すべてF）です。40ビットすべてが1になる、2の補数表現の特徴的な値です。</p>



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



<p class="wp-block-paragraph">結果は「FFFFFFFF9C」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=DEC2HEX(-1)</td><td>FFFFFFFFFF</td><td>10桁固定</td></tr><tr><td>=DEC2HEX(-100)</td><td>FFFFFFFF9C</td><td>10桁固定</td></tr><tr><td>=DEC2HEX(-549755813888)</td><td>8000000000</td><td>負の最小値</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桁で返されるため、2桁や4桁を指定しても10桁の結果になりますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc20">16進数の2の補数の読み方</span></h3>



<p class="wp-block-paragraph">先頭の16進数が「8」以上（8〜F）なら負の数を表しています。これはDEC2BINで先頭ビットが1なら負の数というのと同じ仕組みです。</p>



<ul class="wp-block-list"><li>正の数: 先頭が0〜7</li><li>負の数: 先頭が8〜F</li></ul>



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



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



<p class="wp-block-paragraph">次のいずれかに当てはまると #NUM! エラーになります。</p>



<ul class="wp-block-list"><li>数値が範囲外（-549,755,813,888 未満または 549,755,813,887 超）</li><li>桁数に 0 以下の値を指定した</li><li>桁数に結果の桁数より少ない値を指定した</li></ul>



<pre class="wp-block-code"><code>=DEC2HEX(1000000000000)  → #NUM!（範囲外）
=DEC2HEX(255, 1)         → #NUM!（255のHEXは&quot;FF&quot;で2桁、1桁は不足）</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/06_error_num.png" alt="06 error num" /></figure>



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



<p class="wp-block-paragraph">数値や桁数に数値型でない値（文字列など）を直接指定すると #VALUE! エラーになります。</p>



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



<p class="wp-block-paragraph">セル参照の場合はセルが空でも「0」として扱われることがありますが、文字列が入ったセルを直接参照した場合はエラーになります。</p>



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



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



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



<p class="wp-block-paragraph">A2に範囲外の値や文字列が入っていた場合でも、「エラー」と表示して処理が止まりません。</p>



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



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



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Excelでは2007年以降は標準搭載ですが、2003以前のバージョンでは「分析ツールアドイン」の有効化が必要でした。現在のExcel環境では気にする必要はほぼありませんが、古いファイルを引き継ぐ場合は注意してください。</p></blockquote>



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



<p class="wp-block-paragraph">DECシリーズの3関数を比較すると、変換先と扱える範囲が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>有効範囲（正）</th><th>負の数桁数</th><th>主な用途</th></tr></thead><tbody><tr><td>DEC2BIN</td><td>2進数</td><td>0〜511</td><td>10桁</td><td>ビットフラグ・IPアドレス</td></tr><tr><td>DEC2OCT</td><td>8進数</td><td>0〜536,870,911</td><td>10桁</td><td>Linuxパーミッション（chmod）</td></tr><tr><td>DEC2HEX</td><td>16進数</td><td>0〜549,755,813,887</td><td>10桁</td><td>カラーコード・メモリアドレス</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">DEC2HEXは3つの中でもっとも広い範囲を扱えます。メモリアドレスや大きな識別子を16進数で管理する場面でも使えますよ。</p>



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



<p class="wp-block-paragraph">DEC2HEX関数は、10進数を16進数に変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=DEC2HEX(数値, [桁数])</code></li><li>有効範囲: -549,755,813,888〜549,755,813,887</li><li>桁数を指定するとゼロ埋めで出力できる</li><li>負の数は常に10桁（40ビット2の補数）で返される</li><li>RGBカラーコード変換で最もよく活用される</li></ul>



<p class="wp-block-paragraph">特に <code>="#"&DEC2HEX(R, 2)&DEC2HEX(G, 2)&DEC2HEX(B, 2)</code> のカラーコード生成パターンは、デザイン管理やCSS作業で重宝しますよ。</p>



<p class="wp-block-paragraph">逆変換にはHEX2DEC関数を使います。またDEC2BINやDEC2OCTと組み合わせれば、さまざまな基数変換をスプレッドシート上で完結できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dec2hex-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 class="wp-block-paragraph">「機器から出力されたログが2進数のまま並んでいて、集計がまったく進まない&#8230;」</p>



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



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



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



<p class="wp-block-paragraph">この記事では、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-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">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 class="wp-block-paragraph">BIN2DEC関数（読み方: ビントゥデック / バイナリ・トゥ・デシマル）は、<strong>2進数を10進数に変換するエンジニアリング関数</strong>です。</p>



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



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



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



<p class="wp-block-paragraph">関数名を分解すると、次の意味になります。</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 class="wp-block-paragraph">つまり「BINからDECへ」、2進数を10進数に変換するという意味がそのまま名前になっています。基数変換系の関数はすべて同じ命名ルールです。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">カッコの中に、変換したい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 class="wp-block-paragraph">引数は1つだけです。他の基数変換関数と異なり、桁数を指定する引数はありません。</p>



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



<p class="wp-block-paragraph">数値に指定できるのは、次の条件を満たす値だけです。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



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



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-bin2dec-function/02_formula_bin2dec-basic.png/">_images/spreadsheet-bin2dec-function/02_formula_bin2dec-basic.png</a></p>



<p class="wp-block-paragraph">結果は「10」です。2進数の <code>1010</code> は、10進数では <code>10</code> にあたります。</p>



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



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



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



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



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



<p class="wp-block-paragraph">結果は「25」です。2進数の <code>11001</code> は、10進数の <code>25</code> にあたります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_bin2dec-basic.png" alt="03 result bin2dec basic" /></figure>



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



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



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



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



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



<p class="wp-block-paragraph">具体例を見ていきましょう。</p>



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



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



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



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



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



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



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-bin2dec-function/04_result_bin2dec-signed.png/">_images/spreadsheet-bin2dec-function/04_result_bin2dec-signed.png</a></p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">同じ「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 class="wp-block-paragraph">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>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_error_num-value.png" alt="05 error num value" /></figure>



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



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



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



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



<p class="wp-block-paragraph">桁数オーバーも見落としがちです。</p>



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



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



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



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



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



<p class="wp-block-paragraph">これで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 class="wp-block-paragraph">Googleスプレッドシートには、2進数・8進数・10進数・16進数を相互に変換する関数が12種類あります。BIN2DEC関数はその1つです。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">基数変換関数の命名ルールは「変換元 + 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 class="wp-block-paragraph">たとえば「2進数を16進数にしたい」なら、BIN（2進数）+ 2 + HEX（16進数）で「BIN2HEX関数」になる、という具合ですね。</p>



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



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



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



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



<p class="wp-block-paragraph">既に<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 class="wp-block-paragraph">スプレッドシートならではの強みは、ARRAYFORMULA関数との組み合わせです。</p>



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



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



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



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



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



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



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



<p class="wp-block-paragraph">BIN2DEC関数は、2進数を10進数に変換するエンジニアリング関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</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 class="wp-block-paragraph">まずは <code>=BIN2DEC("1010")</code> で「10」が返ることを試してみてください。関数の動きがつかめたら、符号付き2進数や関連関数も使いこなせるようになりますよ。</p>



<p class="wp-block-paragraph">基数変換の姉妹記事として、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>ExcelのHEX2DEC関数｜16進数を10進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-hex2dec/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-hex2dec/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 16 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[HEX2DEC]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2548</guid>

					<description><![CDATA[ExcelのHEX2DEC関数で16進数を10進数に変換する方法を解説。書式・引数・2の補数の扱い・#NUM!エラー対策・カラーコードのRGB取得例まで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「16進数を10進数に変換したいけど、計算が面倒&#8230;」</p>



<p class="wp-block-paragraph">Excelには、この変換を一瞬で行える関数があります。それがHEX2DEC関数です。</p>



<p class="wp-block-paragraph">カラーコードの解析やシステムログの確認など、16進数を10進数に変換する場面は意外と多いもの。でも手作業で変換するのはミスのもとですよね。</p>



<p class="wp-block-paragraph">この記事では、ExcelのHEX2DEC関数の基本から2の補数の仕組み、エラー対策まで解説します。</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">ExcelのHEX2DEC関数とは</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></ol></li><li><a href="#toc5" tabindex="0">HEX2DEC関数の書式と引数</a><ol><li><a href="#toc6" tabindex="0">引数のルール</a></li><li><a href="#toc7" tabindex="0">変換できる数値の範囲</a></li><li><a href="#toc8" tabindex="0">戻り値は数値型</a></li></ol></li><li><a href="#toc9" tabindex="0">HEX2DEC関数の使い方</a><ol><li><a href="#toc10" tabindex="0">正の16進数を変換する</a></li><li><a href="#toc11" tabindex="0">負の数を変換する（2の補数）</a></li><li><a href="#toc12" tabindex="0">カラーコードのRGB値を取得する</a></li></ol></li><li><a href="#toc13" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#NUM!エラー：10文字を超えている</a></li><li><a href="#toc15" tabindex="0">#NUM!エラー：16進数に使えない文字を含む</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">HEX2BIN・HEX2OCTとの違い</a><ol><li><a href="#toc19" tabindex="0">引数・戻り値型・変換範囲の比較表</a></li></ol></li><li><a href="#toc20" tabindex="0">進数変換12関数一覧</a></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">HEX2DEC関数は、<strong>16進数を10進数に変換するExcelの関数</strong>です。</p>



<p class="wp-block-paragraph">16進数は「0〜9」と「A〜F」の16種類の文字で数を表します。一方、10進数は普段使っている0〜9の数です。</p>



<p class="wp-block-paragraph">たとえば16進数の「FF」は10進数で「255」です。HEX2DEC関数を使えば、この変換を自動で行えます。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の読み方と意味</span></h3>



<p class="wp-block-paragraph">読み方は「ヘックス・ツー・デシマル」です。</p>



<ul class="wp-block-list"><li><strong>HEX</strong> = Hexadecimal（ヘクサデシマル、16進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li></ul>



<p class="wp-block-paragraph">つまり「16進数から10進数へ」という意味です。関数名がそのまま機能を表しているので覚えやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">どんなときに使うか</span></h3>



<p class="wp-block-paragraph">HEX2DEC関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>カラーコード（#FF6600など）からRGB値を数値で取得したいとき</li><li>ネットワークログの16進数アドレスを10進数で確認したいとき</li><li>システムのエラーコード（16進数表記）を10進数に変換したいとき</li><li>情報処理試験の勉強で進数変換を練習したいとき</li></ul>



<h3 class="wp-block-heading"><span id="toc4">対応バージョン</span></h3>



<p class="wp-block-paragraph">Excel 2007以降は標準搭載されています。アドインの追加は不要です。</p>



<p class="wp-block-paragraph">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="toc5">HEX2DEC関数の書式と引数</span></h2>



<p class="wp-block-paragraph">基本構文は次のとおりです。</p>



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



<p class="wp-block-paragraph">引数は1つだけです。<a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT関数</a>にある「桁数」引数はありません。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>10進数に変換したい16進数</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">「数値」には10進数に変換したい16進数を指定します。</p>



<p class="wp-block-paragraph">直接値を入力してもセル参照でもOKです。指定できるのは<strong>最大10文字</strong>（40ビット）までです。</p>



<p class="wp-block-paragraph">大文字・小文字は区別されません。「1F」でも「1f」でも同じ結果（31）になります。</p>



<h3 class="wp-block-heading"><span id="toc7">変換できる数値の範囲</span></h3>



<p class="wp-block-paragraph">HEX2DEC関数が変換できる範囲は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>区分</th><th>16進数</th><th>10進数</th></tr></thead><tbody><tr><td>正の最大値</td><td>7FFFFFFFFF</td><td>549,755,813,887（約5,498億）</td></tr><tr><td>負の最小値</td><td>8000000000</td><td>-549,755,813,888（約-5,498億）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">40ビットの2の補数で表現されるため、この範囲になります。<a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN関数</a>（-512〜511）や<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT関数</a>（約-5.4億〜約5.4億）と比べて非常に広い範囲を扱えますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">戻り値は数値型</span></h3>



<p class="wp-block-paragraph">HEX2DEC関数の戻り値は<strong>数値型</strong>です。</p>



<p class="wp-block-paragraph">ここが<a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT関数</a>との大きな違いです。HEX2BINとHEX2OCTはテキスト型を返します。一方、HEX2DECは数値を返します。</p>



<p class="wp-block-paragraph">そのため、結果をそのまま計算に使えます。SUMやAVERAGEなどの数値関数と組み合わせても問題ありません。</p>



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



<p class="wp-block-paragraph">結果は「15」です。10進数の数値として返るので、後続の計算にそのまま組み込めますよ。</p>



<h2 class="wp-block-heading"><span id="toc9">HEX2DEC関数の使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc10">正の16進数を変換する</span></h3>



<p class="wp-block-paragraph">まずは正の数を変換してみましょう。</p>



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



<p class="wp-block-paragraph">結果は <strong>255</strong> です。16進数のFFは、10進数で255になります。</p>



<p class="wp-block-paragraph">変換の仕組みを確認しておきます。各桁に16のべき乗を掛けて合計します。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>F（=15）</th><th>F（=15）</th></tr></thead><tbody><tr><td>位の重み</td><td>16^1 = 16</td><td>16^0 = 1</td></tr><tr><td>計算</td><td>15 × 16 = 240</td><td>15 × 1 = 15</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">合計は 240 + 15 = <strong>255</strong> です。</p>



<p class="wp-block-paragraph">よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>出力（10進数）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&nbsp;</td></tr><tr><td>A</td><td>10</td><td>&nbsp;</td></tr><tr><td>F</td><td>15</td><td>1桁の最大値</td></tr><tr><td>10</td><td>16</td><td>16進数の桁上がり</td></tr><tr><td>1F</td><td>31</td><td>&nbsp;</td></tr><tr><td>FF</td><td>255</td><td>8ビットの最大値</td></tr><tr><td>100</td><td>256</td><td>&nbsp;</td></tr><tr><td>FFFF</td><td>65535</td><td>16ビットの最大値</td></tr><tr><td>7FFFFFFFFF</td><td>549,755,813,887</td><td>正の最大値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セルの値を参照して変換することもできます。A1に「1A」が入っているとします。</p>



<pre class="wp-block-code"><code>=HEX2DEC(A1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>26</strong> です。参照先の値を変えれば結果も自動で更新されます。複数の値をまとめて変換したいときに活用してみてください。</p>



<h3 class="wp-block-heading"><span id="toc11">負の数を変換する（2の補数）</span></h3>



<p class="wp-block-paragraph">HEX2DEC関数は、負の数も変換できます。40ビットの<strong>2の補数</strong>（にのほすう）で表現された16進数を指定すると、負の10進数が返ります。</p>



<p class="wp-block-paragraph">2の補数とは、コンピュータが負の整数を表す仕組みです。最上位ビット（第40ビット）が「1」なら負の数を意味します。</p>



<p class="wp-block-paragraph">16進数では、<strong>8〜Fで始まる10文字</strong>の値が負の数です。最上位の4ビットが1000〜1111（16進数で8〜F）になるためです。</p>



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



<p class="wp-block-paragraph">結果は <strong>-1</strong> です。全桁Fの値は、2の補数で-1を意味します。</p>



<p class="wp-block-paragraph">負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>出力（10進数）</th><th>備考</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>-1</td><td>全桁F</td></tr><tr><td>FFFFFFFFFE</td><td>-2</td><td>&nbsp;</td></tr><tr><td>FFFFFFFF5B</td><td>-165</td><td>&nbsp;</td></tr><tr><td>FFFFFF0000</td><td>-65,536</td><td>&nbsp;</td></tr><tr><td>8000000000</td><td>-549,755,813,888</td><td>負の最小値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは「10文字かどうか」です。たとえば「FF」は255（正の数）です。一方「FFFFFFFFFF」は-1（負の数）になります。文字数が10文字で先頭が8〜Fのときだけ負の数として解釈されますよ。</p>



<p class="wp-block-paragraph">逆変換の<a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数</a>を使えば元に戻せます。</p>



<pre class="wp-block-code"><code>=DEC2HEX(HEX2DEC(&quot;1F&quot;))</code></pre>



<p class="wp-block-paragraph">結果は「1F」です。正しく往復変換できることを確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">カラーコードのRGB値を取得する</span></h3>



<p class="wp-block-paragraph">HEX2DEC関数の実務での活用例として、カラーコードの分解があります。</p>



<p class="wp-block-paragraph">WebデザインやExcelの書式設定で使うカラーコードは「#FF6600」のような16進数6桁の形式です。先頭2桁がR（赤）、中央2桁がG（緑）、末尾2桁がB（青）を表します。</p>



<p class="wp-block-paragraph">MID関数（文字列から指定位置の文字を取り出す関数）とHEX2DEC関数を組み合わせると、RGB値を数値で取得できます。</p>



<p class="wp-block-paragraph">A1に「#FF6600」が入っているとします。</p>



<pre class="wp-block-code"><code>=HEX2DEC(MID(A1,2,2))</code></pre>



<p class="wp-block-paragraph">MID関数で「#」の次の2文字目から2文字を取り出し、HEX2DECで10進数に変換します。</p>



<figure class="wp-block-table"><table><thead><tr><th>成分</th><th>数式</th><th>16進数</th><th>10進数</th></tr></thead><tbody><tr><td>R（赤）</td><td>=HEX2DEC(MID(A1,2,2))</td><td>FF</td><td>255</td></tr><tr><td>G（緑）</td><td>=HEX2DEC(MID(A1,4,2))</td><td>66</td><td>102</td></tr><tr><td>B（青）</td><td>=HEX2DEC(MID(A1,6,2))</td><td>00</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">HEX2DECの戻り値が数値型なので、取得したRGB値はそのまま計算に使えます。色の明度を計算したり、条件付き書式の判定に使ったりできますよ。</p>



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



<p class="wp-block-paragraph">HEX2DEC関数で発生するエラーは主に#NUM!エラーです。原因別に対処法を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">#NUM!エラー：10文字を超えている</span></h3>



<p class="wp-block-paragraph">16進数の文字数が10文字を超えるとエラーになります。</p>



<pre class="wp-block-code"><code>=HEX2DEC(&quot;1FFFFFFFFFF&quot;)    → #NUM!エラー（11文字）</code></pre>



<p class="wp-block-paragraph">HEX2DEC関数が受け付けるのは10文字までです。入力値の文字数を確認してください。LEN関数（文字数を返す関数）で事前にチェックする方法もあります。</p>



<h3 class="wp-block-heading"><span id="toc15">#NUM!エラー：16進数に使えない文字を含む</span></h3>



<p class="wp-block-paragraph">0〜9とA〜F以外の文字を含むとエラーです。</p>



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



<p class="wp-block-paragraph">16進数で使える文字は0〜9とA〜Fだけです。G以降のアルファベットや記号は使えません。データをコピーしたときに余計な文字が混入していないか確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">エラー一覧表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>文字数が10文字を超えている</td><td>入力値を10文字以内にする</td></tr><tr><td>#NUM!</td><td>0〜9・A〜F以外の文字を含む</td><td>無効な文字を取り除く</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">IFERROR関数と組み合わせてエラーを回避する</span></h3>



<p class="wp-block-paragraph">エラーが出る可能性がある場合は、IFERROR関数（エラー時に代替値を返す関数）で囲むと安全です。</p>



<pre class="wp-block-code"><code>=IFERROR(HEX2DEC(A1), &quot;変換エラー&quot;)</code></pre>



<p class="wp-block-paragraph">この数式なら、A1の値が不正でも「変換エラー」と表示されます。大量のデータを一括変換するときに活用してみてください。</p>



<h2 class="wp-block-heading"><span id="toc18">HEX2BIN・HEX2OCTとの違い</span></h2>



<p class="wp-block-paragraph">Excelには16進数を他の進数に変換するHEX系関数が3つあります。それぞれの違いを比較してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">引数・戻り値型・変換範囲の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>HEX2DEC ※この記事</th><th><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></th></tr></thead><tbody><tr><td>変換先</td><td>10進数</td><td>2進数</td><td>8進数</td></tr><tr><td>引数の数</td><td>1つ（数値のみ）</td><td>2つ（数値, 桁数）</td><td>2つ（数値, 桁数）</td></tr><tr><td>桁数引数</td><td>なし</td><td>あり</td><td>あり</td></tr><tr><td>戻り値の型</td><td><strong>数値</strong></td><td>テキスト</td><td>テキスト</td></tr><tr><td>変換範囲（10進数）</td><td>約-5,498億〜約5,498億</td><td>-512〜511</td><td>-536,870,912〜536,870,911</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">大きな違いは3つあります。</p>



<p class="wp-block-paragraph"><strong>1. 桁数引数がない</strong><br>HEX2DEC関数には桁数引数がありません。引数は「数値」の1つだけです。<a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a>や<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a>には第2引数でゼロ埋めの桁数を指定できます。</p>



<p class="wp-block-paragraph"><strong>2. 戻り値が数値型</strong><br>HEX2DEC関数だけが数値型で返ります。そのまま四則演算に使えるのが強みです。<a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a>と<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a>はテキスト型なので、計算に使うには変換が必要です。</p>



<p class="wp-block-paragraph"><strong>3. 変換範囲が広い</strong><br>HEX2DEC関数は約5,498億の範囲を扱えます。<a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a>は-512〜511、<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a>は約-5.4億〜約5.4億です。</p>



<p class="wp-block-paragraph">用途に応じて使い分けてみてください。</p>



<h2 class="wp-block-heading"><span id="toc20">進数変換12関数一覧</span></h2>



<p class="wp-block-paragraph">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><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td>16進数 → 2進数</td></tr><tr><td><strong>HEX2DEC</strong> ※この記事</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 class="wp-block-paragraph">この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p class="wp-block-paragraph">HEX2DEC関数は、16進数を10進数に変換する関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=HEX2DEC(数値)</code> の1引数のみ。桁数引数はない</li><li>戻り値は数値型。そのまま四則演算に使える</li><li>変換できる範囲は約-5,498億〜約5,498億（最大10文字）</li><li>負の数は2の補数で解釈される。10文字で先頭が8〜Fなら負の数</li><li>#NUM!エラーは「10文字超過」か「無効な文字」が原因</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数</a>を使う</li><li>カラーコードのRGB値取得にも活用できる（MID関数と組み合わせ）</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p class="wp-block-paragraph">まずは <code>=HEX2DEC("FF")</code> で「255」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-hex2dec/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのDEC2HEX関数の使い方｜10進数を16進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-dec2hex/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-dec2hex/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 13 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[DEC2HEX]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[カラーコード]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2540</guid>

					<description><![CDATA[ExcelのDEC2HEX関数で10進数を16進数に変換する方法を解説。桁数指定によるゼロ埋め、RGB値からカラーコードへの応用、MACアドレス変換、#NUM!・#VALUE!エラーの対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「10進数を16進数に変換したいけど、手計算は面倒&#8230;」</p>



<p class="wp-block-paragraph">カラーコードやMACアドレスなど、16進数が必要になる場面は意外とありますよね。でもA〜Fが混ざる16進数の変換を手作業でやるのは大変です。</p>



<p class="wp-block-paragraph">ExcelのDEC2HEX関数を使えば、10進数から16進数への変換を一発で行えます。この記事では、<strong>DEC2HEX関数の使い方</strong>を基本からエラー対策まで解説しますよ。</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のDEC2HEX関数とは？読み方と基本概要</a><ol><li><a href="#toc2" tabindex="0">読み方と意味</a></li><li><a href="#toc3" tabindex="0">どんなときに使うか（16進数の実務ユースケース）</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2HEX関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">変換できる数値の範囲（-549,755,813,888〜549,755,813,887）</a></li><li><a href="#toc8" tabindex="0">なぜDEC系関数で最も範囲が広いのか</a></li><li><a href="#toc9" tabindex="0">対応バージョン一覧</a></li></ol></li><li><a href="#toc10" tabindex="0">DEC2HEX関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">シンプルな変換例（0〜549,755,813,887）</a></li><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">DEC2HEX関数のよくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#NUM!エラー：範囲外と桁数の問題</a></li><li><a href="#toc16" tabindex="0">#VALUE!エラー：文字列・空白セルの混入</a></li><li><a href="#toc17" tabindex="0">エラーパターン早見表</a></li><li><a href="#toc18" tabindex="0">IFERROR関数と組み合わせてエラー回避</a></li></ol></li><li><a href="#toc19" tabindex="0">549,755,813,887を超える値を16進数に変換するテクニック</a><ol><li><a href="#toc20" tabindex="0">BASE関数を使う方法（Microsoft 365 / Excel 2013以降）</a></li><li><a href="#toc21" tabindex="0">分割結合で対応する方法</a></li></ol></li><li><a href="#toc22" tabindex="0">実用例：RGB値からカラーコードを一括生成する</a><ol><li><a href="#toc23" tabindex="0">カラーコード生成の数式</a></li><li><a href="#toc24" tabindex="0">代表色の対応表</a></li><li><a href="#toc25" tabindex="0">逆変換：カラーコードからRGB値を取り出す</a></li></ol></li><li><a href="#toc26" tabindex="0">実用例：MACアドレスと文字コードを16進数で管理する</a><ol><li><a href="#toc27" tabindex="0">MACアドレスのフォーマット変換</a></li><li><a href="#toc28" tabindex="0">文字コードの16進数変換（CODE関数との連携）</a></li></ol></li><li><a href="#toc29" tabindex="0">HEX2DEC関数で逆変換する（16進数→10進数）</a><ol><li><a href="#toc30" tabindex="0">往復変換で検算する</a></li><li><a href="#toc31" tabindex="0">DEC2HEXとHEX2DECの仕様比較</a></li></ol></li><li><a href="#toc32" tabindex="0">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</a><ol><li><a href="#toc33" tabindex="0">変換先・有効範囲・主な用途の比較表</a></li><li><a href="#toc34" tabindex="0">どの関数を選ぶか</a></li></ol></li><li><a href="#toc35" tabindex="0">進数変換関数の全体マップ（全12関数）</a></li><li><a href="#toc36" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのDEC2HEX関数とは？読み方と基本概要</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数は、<strong>10進数を16進数に変換するExcelの関数</strong>です。エンジニアリング関数の1つで、進数変換を自動化してくれます。</p>



<p class="wp-block-paragraph">10進数は私たちが普段使っている0〜9の数字で表す方法です。一方、16進数は「0〜9」と「A〜F」の16種類の文字で数を表します。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と意味</span></h3>



<p class="wp-block-paragraph">読み方は「デック・ツー・ヘックス」です。</p>



<ul class="wp-block-list"><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>HEX</strong> = Hexadecimal（ヘクサデシマル、16進数）</li></ul>



<p class="wp-block-paragraph">つまり「10進数から16進数へ」という意味です。関数名がそのまま機能を表しているので覚えやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">どんなときに使うか（16進数の実務ユースケース）</span></h3>



<p class="wp-block-paragraph">DEC2HEX関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li><strong>カラーコード変換</strong>: RGB値（0〜255）を「#FF0000」のような16進数カラーコードに変換</li><li><strong>MACアドレス管理</strong>: ネットワーク機器のMACアドレスを16進数で整理・照合</li><li><strong>文字コード確認</strong>: CODE関数で取得した文字コード番号を16進数に変換</li><li><strong>メモリアドレス</strong>: プログラミングでメモリダンプの値を確認</li><li><strong>情報処理試験</strong>: 進数変換の練習や検算に活用</li></ul>



<p class="wp-block-paragraph">16進数は2進数4桁をちょうど1桁で表現できます。そのためIT分野ではデータを短く読みやすく表記する手段として広く使われていますよ。</p>



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



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



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



<p class="wp-block-paragraph">引数は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進数に変換したい10進数の整数。セル参照でもOK</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定。先頭をゼロで埋めて桁揃え</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>引数1: 数値（必須）</strong></p>



<p class="wp-block-paragraph">16進数に変換したい10進数の整数を指定します。直接数値を入力しても、セル参照で指定してもOKです。</p>



<p class="wp-block-paragraph">小数を指定した場合は、小数点以下が切り捨てられます。たとえば <code>=DEC2HEX(255.9)</code> は「FF」になります。</p>



<p class="wp-block-paragraph"><strong>引数2: 桁数（省略可）</strong></p>



<p class="wp-block-paragraph">結果の文字数（桁数）を整数で指定します。省略すると、変換に必要な最小限の桁数で返されます。</p>



<p class="wp-block-paragraph">指定すると先頭にゼロを埋めて桁数を揃えてくれます。カラーコードの2桁固定など、見た目を統一したいときに便利ですよ。</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">変換できる数値の範囲（-549,755,813,888〜549,755,813,887）</span></h3>



<p class="wp-block-paragraph">DEC2HEX関数が変換できるのは <strong>-549,755,813,888から549,755,813,887</strong> の整数です。</p>



<p class="wp-block-paragraph">この範囲は40ビットの符号付き整数に対応しています。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 549,755,813,887 → 7FFFFFFFFF（10桁）</li><li><strong>負の最小値</strong>: -549,755,813,888 → 8000000000（10桁）</li></ul>



<p class="wp-block-paragraph">範囲外の数値を指定すると#NUM!エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc8">なぜDEC系関数で最も範囲が広いのか</span></h3>



<p class="wp-block-paragraph">DEC系3関数の入力範囲は、変換先の進数に応じて異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>ビット数</th><th>最大桁数</th><th>正の最大値</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10ビット</td><td>10桁</td><td>511</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>30ビット</td><td>10桁</td><td>536,870,911</td></tr><tr><td><strong>DEC2HEX</strong></td><td>40ビット</td><td>10桁</td><td>549,755,813,887</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3関数とも最大出力桁数は10桁で同じです。しかし16進数は1桁で4ビットを表現できるため、同じ10桁でも40ビット分の情報を扱えます。</p>



<p class="wp-block-paragraph">8進数は1桁で3ビット、2進数は1桁で1ビットなので、16進数のDEC2HEXが最も広い範囲を持つわけですね。</p>



<h3 class="wp-block-heading"><span id="toc9">対応バージョン一覧</span></h3>



<p class="wp-block-paragraph">DEC2HEX関数は、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 class="wp-block-paragraph">現在の主要バージョンならアドイン不要でそのまま使えますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc11">シンプルな変換例（0〜549,755,813,887）</span></h3>



<p class="wp-block-paragraph">まずは関数に直接値を入力してみましょう。</p>



<pre class="wp-block-code"><code>=DEC2HEX(255)</code></pre>



<p class="wp-block-paragraph">結果は「FF」です。10進数の255は、16進数でFFになります。</p>



<p class="wp-block-paragraph">変換の仕組みを確認しておきます。16進数では各桁に16のべき乗を対応させて合計します。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>2桁目</th><th>1桁目</th></tr></thead><tbody><tr><td>16進数</td><td>F (=15)</td><td>F (=15)</td></tr><tr><td>重み</td><td>16^1 = 16</td><td>16^0 = 1</td></tr><tr><td>計算</td><td>15 x 16 = 240</td><td>15 x 1 = 15</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">合計: 240 + 15 = <strong>255</strong> ですね。</p>



<p class="wp-block-paragraph">よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>出力（16進数）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>ゼロ</td></tr><tr><td>10</td><td>A</td><td>10以上はアルファベット</td></tr><tr><td>15</td><td>F</td><td>1桁の最大値</td></tr><tr><td>16</td><td>10</td><td>桁上がり</td></tr><tr><td>100</td><td>64</td><td>&nbsp;</td></tr><tr><td>255</td><td>FF</td><td>1バイトの最大値</td></tr><tr><td>256</td><td>100</td><td>&nbsp;</td></tr><tr><td>1000</td><td>3E8</td><td>&nbsp;</td></tr><tr><td>65535</td><td>FFFF</td><td>2バイトの最大値</td></tr><tr><td>16777215</td><td>FFFFFF</td><td>3バイトの最大値（RGB最大）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セルの値を参照して変換することもできます。A1に「200」が入っているなら、次の数式です。</p>



<pre class="wp-block-code"><code>=DEC2HEX(A1)</code></pre>



<p class="wp-block-paragraph">結果は「C8」です。参照先の値を変えれば結果も自動で更新されますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">負の数の変換（2の補数表現）</span></h3>



<p class="wp-block-paragraph">DEC2HEX関数に負の数を指定すると、2の補数（にのほすう）で表現された10桁の16進数が返ります。</p>



<p class="wp-block-paragraph">2の補数とは、コンピュータが負の整数を表す仕組みです。DEC2HEX関数では40ビット相当の2の補数で表現されます。</p>



<pre class="wp-block-code"><code>=DEC2HEX(-1)</code></pre>



<p class="wp-block-paragraph">結果は「FFFFFFFFFF」です。40ビット全部が1になる値です。</p>



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



<p class="wp-block-paragraph">結果は「FFFFFFFF9C」です。桁数の指定に関係なく、常に10桁で返されます。</p>



<p class="wp-block-paragraph">負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>出力（16進数）</th><th>備考</th></tr></thead><tbody><tr><td>-1</td><td>FFFFFFFFFF</td><td>全桁F（40ビットすべて1）</td></tr><tr><td>-100</td><td>FFFFFFFF9C</td><td>10桁固定</td></tr><tr><td>-256</td><td>FFFFFFFF00</td><td>&nbsp;</td></tr><tr><td>-549,755,813,888</td><td>8000000000</td><td>負の最小値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">負の数かどうかは先頭の文字で判断できます。先頭が「8」〜「F」なら負の数です。先頭が「0」〜「7」なら正の数になります。</p>



<h3 class="wp-block-heading"><span id="toc13">桁数を指定してゼロ埋めする</span></h3>



<p class="wp-block-paragraph">第2引数に桁数を指定すると、先頭にゼロを埋めて桁数を揃えられます。</p>



<pre class="wp-block-code"><code>=DEC2HEX(255, 4)</code></pre>



<p class="wp-block-paragraph">結果は「00FF」です。4桁に揃えてくれました。</p>



<p class="wp-block-paragraph">桁数を指定しない場合と比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=DEC2HEX(10)</td><td>A</td><td>最小桁数（1桁）</td></tr><tr><td>=DEC2HEX(10, 2)</td><td>0A</td><td>2桁にゼロ埋め</td></tr><tr><td>=DEC2HEX(255)</td><td>FF</td><td>最小桁数（2桁）</td></tr><tr><td>=DEC2HEX(255, 4)</td><td>00FF</td><td>4桁にゼロ埋め</td></tr><tr><td>=DEC2HEX(255, 8)</td><td>000000FF</td><td>8桁にゼロ埋め</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">カラーコードでは各色2桁固定が必要です。MACアドレスも各オクテット2桁固定です。桁数指定はこうした場面で欠かせませんよ。</p>



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



<p class="wp-block-paragraph">DEC2HEX関数で発生するエラーは主に2種類です。原因別に見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">#NUM!エラー：範囲外と桁数の問題</span></h3>



<p class="wp-block-paragraph">#NUM!エラーが出る原因は3つあります。</p>



<p class="wp-block-paragraph"><strong>1. 数値が変換範囲外</strong></p>



<pre class="wp-block-code"><code>=DEC2HEX(549755813888)    → #NUM!エラー
=DEC2HEX(-549755813889)   → #NUM!エラー</code></pre>



<p class="wp-block-paragraph">変換できる範囲は-549,755,813,888〜549,755,813,887です。この範囲外の値を指定するとエラーになります。</p>



<p class="wp-block-paragraph"><strong>2. 桁数が結果より少ない</strong></p>



<pre class="wp-block-code"><code>=DEC2HEX(255, 1)   → #NUM!エラー</code></pre>



<p class="wp-block-paragraph">255を16進数にすると「FF」で2桁必要です。桁数に1を指定すると足りないためエラーになります。</p>



<p class="wp-block-paragraph"><strong>3. 桁数が0以下</strong></p>



<pre class="wp-block-code"><code>=DEC2HEX(255, 0)   → #NUM!エラー
=DEC2HEX(255, -1)  → #NUM!エラー</code></pre>



<p class="wp-block-paragraph">桁数は1以上の整数を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc16">#VALUE!エラー：文字列・空白セルの混入</span></h3>



<p class="wp-block-paragraph">数値や桁数に文字列を指定すると#VALUE!エラーです。</p>



<pre class="wp-block-code"><code>=DEC2HEX(&quot;ABC&quot;)     → #VALUE!エラー
=DEC2HEX(255, &quot;A&quot;)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">セル参照で変換する場合は、参照先が数値型かどうか確認しましょう。文字列として入力された数字（左寄せで表示される数字）も#VALUE!エラーの原因になります。</p>



<p class="wp-block-paragraph">VALUE関数（文字列を数値に変換する関数）で事前に数値化すると安全ですよ。</p>



<pre class="wp-block-code"><code>=DEC2HEX(VALUE(A1))</code></pre>



<h3 class="wp-block-heading"><span id="toc17">エラーパターン早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>数値が範囲外</td><td>=DEC2HEX(549755813888)</td><td>値を範囲内に収める</td></tr><tr><td>#NUM!</td><td>桁数が0以下</td><td>=DEC2HEX(255, 0)</td><td>桁数を1以上にする</td></tr><tr><td>#NUM!</td><td>桁数が結果より少ない</td><td>=DEC2HEX(255, 1)</td><td>桁数を結果以上にする</td></tr><tr><td>#VALUE!</td><td>数値が文字列</td><td>=DEC2HEX(&#8220;ABC&#8221;)</td><td>数値型のデータを指定</td></tr><tr><td>#VALUE!</td><td>桁数が文字列</td><td>=DEC2HEX(255, &#8220;A&#8221;)</td><td>桁数に数値を指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">IFERROR関数と組み合わせてエラー回避</span></h3>



<p class="wp-block-paragraph">エラーが出る可能性がある場合は、IFERROR関数（エラー時に代替値を返す関数）で囲むと安全です。</p>



<pre class="wp-block-code"><code>=IFERROR(DEC2HEX(A1, 2), &quot;変換エラー&quot;)</code></pre>



<p class="wp-block-paragraph">この数式なら、A1の値が範囲外でも「変換エラー」と表示されます。</p>



<p class="wp-block-paragraph">大量のデータを一括変換するときは、あらかじめIFERRORで囲んでおくと安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc19">549,755,813,887を超える値を16進数に変換するテクニック</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数の上限は約5,497億です。それより大きな値を16進数にしたい場面もありますよね。</p>



<h3 class="wp-block-heading"><span id="toc20">BASE関数を使う方法（Microsoft 365 / Excel 2013以降）</span></h3>



<p class="wp-block-paragraph">Excel 2013以降なら、BASE関数（ベース関数）を使う方法があります。BASE関数は任意の基数（2〜36）に変換できる関数です。</p>



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



<p class="wp-block-paragraph">結果は「E8D4A51000」です。DEC2HEX関数の範囲外の値もそのまま変換できます。</p>



<p class="wp-block-paragraph">ただしBASE関数には注意点があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2HEX</th><th>BASE</th></tr></thead><tbody><tr><td>入力範囲</td><td>約-5,497億〜約5,497億</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>大文字（A〜F）</td><td>大文字（A〜F）</td></tr><tr><td>対応バージョン</td><td>Excel 2007以降</td><td>Excel 2013以降</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">負の数の変換が必要ならDEC2HEX関数を使いましょう。正の大きな値だけならBASE関数が便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc21">分割結合で対応する方法</span></h3>



<p class="wp-block-paragraph">BASE関数が使えないExcel 2007〜2010の環境では、値を上位・下位に分割して結合する方法が使えます。</p>



<pre class="wp-block-code"><code>=DEC2HEX(INT(A1/65536), 4) &amp; DEC2HEX(MOD(A1, 65536), 4)</code></pre>



<p class="wp-block-paragraph">この数式は次の手順で動きます。</p>



<ol class="wp-block-list"><li><code>INT(A1/65536)</code> で上位16ビット（65536で割った商）を計算</li><li><code>MOD(A1, 65536)</code> で下位16ビット（65536で割った余り）を計算</li><li>それぞれをDEC2HEX関数で4桁にゼロ埋め変換</li><li><code>&</code> で文字列結合して8桁の16進数を生成</li></ol>



<p class="wp-block-paragraph">A1に100000を入れると、結果は「000186A0」です。</p>



<p class="wp-block-paragraph">ただし分割結合は正の数のみ対応です。負の数の2の補数が必要な場合はBASE関数を検討してください。</p>



<h2 class="wp-block-heading"><span id="toc22">実用例：RGB値からカラーコードを一括生成する</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数の最もポピュラーな活用例が、RGB値からのカラーコード変換です。</p>



<p class="wp-block-paragraph">Webデザインで使うカラーコード（#FF0000など）は、R（赤）・G（緑）・B（青）の各値を16進数2桁で表したものです。各値は0〜255の10進数なので、DEC2HEX関数で変換できます。</p>



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



<p class="wp-block-paragraph">RGB(255, 128, 0)をカラーコードに変換してみましょう。</p>



<pre class="wp-block-code"><code>=DEC2HEX(255, 2)   → FF（赤）
=DEC2HEX(128, 2)   → 80（緑）
=DEC2HEX(0, 2)     → 00（青）</code></pre>



<p class="wp-block-paragraph">1つのセルにまとめる場合は、次のように書きます。</p>



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



<p class="wp-block-paragraph">A1に255、B1に128、C1に0が入っていれば、結果は「#FF8000」（オレンジ色）です。</p>



<p class="wp-block-paragraph">IFERRORで囲んでおくと、RGB値が0〜255の範囲外だったときにも安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(&quot;#&quot;&amp;DEC2HEX(A1,2)&amp;DEC2HEX(B1,2)&amp;DEC2HEX(C1,2), &quot;入力値エラー&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc24">代表色の対応表</span></h3>



<p class="wp-block-paragraph">代表的な色のRGB値とカラーコードの対応です。</p>



<figure class="wp-block-table"><table><thead><tr><th>色</th><th>R</th><th>G</th><th>B</th><th>カラーコード</th></tr></thead><tbody><tr><td>赤</td><td>255</td><td>0</td><td>0</td><td>#FF0000</td></tr><tr><td>緑</td><td>0</td><td>128</td><td>0</td><td>#008000</td></tr><tr><td>青</td><td>0</td><td>0</td><td>255</td><td>#0000FF</td></tr><tr><td>白</td><td>255</td><td>255</td><td>255</td><td>#FFFFFF</td></tr><tr><td>黒</td><td>0</td><td>0</td><td>0</td><td>#000000</td></tr><tr><td>オレンジ</td><td>255</td><td>128</td><td>0</td><td>#FF8000</td></tr><tr><td>紫</td><td>128</td><td>0</td><td>128</td><td>#800080</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc25">逆変換：カラーコードからRGB値を取り出す</span></h3>



<p class="wp-block-paragraph">カラーコードからRGB値を取り出すには、<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>とMID関数を組み合わせます。</p>



<p class="wp-block-paragraph">A1に「#FF8000」が入っているとします。</p>



<pre class="wp-block-code"><code>=HEX2DEC(MID(A1, 2, 2))   → 255（赤）
=HEX2DEC(MID(A1, 4, 2))   → 128（緑）
=HEX2DEC(MID(A1, 6, 2))   → 0（青）</code></pre>



<p class="wp-block-paragraph">MID関数（文字列の途中から指定文字数を取り出す関数）で2文字ずつ抜き出し、HEX2DEC関数で10進数に戻す流れです。DEC2HEXとHEX2DECの往復変換が活きる場面ですね。</p>



<h2 class="wp-block-heading"><span id="toc26">実用例：MACアドレスと文字コードを16進数で管理する</span></h2>



<p class="wp-block-paragraph">カラーコード以外にも、DEC2HEX関数が活躍する実務シーンがあります。</p>



<h3 class="wp-block-heading"><span id="toc27">MACアドレスのフォーマット変換</span></h3>



<p class="wp-block-paragraph">MACアドレスは「AA:BB:CC:DD:EE:FF」のように、6つのオクテットを16進数2桁で表記します。機器管理台帳でMACアドレスを整理するときに便利です。</p>



<p class="wp-block-paragraph">たとえばA1〜F1に各オクテットの10進数値が入っている場合、次の数式でMACアドレス形式に変換できます。</p>



<pre class="wp-block-code"><code>=DEC2HEX(A1,2)&amp;&quot;:&quot;&amp;DEC2HEX(B1,2)&amp;&quot;:&quot;&amp;DEC2HEX(C1,2)&amp;&quot;:&quot;&amp;DEC2HEX(D1,2)&amp;&quot;:&quot;&amp;DEC2HEX(E1,2)&amp;&quot;:&quot;&amp;DEC2HEX(F1,2)</code></pre>



<p class="wp-block-paragraph">A1〜F1に「0, 26, 106, 63, 255, 1」と入っていれば、結果は「00:1A:6A:3F:FF:01」です。</p>



<p class="wp-block-paragraph">各オクテットは0〜255の範囲なので、DEC2HEX関数の範囲内に収まります。桁数を2に指定して「0A」のようにゼロ埋めするのがポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc28">文字コードの16進数変換（CODE関数との連携）</span></h3>



<p class="wp-block-paragraph">Excel のCODE関数（コード関数）は、文字の文字コード番号を10進数で返します。この値をDEC2HEX関数で16進数に変換すると、プログラミングでよく使う16進数表記が得られます。</p>



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



<p class="wp-block-paragraph">結果は「41」です。ASCIIコードで「A」は10進数65、16進数で41になります。</p>



<p class="wp-block-paragraph">主な文字の対応表です。</p>



<figure class="wp-block-table"><table><thead><tr><th>文字</th><th>CODE関数の結果（10進数）</th><th>DEC2HEX変換（16進数）</th></tr></thead><tbody><tr><td>A</td><td>65</td><td>41</td></tr><tr><td>Z</td><td>90</td><td>5A</td></tr><tr><td>a</td><td>97</td><td>61</td></tr><tr><td>z</td><td>122</td><td>7A</td></tr><tr><td>0</td><td>48</td><td>30</td></tr><tr><td>9</td><td>57</td><td>39</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">プログラムのデバッグやデータ変換作業で、文字コードを確認したいときに試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc29">HEX2DEC関数で逆変換する（16進数→10進数）</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数の逆変換には<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>を使います。セットで覚えておくと便利です。</p>



<h3 class="wp-block-heading"><span id="toc30">往復変換で検算する</span></h3>



<p class="wp-block-paragraph">変換結果が正しいか確認するには、往復変換が有効です。</p>



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



<p class="wp-block-paragraph">結果が「100」に戻れば変換が正確だと確認できます。負の数でも同様です。</p>



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



<p class="wp-block-paragraph">結果は「-100」です。2の補数で表現された10桁の16進数を、HEX2DEC関数が正しく負の数に戻してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc31">DEC2HEXとHEX2DECの仕様比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2HEX</th><th><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></th></tr></thead><tbody><tr><td>変換方向</td><td>10進数 → 16進数</td><td>16進数 → 10進数</td></tr><tr><td>入力</td><td>-549,755,813,888〜549,755,813,887の整数</td><td>最大10桁の16進数文字列</td></tr><tr><td>出力</td><td>テキスト文字列（0〜Fの大文字）</td><td>数値（約-5,497億〜約5,497億）</td></tr><tr><td>桁数指定</td><td>あり（第2引数）</td><td>なし</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">入力と出力の型が逆転する点に注意です。DEC2HEX関数はテキストを返し、HEX2DEC関数は数値を返します。</p>



<h2 class="wp-block-heading"><span id="toc32">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</span></h2>



<p class="wp-block-paragraph">Excelには10進数から他の進数に変換するDEC系関数が3つあります。構文はすべて <code>関数名(数値, [桁数])</code> で同じです。</p>



<h3 class="wp-block-heading"><span id="toc33">変換先・有効範囲・主な用途の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></th><th><strong>DEC2HEX</strong> ※この記事</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>カラーコード、MACアドレス</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ビット数の違いには数学的な理由があります。3関数とも最大出力は10桁です。しかし1桁あたりのビット数が異なるため、扱える範囲に差が出ます。</p>



<ul class="wp-block-list"><li>2進数: 1桁 = 1ビット → 10桁 = 10ビット</li><li>8進数: 1桁 = 3ビット → 10桁 = 30ビット</li><li>16進数: 1桁 = 4ビット → 10桁 = 40ビット</li></ul>



<p class="wp-block-paragraph">3関数とも負の数は10桁の補数で返す点が共通しています。</p>



<h3 class="wp-block-heading"><span id="toc34">どの関数を選ぶか</span></h3>



<p class="wp-block-paragraph">迷ったときは、変換先の用途で選びましょう。</p>



<ul class="wp-block-list"><li><strong>ビット単位の操作が目的</strong> → <a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a>（2進数が直感的）</li><li><strong>Unixパーミッション（755など）を扱う</strong> → <a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></li><li><strong>カラーコード（#FF0000）やMACアドレスを扱う</strong> → DEC2HEX</li></ul>



<p class="wp-block-paragraph">複数の進数を行き来するなら、まずDEC2HEXで16進数に変換し、そこから<a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a>や<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a>で他の進数に変換する方法もありますよ。</p>



<h2 class="wp-block-heading"><span id="toc35">進数変換関数の全体マップ（全12関数）</span></h2>



<p class="wp-block-paragraph">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><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>&#8212;</td><td><strong>DEC2HEX</strong> ※この記事</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 class="wp-block-paragraph">この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p class="wp-block-paragraph">ExcelのDEC2HEX関数は、10進数を16進数に変換する関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DEC2HEX(数値, [桁数])</code> の最大2引数</li><li>変換できる範囲は約-5,497億〜約5,497億（DEC系で最も広い）</li><li>桁数を指定すると先頭をゼロで埋めて桁揃えできる</li><li>負の数は10桁の2の補数で返される</li><li>RGB値からカラーコードを一括生成できる</li><li>MACアドレスや文字コードの管理にも活用できる</li><li>#NUM!エラーは「範囲外」「桁数不足」「桁数ゼロ以下」が原因</li><li>#VALUE!エラーは「文字列の混入」が原因</li><li>範囲超過にはBASE関数や分割結合で対応</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>を使う</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p class="wp-block-paragraph">まずは <code>=DEC2HEX(255)</code> で「FF」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-dec2hex/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのDEC2OCT関数の使い方｜10進数を8進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-dec2oct/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-dec2oct/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[DEC2OCT]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2536</guid>

					<description><![CDATA[ExcelのDEC2OCT関数で10進数を8進数に変換する方法を解説。構文・引数のルール、桁数指定のゼロ埋め、負の数の2の補数表現、#NUM!・#VALUE!エラーの対処法、chmod権限変換ワークフロー、BASE関数との使い分けまで網羅します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「10進数を8進数に変換したいけど、手計算は面倒&#8230;」</p>



<p class="wp-block-paragraph">Excelには、そんな変換を一発で行える関数があります。それがDEC2OCT関数です。</p>



<p class="wp-block-paragraph">Linuxのファイル権限（chmod）やプログラミングで、8進数が必要になる場面は意外とあります。でも手計算で変換するのは桁数が増えると大変ですよね。</p>



<p class="wp-block-paragraph">この記事では、ExcelのDEC2OCT関数の使い方を基本から解説します。桁数指定のゼロ埋め、エラー対策、chmodパーミッション変換ワークフローまで網羅しますよ。</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のDEC2OCT関数とは？読み方と基本概要</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">DEC2OCT関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">変換できる数値の範囲（-536,870,912〜536,870,911）</a></li><li><a href="#toc8" tabindex="0">なぜDEC2BINより範囲が格段に広いのか</a></li><li><a href="#toc9" tabindex="0">対応バージョン一覧</a></li></ol></li><li><a href="#toc10" tabindex="0">DEC2OCT関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">シンプルな変換例（0〜536,870,911）</a></li><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">DEC2OCT関数のよくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#NUM!エラー：範囲外と桁数の問題</a></li><li><a href="#toc16" tabindex="0">#VALUE!エラー：文字列・空白セルの混入</a></li><li><a href="#toc17" tabindex="0">エラーパターン早見表</a></li><li><a href="#toc18" tabindex="0">IFERRORと組み合わせてエラー回避</a></li></ol></li><li><a href="#toc19" tabindex="0">536,870,911を超える値を8進数に変換するテクニック</a><ol><li><a href="#toc20" tabindex="0">BASE関数を使う方法（Microsoft 365 / Excel 2013以降）</a></li><li><a href="#toc21" tabindex="0">分割結合で対応する方法</a></li></ol></li><li><a href="#toc22" tabindex="0">実用例：chmodパーミッション変換ワークフロー</a><ol><li><a href="#toc23" tabindex="0">権限ビットの仕組み</a></li><li><a href="#toc24" tabindex="0">権限値の計算と変換</a></li><li><a href="#toc25" tabindex="0">代表的なchmod値の早見表</a></li><li><a href="#toc26" tabindex="0">Excel上で権限計算シートを作る</a></li></ol></li><li><a href="#toc27" tabindex="0">OCT2DEC関数で逆変換する（8進数→10進数）</a><ol><li><a href="#toc28" tabindex="0">往復変換で検算する</a></li><li><a href="#toc29" tabindex="0">DEC2OCTとOCT2DECの仕様比較</a></li></ol></li><li><a href="#toc30" tabindex="0">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</a><ol><li><a href="#toc31" tabindex="0">変換先・有効範囲・主な用途の比較表</a></li><li><a href="#toc32" tabindex="0">どの関数を選ぶか</a></li></ol></li><li><a href="#toc33" tabindex="0">進数変換関数の全体マップ（全12関数）</a></li><li><a href="#toc34" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのDEC2OCT関数とは？読み方と基本概要</span></h2>



<p class="wp-block-paragraph">DEC2OCT関数は、<strong>10進数を8進数に変換するExcelの関数</strong>です。</p>



<p class="wp-block-paragraph">10進数は私たちが普段使っている0〜9の数字で表す方法です。一方、8進数は「0」〜「7」の8種類の数字で数を表します。8進数はLinuxのファイル権限やプログラミングで使われています。</p>



<p class="wp-block-paragraph">DEC2OCT関数を使えば、この変換を自動で行えますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と意味</span></h3>



<p class="wp-block-paragraph">読み方は「デック・ツー・オクト」です。</p>



<ul class="wp-block-list"><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>OCT</strong> = Octal（オクタル、8進数）</li></ul>



<p class="wp-block-paragraph">つまり「10進数から8進数へ」という意味です。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 class="wp-block-paragraph">DEC2OCT関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>Linuxのファイル権限（chmod）を8進数で確認・管理したいとき</li><li>プログラミングで8進数リテラルの値を調べたいとき</li><li>情報処理試験の勉強で進数変換を練習したいとき</li><li>10進数と8進数の対応表を作りたいとき</li></ul>



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



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



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



<p class="wp-block-paragraph">引数は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進数に変換したい10進数の整数</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定。先頭をゼロで埋める</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>引数1：数値（必須）</strong></p>



<p class="wp-block-paragraph">8進数に変換したい10進数の整数を指定します。セル参照でも直接入力でもOKです。小数を指定した場合は、小数点以下が切り捨てられます。</p>



<p class="wp-block-paragraph"><strong>引数2：桁数（省略可）</strong></p>



<p class="wp-block-paragraph">結果の文字数（桁数）を整数で指定します。省略すると、変換に必要な最小限の桁数で返されます。指定すると、先頭にゼロを埋めて桁数を揃えてくれますよ。</p>



<p class="wp-block-paragraph">たとえば <code>=DEC2OCT(58)</code> は「72」です。<code>=DEC2OCT(58, 3)</code> なら「072」になります。</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">変換できる数値の範囲（-536,870,912〜536,870,911）</span></h3>



<p class="wp-block-paragraph">変換できる数値の範囲は <strong>-536,870,912から536,870,911</strong> です。これは30ビット（10桁）の符号付き整数で表現できる範囲です。2の29乗=536,870,912が根拠になっています。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 536,870,911 → 3777777777（10桁）</li><li><strong>負の最小値</strong>: -536,870,912 → 4000000000（10桁）</li></ul>



<p class="wp-block-paragraph">範囲外の数値を指定すると#NUM!エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc8">なぜDEC2BINより範囲が格段に広いのか</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN関数</a>の入力範囲は-512〜511です。一方、DEC2OCT関数は約±5億まで扱えます。</p>



<p class="wp-block-paragraph">この差は桁数あたりの情報量の違いによるものです。2進数は1桁で1ビットですが、8進数は1桁で3ビットを表せます。どちらも最大10桁ですが、表現できるビット数が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>1桁あたりのビット数</th><th>最大桁数</th><th>合計ビット数</th><th>入力範囲</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>1ビット</td><td>10桁</td><td>10ビット</td><td>-512〜511</td></tr><tr><td><strong>DEC2OCT</strong></td><td>3ビット</td><td>10桁</td><td>30ビット</td><td>-536,870,912〜536,870,911</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">DEC2OCTはDEC2BINの約1,048,576倍（2^20倍）の範囲を扱えます。大きな数値を扱う場合はDEC2OCTのほうが適していますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">対応バージョン一覧</span></h3>



<p class="wp-block-paragraph">DEC2OCT関数は、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 class="wp-block-paragraph">現在の主要バージョンならアドインの追加は不要です。お使いのバージョンが古くなければ気にしなくて大丈夫ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc11">シンプルな変換例（0〜536,870,911）</span></h3>



<p class="wp-block-paragraph">まずは関数に直接値を入力してみましょう。</p>



<pre class="wp-block-code"><code>=DEC2OCT(8)</code></pre>



<p class="wp-block-paragraph">結果は「10」です。10進数の8は、8進数で10になります。</p>



<p class="wp-block-paragraph">変換の仕組みを確認しておきます。各桁に8のべき乗を対応させて合計します。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>2桁目</th><th>1桁目</th></tr></thead><tbody><tr><td>8進数</td><td>1</td><td>0</td></tr><tr><td>重み</td><td>8^1 = 8</td><td>8^0 = 1</td></tr><tr><td>計算</td><td>1 x 8 = 8</td><td>0 x 1 = 0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">合計: 8 + 0 = <strong>8</strong> ですね。</p>



<p class="wp-block-paragraph">よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>数式</th><th>出力（8進数）</th></tr></thead><tbody><tr><td>0</td><td>=DEC2OCT(0)</td><td>0</td></tr><tr><td>7</td><td>=DEC2OCT(7)</td><td>7</td></tr><tr><td>8</td><td>=DEC2OCT(8)</td><td>10</td></tr><tr><td>64</td><td>=DEC2OCT(64)</td><td>100</td></tr><tr><td>100</td><td>=DEC2OCT(100)</td><td>144</td></tr><tr><td>255</td><td>=DEC2OCT(255)</td><td>377</td></tr><tr><td>511</td><td>=DEC2OCT(511)</td><td>777</td></tr><tr><td>4096</td><td>=DEC2OCT(4096)</td><td>10000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">結果はテキスト文字列として返されます。見た目は数値ですが、左寄せで表示されるのが目印です。</p>



<h3 class="wp-block-heading"><span id="toc12">負の数の変換（2の補数表現）</span></h3>



<p class="wp-block-paragraph">DEC2OCT関数に負の数を指定すると、<strong>2の補数</strong>（にのほすう）で表現された10桁の8進数が返ります。</p>



<p class="wp-block-paragraph">2の補数とは、コンピュータが負の整数を表す仕組みです。最上位の8進桁が4以上（4〜7）なら負の数を意味します。</p>



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



<p class="wp-block-paragraph">結果は「7777777634」です。桁数の指定に関わらず、常に10桁で返されます。</p>



<p class="wp-block-paragraph">負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>出力（8進数）</th><th>備考</th></tr></thead><tbody><tr><td>-1</td><td>7777777777</td><td>全桁7</td></tr><tr><td>-100</td><td>7777777634</td><td>10桁固定</td></tr><tr><td>-256</td><td>7777777400</td><td>&nbsp;</td></tr><tr><td>-536,870,912</td><td>4000000000</td><td>負の最小値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">逆変換の<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>を使えば元に戻せます。</p>



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



<p class="wp-block-paragraph">結果は「-100」です。正しく往復変換できることを確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">桁数を指定してゼロ埋めする</span></h3>



<p class="wp-block-paragraph">第2引数に桁数を指定すると、先頭にゼロを埋めて桁数を揃えられます。</p>



<pre class="wp-block-code"><code>=DEC2OCT(58, 3)</code></pre>



<p class="wp-block-paragraph">結果は「072」です。3桁に揃えてくれました。</p>



<p class="wp-block-paragraph">桁数を指定しない場合と比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=DEC2OCT(58)</td><td>72</td><td>最小桁数（2桁）</td></tr><tr><td>=DEC2OCT(58, 3)</td><td>072</td><td>3桁にゼロ埋め</td></tr><tr><td>=DEC2OCT(8)</td><td>10</td><td>最小桁数（2桁）</td></tr><tr><td>=DEC2OCT(8, 4)</td><td>0010</td><td>4桁にゼロ埋め</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">chmodのパーミッション値を常に3桁で揃えたいときなどに便利ですよ。</p>



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



<p class="wp-block-paragraph">DEC2OCT関数で発生するエラーは主に2種類です。原因別に対処法を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">#NUM!エラー：範囲外と桁数の問題</span></h3>



<p class="wp-block-paragraph">#NUM!エラーが出る原因は3つあります。</p>



<p class="wp-block-paragraph"><strong>原因1：数値が範囲外（-536,870,912未満または536,870,911超）</strong></p>



<pre class="wp-block-code"><code>=DEC2OCT(536870912)    → #NUM!エラー
=DEC2OCT(-536870913)   → #NUM!エラー</code></pre>



<p class="wp-block-paragraph">対処法は、指定する値が-536,870,912〜536,870,911に収まっているか確認することです。</p>



<p class="wp-block-paragraph"><strong>原因2：桁数が0以下</strong></p>



<pre class="wp-block-code"><code>=DEC2OCT(8, 0)   → #NUM!エラー</code></pre>



<p class="wp-block-paragraph">桁数には1以上の整数を指定してください。</p>



<p class="wp-block-paragraph"><strong>原因3：桁数が結果の桁数より少ない</strong></p>



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



<p class="wp-block-paragraph">64の8進数は「100」で3桁必要です。桁数に2を指定すると足りないためエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc16">#VALUE!エラー：文字列・空白セルの混入</span></h3>



<p class="wp-block-paragraph">#VALUE!エラーが出る原因は2つあります。</p>



<p class="wp-block-paragraph"><strong>原因1：数値が数値型でない</strong></p>



<pre class="wp-block-code"><code>=DEC2OCT(&quot;ABC&quot;)   → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph"><strong>原因2：桁数が数値型でない</strong></p>



<pre class="wp-block-code"><code>=DEC2OCT(8, &quot;A&quot;)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">引数には数値型のデータを指定しましょう。空白セルを参照している場合も注意が必要です。</p>



<h3 class="wp-block-heading"><span id="toc17">エラーパターン早見表</span></h3>



<p class="wp-block-paragraph">エラーの原因と対処法を表にまとめます。</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>数値が-536,870,912未満または536,870,911超</td><td>=DEC2OCT(536870912)</td><td>値を範囲内に収める</td></tr><tr><td>#NUM!</td><td>桁数が0以下</td><td>=DEC2OCT(8, 0)</td><td>桁数を1以上にする</td></tr><tr><td>#NUM!</td><td>桁数が結果の桁数より少ない</td><td>=DEC2OCT(64, 2)</td><td>桁数を結果以上にする</td></tr><tr><td>#VALUE!</td><td>数値が文字列</td><td>=DEC2OCT(&#8220;ABC&#8221;)</td><td>数値型のデータを指定</td></tr><tr><td>#VALUE!</td><td>桁数が文字列</td><td>=DEC2OCT(8, &#8220;A&#8221;)</td><td>桁数に数値を指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">IFERRORと組み合わせてエラー回避</span></h3>



<p class="wp-block-paragraph">エラーが出る可能性がある場合は、IFERROR関数（エラー時に代替値を返す関数）で囲むと安全です。</p>



<pre class="wp-block-code"><code>=IFERROR(DEC2OCT(A1), &quot;変換エラー&quot;)</code></pre>



<p class="wp-block-paragraph">この数式なら、A1の値が範囲外でもエラーの代わりに「変換エラー」と表示されます。</p>



<p class="wp-block-paragraph">入力値のチェックと組み合わせる方法もあります。</p>



<pre class="wp-block-code"><code>=IF(AND(A1&gt;=-536870912, A1&lt;=536870911), DEC2OCT(A1), &quot;範囲外&quot;)</code></pre>



<p class="wp-block-paragraph">あらかじめ範囲をチェックしてから変換すると、より安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc19">536,870,911を超える値を8進数に変換するテクニック</span></h2>



<p class="wp-block-paragraph">DEC2OCT関数の上限は536,870,911です。でも実務ではもっと大きな数値を8進数にしたい場面もありますよね。</p>



<h3 class="wp-block-heading"><span id="toc20">BASE関数を使う方法（Microsoft 365 / Excel 2013以降）</span></h3>



<p class="wp-block-paragraph">Excel 2013以降なら、BASE関数（ベース関数）を使う方法があります。BASE関数は任意の基数（2〜36）に変換できる関数です。</p>



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



<p class="wp-block-paragraph">結果は「7346545000」です。DEC2OCT関数の約±5億の制限がないので、大きな値もそのまま変換できます。</p>



<p class="wp-block-paragraph">DEC2OCT関数とBASE関数の違いを比較します。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2OCT</th><th>BASE</th></tr></thead><tbody><tr><td>入力範囲</td><td>-536,870,912〜536,870,911</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 class="wp-block-paragraph">負の数を2の補数で変換したいならDEC2OCT関数を使いましょう。正の大きな値だけならBASE関数が便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc21">分割結合で対応する方法</span></h3>



<p class="wp-block-paragraph">BASE関数が使えない環境では、数値を上位と下位に分割して結合する方法もあります。</p>



<pre class="wp-block-code"><code>=DEC2OCT(INT(A1/536870912)) &amp; DEC2OCT(MOD(A1, 536870912), 10)</code></pre>



<p class="wp-block-paragraph">A1に1,000,000,000を入れると、商が1、余りが463,129,088です。これをDEC2OCT関数でそれぞれ変換し、文字列結合します。</p>



<p class="wp-block-paragraph">ただし、この方法は桁の繰り上がりに注意が必要です。特別な理由がなければBASE関数を使うほうがシンプルですよ。</p>



<h2 class="wp-block-heading"><span id="toc22">実用例：chmodパーミッション変換ワークフロー</span></h2>



<p class="wp-block-paragraph">DEC2OCT関数が最も活躍するのは、Linuxのファイル権限（chmod）管理です。chmodコマンドは8進数3桁で権限を指定します。DEC2OCT関数を使えば、10進数ベースで計算した権限値を8進数に変換できます。</p>



<h3 class="wp-block-heading"><span id="toc23">権限ビットの仕組み</span></h3>



<p class="wp-block-paragraph">Linuxのファイル権限は「読み取り」「書き込み」「実行」の3種類です。それぞれにビットの重みが割り当てられています。</p>



<figure class="wp-block-table"><table><thead><tr><th>権限</th><th>記号</th><th>ビット値</th></tr></thead><tbody><tr><td>読み取り（Read）</td><td>r</td><td>4</td></tr><tr><td>書き込み（Write）</td><td>w</td><td>2</td></tr><tr><td>実行（Execute）</td><td>x</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この3つの権限を「所有者」「グループ」「その他」の3区分に割り当てます。各区分は0〜7の値を取ります。</p>



<h3 class="wp-block-heading"><span id="toc24">権限値の計算と変換</span></h3>



<p class="wp-block-paragraph">たとえば「所有者に全権限、グループと他に読み取り+実行」を設定したい場合、各区分の値は次のとおりです。</p>



<ul class="wp-block-list"><li>所有者: 4 + 2 + 1 = 7</li><li>グループ: 4 + 0 + 1 = 5</li><li>その他: 4 + 0 + 1 = 5</li></ul>



<p class="wp-block-paragraph">この3つの値を10進数1つにまとめるには、各区分に8の重みをかけます。</p>



<pre class="wp-block-code"><code>= 7 × 64 + 5 × 8 + 5 × 1 = 493</code></pre>



<p class="wp-block-paragraph">DEC2OCT関数で変換してみましょう。</p>



<pre class="wp-block-code"><code>=DEC2OCT(493)</code></pre>



<p class="wp-block-paragraph">結果は「755」です。<code>chmod 755</code> に対応する値だと確認できます。</p>



<h3 class="wp-block-heading"><span id="toc25">代表的なchmod値の早見表</span></h3>



<p class="wp-block-paragraph">よく使うchmod値とその10進数換算をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>chmodコマンド</th><th>8進数</th><th>10進数</th><th>所有者</th><th>グループ</th><th>その他</th></tr></thead><tbody><tr><td>chmod 755</td><td>755</td><td>493</td><td>rwx</td><td>r-x</td><td>r-x</td></tr><tr><td>chmod 644</td><td>644</td><td>420</td><td>rw-</td><td>r&#8211;</td><td>r&#8211;</td></tr><tr><td>chmod 700</td><td>700</td><td>448</td><td>rwx</td><td>&#8212;</td><td>&#8212;</td></tr><tr><td>chmod 600</td><td>600</td><td>384</td><td>rw-</td><td>&#8212;</td><td>&#8212;</td></tr><tr><td>chmod 777</td><td>777</td><td>511</td><td>rwx</td><td>rwx</td><td>rwx</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>=DEC2OCT(493)</code> で「755」、<code>=DEC2OCT(420)</code> で「644」が返ります。</p>



<h3 class="wp-block-heading"><span id="toc26">Excel上で権限計算シートを作る</span></h3>



<p class="wp-block-paragraph">実務では、権限の組み合わせをExcelで一覧管理するケースがあります。次のようなシートを作ると便利です。</p>



<p class="wp-block-paragraph">A列に所有者の権限値（0〜7）、B列にグループの権限値、C列にその他の権限値を入力します。D列に以下の数式を入れましょう。</p>



<pre class="wp-block-code"><code>=DEC2OCT(A1*64 + B1*8 + C1, 3)</code></pre>



<p class="wp-block-paragraph">第2引数に3を指定すると、常に3桁のchmod表記で返されます。たとえばA1=6、B1=4、C1=4なら「644」です。</p>



<p class="wp-block-paragraph">逆に、10進数から各区分の権限を分解するには<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>所有者: =INT(A1/64)
グループ: =INT(MOD(A1,64)/8)
その他: =MOD(A1,8)</code></pre>



<p class="wp-block-paragraph">A1に493を入れると、所有者=7、グループ=5、その他=5と分解できますよ。</p>



<h2 class="wp-block-heading"><span id="toc27">OCT2DEC関数で逆変換する（8進数→10進数）</span></h2>



<p class="wp-block-paragraph">DEC2OCT関数の逆変換には<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>を使います。セットで覚えておくと便利です。</p>



<h3 class="wp-block-heading"><span id="toc28">往復変換で検算する</span></h3>



<p class="wp-block-paragraph">変換結果が正しいか確認するには、往復変換が有効です。</p>



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



<p class="wp-block-paragraph">結果が「100」に戻れば変換が正確だと確認できます。負の数でも同様です。</p>



<pre class="wp-block-code"><code>=OCT2DEC(DEC2OCT(-256))</code></pre>



<p class="wp-block-paragraph">結果は「-256」です。2の補数で表現された10桁の8進数を、OCT2DEC関数が正しく負の数に戻してくれます。</p>



<h3 class="wp-block-heading"><span id="toc29">DEC2OCTとOCT2DECの仕様比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2OCT</th><th><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></th></tr></thead><tbody><tr><td>変換方向</td><td>10進数 → 8進数</td><td>8進数 → 10進数</td></tr><tr><td>入力</td><td>-536,870,912〜536,870,911の整数</td><td>最大10桁の8進数文字列</td></tr><tr><td>出力</td><td>テキスト文字列</td><td>数値（-536,870,912〜536,870,911）</td></tr><tr><td>桁数指定</td><td>あり（第2引数）</td><td>なし</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">OCT2DEC関数には桁数指定がありません。入力は「0」〜「7」の数字のみで構成された最大10桁の文字列です。8や9を含む値を渡すと#NUM!エラーになるので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc30">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</span></h2>



<p class="wp-block-paragraph">Excelには10進数から他の進数に変換するDEC系関数が3つあります。構文はすべて <code>関数名(数値, [桁数])</code> で同じです。</p>



<h3 class="wp-block-heading"><span id="toc31">変換先・有効範囲・主な用途の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>入力範囲</th><th>主な用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>2進数</td><td>-512〜511</td><td>ビットフラグ、IPアドレス</td></tr><tr><td><strong>DEC2OCT</strong> ※この記事</td><td>8進数</td><td>-536,870,912〜536,870,911</td><td>Linuxパーミッション（chmod）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>16進数</td><td>-549,755,813,888〜549,755,813,887</td><td>カラーコード、メモリアドレス</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3つとも負の数は10桁の2の補数で返す点が共通しています。変換先の進数が大きいほど入力範囲も広がります。</p>



<h3 class="wp-block-heading"><span id="toc32">どの関数を選ぶか</span></h3>



<p class="wp-block-paragraph">迷ったら次の基準で選んでください。</p>



<ul class="wp-block-list"><li><strong>ビット単位の操作が必要</strong> → <a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></li><li><strong>Linuxの権限管理</strong> → DEC2OCT（この記事）</li><li><strong>カラーコードやアドレス</strong> → <a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></li><li><strong>上限を超える大きな値</strong> → BASE関数（Excel 2013以降）</li></ul>



<h2 class="wp-block-heading"><span id="toc33">進数変換関数の全体マップ（全12関数）</span></h2>



<p class="wp-block-paragraph">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-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><strong>DEC2OCT</strong> ※この記事</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-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><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-oct2bin/">OCT2BIN</a></td><td>8進数 → 2進数</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-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</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></tbody></table></figure>



<p class="wp-block-paragraph">DEC2OCT関数の逆変換は<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>です。この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p class="wp-block-paragraph">ExcelのDEC2OCT関数は、10進数を8進数に変換する関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DEC2OCT(数値, [桁数])</code> の最大2引数</li><li>変換できる範囲は-536,870,912〜536,870,911の整数</li><li>桁数を指定すると先頭をゼロで埋めて桁揃えできる</li><li>負の数は10桁の2の補数で返される</li><li>#NUM!エラーは「範囲外」か「桁数不足」が原因</li><li>#VALUE!エラーは文字列を渡したときに発生</li><li>chmodパーミッションの変換に便利</li><li>536,870,911を超える値にはBASE関数を使う</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>を使う</li></ul>



<p class="wp-block-paragraph">まずは <code>=DEC2OCT(8)</code> で「10」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-dec2oct/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 class="wp-block-paragraph">「10進数を2進数に変換したいけど、手計算は面倒&#8230;」</p>



<p class="wp-block-paragraph">Excelには、そんな変換を一発で行える関数があります。それがDEC2BIN関数です。</p>



<p class="wp-block-paragraph">ネットワーク設定やプログラミング学習など、2進数が必要になる場面は意外とあります。でも手計算で変換するのは桁数が増えると大変ですよね。</p>



<p class="wp-block-paragraph">この記事では、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-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">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 class="wp-block-paragraph">DEC2BIN関数は、<strong>10進数を2進数に変換するExcelの関数</strong>です。</p>



<p class="wp-block-paragraph">10進数は私たちが普段使っている0〜9の数字で表す方法です。一方、2進数は「0」と「1」の2種類だけで数を表します。コンピュータの内部では、すべてのデータが2進数で処理されています。</p>



<p class="wp-block-paragraph">DEC2BIN関数を使えば、この変換を自動で行えますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と意味</span></h3>



<p class="wp-block-paragraph">読み方は「デック・ツー・ビン」です。</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 class="wp-block-paragraph">つまり「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 class="wp-block-paragraph">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 class="wp-block-paragraph">引数は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 class="wp-block-paragraph"><strong>引数1：数値（必須）</strong></p>



<p class="wp-block-paragraph">2進数に変換したい10進数の整数を指定します。セル参照でも直接入力でもOKです。小数を指定した場合は、小数点以下が切り捨てられます。</p>



<p class="wp-block-paragraph"><strong>引数2：桁数（省略可）</strong></p>



<p class="wp-block-paragraph">結果の文字数（桁数）を整数で指定します。省略すると、変換に必要な最小限の桁数で返されます。指定すると、先頭にゼロを埋めて桁数を揃えてくれますよ。</p>



<p class="wp-block-paragraph">たとえば <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 class="wp-block-paragraph">変換できる数値の範囲は <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 class="wp-block-paragraph">範囲外の数値を指定すると#NUM!エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc8">対応バージョン一覧</span></h3>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">現在の主要バージョンならアドインの追加は不要です。お使いのバージョンが古くなければ気にしなくて大丈夫ですよ。</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 class="wp-block-paragraph">まずは関数に直接値を入力してみましょう。</p>



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



<p class="wp-block-paragraph">結果は「1001」です。10進数の9は、2進数で1001になります。</p>



<p class="wp-block-paragraph">変換の仕組みを確認しておきます。各桁に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 class="wp-block-paragraph">合計: 8 + 0 + 0 + 1 = <strong>9</strong> ですね。</p>



<p class="wp-block-paragraph">よく使う変換例をまとめておきます。</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 class="wp-block-paragraph">結果はテキスト文字列として返されます。見た目は数値ですが、左寄せで表示されるのが目印です。</p>



<h3 class="wp-block-heading"><span id="toc11">負の数の変換（2の補数表現）</span></h3>



<p class="wp-block-paragraph">DEC2BIN関数に負の数を指定すると、<strong>2の補数</strong>（にのほすう）で表現された10桁の2進数が返ります。</p>



<p class="wp-block-paragraph">2の補数とは、コンピュータが負の整数を表す仕組みです。最上位ビット（左端の桁）が「1」なら負の数を意味します。</p>



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



<p class="wp-block-paragraph">結果は「1110011100」です。桁数の指定に関わらず、常に10桁で返されます。</p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">負の数の代表的な変換例です。</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 class="wp-block-paragraph">逆変換の<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 class="wp-block-paragraph">結果は「-100」です。正しく往復変換できることを確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">桁数を指定してゼロ埋めする</span></h3>



<p class="wp-block-paragraph">第2引数に桁数を指定すると、先頭にゼロを埋めて桁数を揃えられます。</p>



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



<p class="wp-block-paragraph">結果は「00001001」です。8桁に揃えてくれました。</p>



<p class="wp-block-paragraph">桁数を指定しない場合と比べてみましょう。</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 class="wp-block-paragraph">ネットワーク関連で8ビット固定にしたい場面や、複数の値を縦に並べて比較するときに便利ですよ。</p>



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



<p class="wp-block-paragraph">DEC2BIN関数で発生するエラーは主に2種類です。原因別に対処法を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">#NUM!エラー：範囲外と桁数の問題</span></h3>



<p class="wp-block-paragraph">#NUM!エラーが出る原因は3つあります。</p>



<p class="wp-block-paragraph"><strong>原因1：数値が範囲外（-512未満または511超）</strong></p>



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



<p class="wp-block-paragraph">対処法は、指定する値が-512〜511に収まっているか確認することです。</p>



<p class="wp-block-paragraph"><strong>原因2：桁数が0以下</strong></p>



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



<p class="wp-block-paragraph">桁数には1以上の整数を指定してください。</p>



<p class="wp-block-paragraph"><strong>原因3：桁数が結果の桁数より少ない</strong></p>



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



<p class="wp-block-paragraph">9の2進数は「1001」で4桁必要です。桁数に2を指定すると足りないためエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc15">#VALUE!エラー：文字列・空白セルの混入</span></h3>



<p class="wp-block-paragraph">#VALUE!エラーが出る原因は2つあります。</p>



<p class="wp-block-paragraph"><strong>原因1：数値が数値型でない</strong></p>



<pre class="wp-block-code"><code>=DEC2BIN(&quot;ABC&quot;)   → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph"><strong>原因2：桁数が数値型でない</strong></p>



<pre class="wp-block-code"><code>=DEC2BIN(9, &quot;A&quot;)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">引数には数値型のデータを指定しましょう。空白セルを参照している場合も注意が必要です。</p>



<h3 class="wp-block-heading"><span id="toc16">エラーパターン早見表</span></h3>



<p class="wp-block-paragraph">エラーの原因と対処法を表にまとめます。</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 class="wp-block-paragraph">エラーが出る可能性がある場合は、IFERROR関数で囲むと安全です。</p>



<pre class="wp-block-code"><code>=IFERROR(DEC2BIN(A1), &quot;変換エラー&quot;)</code></pre>



<p class="wp-block-paragraph">この数式なら、A1の値が範囲外でもエラーの代わりに「変換エラー」と表示されます。</p>



<p class="wp-block-paragraph">入力値のチェックと組み合わせる方法もあります。</p>



<pre class="wp-block-code"><code>=IF(AND(A1&gt;=-512, A1&lt;=511), DEC2BIN(A1), &quot;範囲外&quot;)</code></pre>



<p class="wp-block-paragraph">あらかじめ範囲をチェックしてから変換すると、より安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc18">511を超える大きな数値を2進数に変換するテクニック</span></h2>



<p class="wp-block-paragraph">DEC2BIN関数の上限は511です。でも実務では512以上の数値を2進数にしたい場面もありますよね。</p>



<h3 class="wp-block-heading"><span id="toc19">分割結合で18ビットまで対応する</span></h3>



<p class="wp-block-paragraph">数値を上位ビットと下位ビットに分割して、文字列として結合する方法が使えます。</p>



<p class="wp-block-paragraph">たとえば10進数の1000を2進数に変換してみましょう。</p>



<pre class="wp-block-code"><code>=DEC2BIN(INT(A1/512), 9) &amp; DEC2BIN(MOD(A1, 512), 9)</code></pre>



<p class="wp-block-paragraph">この数式は次の手順で動きます。</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 class="wp-block-paragraph">A1に1000を入れると、結果は「000000001111101000」です。</p>



<h3 class="wp-block-heading"><span id="toc20">BASE関数を使う方法（Microsoft 365 / Excel 2013以降）</span></h3>



<p class="wp-block-paragraph">Excel 2013以降なら、BASE関数（ベース関数）を使う方法もあります。BASE関数は任意の基数（2〜36）に変換できる関数です。</p>



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



<p class="wp-block-paragraph">結果は「1111101000」です。DEC2BIN関数の-512〜511の制限がないので、大きな値もそのまま変換できます。</p>



<p class="wp-block-paragraph">ただし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 class="wp-block-paragraph">負の数の変換が必要ならDEC2BIN関数を使いましょう。正の大きな値だけならBASE関数が便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc21">実用例：IPアドレスのオクテットを2進数に変換する</span></h2>



<p class="wp-block-paragraph">IPアドレスのサブネットマスクを2進数で確認するときにDEC2BIN関数が便利です。</p>



<p class="wp-block-paragraph">各オクテット（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 class="wp-block-paragraph">たとえばサブネットマスク「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 class="wp-block-paragraph">連結すると「11111111.11111111.11111111.00000000」です。上位24ビットがネットワーク部だと一目でわかりますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">CIDR表記との対応</span></h3>



<p class="wp-block-paragraph">よく使うサブネットマスクと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 class="wp-block-paragraph"><code>=DEC2BIN(240, 8)</code> の結果「11110000」を見れば、上位4ビットがネットワーク部とすぐわかります。ネットワークの設定値を確認するときに試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc23">実用例：ビットフラグの分解と可視化</span></h2>



<p class="wp-block-paragraph">ビットフラグとは、1つの数値の各ビットに異なる設定を割り当てる管理方法です。DEC2BIN関数で可視化すると、どのフラグがONになっているか一目でわかります。</p>



<h3 class="wp-block-heading"><span id="toc24">アクセス権限の例</span></h3>



<p class="wp-block-paragraph">たとえば、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 class="wp-block-paragraph">権限値が「53」のユーザーのビット構成を確認します。</p>



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



<p class="wp-block-paragraph">結果は「00110101」です。これを表に当てはめると、閲覧・編集・ログイン・印刷の4つの権限がONだとわかります。</p>



<h3 class="wp-block-heading"><span id="toc25">個別ビットの判定</span></h3>



<p class="wp-block-paragraph">特定のビットが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 class="wp-block-paragraph">この数式は、A1の値の6ビット目（閲覧権限=32）がONかOFFかを判定します。32は2^5（2の5乗）で、6ビット目に対応する値です。</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">変換結果が正しいか確認するには、往復変換が有効です。</p>



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



<p class="wp-block-paragraph">結果が「100」に戻れば変換が正確だと確認できます。負の数でも同様です。</p>



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



<p class="wp-block-paragraph">結果は「-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 class="wp-block-paragraph">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 class="wp-block-paragraph">ビット数の違いには数学的な根拠があります。DEC2BINは10ビット（2の10乗=1,024通り）です。DEC2OCTは30ビット（約10.7億通り）、DEC2HEXは40ビット（約1.1兆通り）になります。</p>



<p class="wp-block-paragraph">3関数とも、負の数は10桁の補数で返す点が共通しています。DEC2BINは入力範囲が最も狭いので、大きな数値を扱うときは注意してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc31">どの関数を選ぶかの判断基準</span></h3>



<p class="wp-block-paragraph">迷ったときは、変換先の用途で選びましょう。</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 class="wp-block-paragraph">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 class="wp-block-paragraph">この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p class="wp-block-paragraph">ExcelのDEC2BIN関数は、10進数を2進数に変換する関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</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 class="wp-block-paragraph">まずは <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>
