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

<channel>
	<title>進数変換 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e9%80%b2%e6%95%b0%e5%a4%89%e6%8f%9b/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Apr 2026 22:01:56 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>進数変換 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのDECIMAL関数の使い方｜N進数を10進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-decimal/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-decimal/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 15 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[10進数変換]]></category>
		<category><![CDATA[DECIMAL関数]]></category>
		<category><![CDATA[N進数]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2611</guid>

					<description><![CDATA[ExcelのDECIMAL関数の使い方を解説。2進数・8進数・16進数などのN進数を10進数に変換する方法を、基本構文から実践例、エラー対処法まで初心者にもわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「16進数のカラーコードを10進数に変換したいんだけど、どうやるんだろう？」「2進数や8進数を手計算でいちいち変換するのは面倒&#8230;」そんな悩み、ありますよね。</p>



<p>ExcelのDECIMAL関数を使えば、2進数・8進数・16進数はもちろん、最大36進数までのあらゆるN進数を一発で10進数に変換できます。この記事では、基本的な使い方から実践的な活用例まで、わかりやすく解説していきますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのDECIMAL関数とは？</a></li><li><a href="#toc2" tabindex="0">DECIMAL関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">DECIMAL関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">2進数を10進数に変換する</a></li><li><a href="#toc7" tabindex="0">8進数を10進数に変換する</a></li><li><a href="#toc8" tabindex="0">16進数を10進数に変換する</a></li></ol></li><li><a href="#toc9" tabindex="0">DECIMAL関数の実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">カラーコード（16進数）をRGB値に分解する</a></li><li><a href="#toc11" tabindex="0">複数の基数が混在するデータを一括変換する</a></li><li><a href="#toc12" tabindex="0">BASE関数と組み合わせて変換を検証する</a></li></ol></li><li><a href="#toc13" tabindex="0">よくあるエラーと対処法</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">#NAME?エラー</a></li></ol></li><li><a href="#toc17" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc18" tabindex="0">まとめ</a><ol><li><a href="#toc19" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p>DECIMAL関数（読み方: デシマル）は、<strong>指定した基数（N進数）の文字列を10進数に変換する関数</strong>です。「decimal」は英語で「10進数の」という意味ですね。</p>



<p>たとえば、16進数の「FF」を10進数に変換すると「255」になります。DECIMAL関数はこの変換をワンクリックで行ってくれます。</p>



<p>ポイントは、<strong>2進数から最大36進数まで幅広い基数に対応</strong>しているところです。BIN2DEC関数やHEX2DEC関数など個別の変換関数もありますが、DECIMAL関数なら1つの関数であらゆる基数に対応できますよ。</p>



<p><strong>対応バージョン</strong>: Excel 2013以降、Microsoft 365</p>



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



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



<pre class="wp-block-code"><code>=DECIMAL(文字列, 基数)</code></pre>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>10進数に変換したいN進数の値を文字列で指定します。255文字以内で、大文字・小文字の区別はありません</td></tr><tr><td>基数</td><td>必須</td><td>変換元の基数を2以上36以下の整数で指定します。10より大きい基数では0〜9の数字とA〜Zの文字を使います</td></tr></tbody></table></figure>



<p>基数は、いわば「何進数なのか」を教える番号です。2進数なら「2」、8進数なら「8」、16進数なら「16」を指定してくださいね。</p>



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



<p>実際にDECIMAL関数を使ってみましょう。ここでは代表的な3つのパターンを紹介します。</p>



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



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



<p>結果は「10」です。2進数の「1010」は、8+0+2+0 = 10 になります。</p>



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



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



<p>結果は「15」です。8進数の「17」は、1&#215;8 + 7&#215;1 = 15 になります。</p>



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



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



<p>結果は「255」です。16進数の「FF」は、15&#215;16 + 15&#215;1 = 255 ですね。Webのカラーコードなどでよく出てくる変換です。</p>



<p>セル参照を使う場合は、セルに変換したい値を入力して参照します。</p>



<pre class="wp-block-code"><code>=DECIMAL(A2, B2)</code></pre>



<p>A2に変換元の文字列、B2に基数を入力しておけば、柔軟に変換できますよ。</p>



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



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



<p>Web制作やデザインの現場では、16進数のカラーコードをRGB値に変換したい場面があります。DECIMAL関数とMID関数（文字列の途中から指定した文字数を取り出す関数）を組み合わせると、簡単に分解できますよ。</p>



<p>カラーコード「#3A7BD5」をRGB値に変換してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th><th>数式</th><th>結果</th></tr></thead><tbody><tr><td>A1</td><td>3A7BD5</td><td>（カラーコード）</td><td>—</td></tr><tr><td>B1</td><td>R値</td><td>=DECIMAL(MID(A1,1,2),16)</td><td>58</td></tr><tr><td>C1</td><td>G値</td><td>=DECIMAL(MID(A1,3,2),16)</td><td>123</td></tr><tr><td>D1</td><td>B値</td><td>=DECIMAL(MID(A1,5,2),16)</td><td>213</td></tr></tbody></table></figure>



<p>MID関数で2文字ずつ取り出し、DECIMAL関数で16進数から10進数に変換しています。「#」を除いた6桁の文字列を用意するのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc11">複数の基数が混在するデータを一括変換する</span></h3>



<p>「2進数・8進数・16進数のデータが混在している表を、すべて10進数に統一したい」というケースも対処できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（値）</th><th>B列（基数）</th><th>C列（数式）</th><th>D列（結果）</th></tr></thead><tbody><tr><td>1</td><td>1010</td><td>2</td><td>=DECIMAL(A1,B1)</td><td>10</td></tr><tr><td>2</td><td>17</td><td>8</td><td>=DECIMAL(A2,B2)</td><td>15</td></tr><tr><td>3</td><td>FF</td><td>16</td><td>=DECIMAL(A3,B3)</td><td>255</td></tr><tr><td>4</td><td>Z</td><td>36</td><td>=DECIMAL(A4,B4)</td><td>35</td></tr></tbody></table></figure>



<p>基数をB列に分けて管理すれば、同じ数式をコピーするだけで異なる基数のデータを一括変換できます。</p>



<h3 class="wp-block-heading"><span id="toc12">BASE関数と組み合わせて変換を検証する</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-base/">BASE関数</a>はDECIMAL関数の逆で、10進数をN進数に変換する関数です。この2つを組み合わせると、変換結果が正しいかどうか検証できます。</p>



<pre class="wp-block-code"><code>=BASE(DECIMAL(&quot;1A&quot;,16), 16)</code></pre>



<p>結果は「1A」に戻ります。DECIMAL関数で10進数にした結果を、BASE関数で元の基数に戻して一致するか確認してみてください。データの正確性チェックに便利ですよ。</p>



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



<p>DECIMAL関数を使うときに発生しやすいエラーとその対処法をまとめました。</p>



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



<p><strong>原因1: 文字列に基数で使えない文字が含まれている</strong></p>



<p>たとえば、2進数（基数2）で「0」と「1」以外の文字を使うとエラーになります。</p>



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



<p>2進数では「0」と「1」しか使えません。基数に対して有効な文字だけを使っているか確認してくださいね。</p>



<p><strong>原因2: 基数が範囲外</strong></p>



<p>基数に1以下や37以上の値を指定するとエラーになります。</p>



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



<p>基数は2以上36以下の範囲で指定しましょう。</p>



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



<p><strong>原因: 基数に数値以外を指定している</strong></p>



<p>基数に文字列や空白を指定するとエラーになります。</p>



<pre class="wp-block-code"><code>=DECIMAL(&quot;FF&quot;, &quot;じゅうろく&quot;)  → #VALUE!エラー</code></pre>



<p>基数は必ず数値で指定してください。</p>



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



<p><strong>原因: 関数名のスペルミス、またはExcel 2010以前を使っている</strong></p>



<p>DECIMAL関数はExcel 2013以降で使える関数です。お使いのExcelのバージョンを確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc17">似た関数との違い・使い分け</span></h2>



<p>DECIMAL関数と同じように進数変換ができる関数があります。それぞれの特徴を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>対応する基数</th><th>入力の上限</th></tr></thead><tbody><tr><td>DECIMAL</td><td>N進数 → 10進数</td><td>2〜36進数</td><td>255文字</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td>2進数 → 10進数</td><td>2進数のみ</td><td>10桁（-512〜511）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td>8進数 → 10進数</td><td>8進数のみ</td><td>10桁</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td><td>16進数のみ</td><td>10桁</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-base/">BASE</a></td><td>10進数 → N進数</td><td>2〜36進数</td><td>—</td></tr></tbody></table></figure>



<p><strong>使い分けのポイント</strong>は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>決まった基数だけを扱うなら</strong>: BIN2DEC、OCT2DEC、HEX2DEC関数がシンプルで使いやすいです</li><li><strong>さまざまな基数を一括処理するなら</strong>: DECIMAL関数なら基数をセル参照で変えられるので柔軟です</li><li><strong>10進数からN進数に変換するなら</strong>: <a href="https://mashukabu.com/excel-function-howto-use-base/">BASE関数</a>を使います。DECIMAL関数の逆変換ですね</li><li><strong>16進数同士の変換なら</strong>: <a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数</a>とDECIMAL関数を組み合わせると、任意の基数間で変換できます</li></ul>



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



<p>ExcelのDECIMAL関数について解説しました。最後にポイントを整理しておきましょう。</p>



<ul class="wp-block-list"><li>DECIMAL関数は、N進数の文字列を10進数に変換する関数</li><li>基数は2〜36まで対応しており、あらゆるN進数を扱える</li><li>構文は <code>=DECIMAL(文字列, 基数)</code> で、どちらの引数も必須</li><li>カラーコードの変換やデータの一括処理など、実務でも活躍する場面がある</li><li>#NUM!エラーが出たら、文字列と基数の組み合わせが正しいか確認する</li><li>特定の基数だけならBIN2DEC・OCT2DEC・HEX2DEC、逆変換ならBASE関数と使い分ける</li></ul>



<p>進数変換が必要な場面で、ぜひDECIMAL関数を試してみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc19">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-base/">BASE関数の使い方</a> &#8211; 10進数をN進数に変換する（DECIMAL関数の逆）</li><li><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数の使い方</a> &#8211; 2進数を10進数に変換する</li><li><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数の使い方</a> &#8211; 16進数を10進数に変換する</li><li><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数の使い方</a> &#8211; 8進数を10進数に変換する</li><li><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数の使い方</a> &#8211; 10進数を16進数に変換する</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-decimal/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>「16進数を10進数に変換したいけど、計算が面倒&#8230;」</p>



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



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



<p>この記事では、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-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Excelの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>HEX2DEC関数は、<strong>16進数を10進数に変換するExcelの関数</strong>です。</p>



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



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



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



<p>読み方は「ヘックス・ツー・デシマル」です。</p>



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



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



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



<p>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>Excel 2007以降は標準搭載されています。アドインの追加は不要です。</p>



<p>Excel for Microsoft 365（Windows/Mac）、Excel for the web、Excel 2024/2021/2019/2016 で動作します。Excel 2003以前を使っている場合は、分析ツールアドインの有効化が必要です。</p>



<h2 class="wp-block-heading"><span id="toc5">HEX2DEC関数の書式と引数</span></h2>



<p>基本構文は次のとおりです。</p>



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



<p>引数は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>「数値」には10進数に変換したい16進数を指定します。</p>



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



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



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



<p>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>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>HEX2DEC関数の戻り値は<strong>数値型</strong>です。</p>



<p>ここが<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>そのため、結果をそのまま計算に使えます。SUMやAVERAGEなどの数値関数と組み合わせても問題ありません。</p>



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



<p>結果は「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>まずは正の数を変換してみましょう。</p>



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



<p>結果は <strong>255</strong> です。16進数のFFは、10進数で255になります。</p>



<p>変換の仕組みを確認しておきます。各桁に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>合計は 240 + 15 = <strong>255</strong> です。</p>



<p>よく使う変換例をまとめておきます。</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>セルの値を参照して変換することもできます。A1に「1A」が入っているとします。</p>



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



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



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



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



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



<p>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>結果は <strong>-1</strong> です。全桁Fの値は、2の補数で-1を意味します。</p>



<p>負の数の代表的な変換例です。</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>ポイントは「10文字かどうか」です。たとえば「FF」は255（正の数）です。一方「FFFFFFFFFF」は-1（負の数）になります。文字数が10文字で先頭が8〜Fのときだけ負の数として解釈されますよ。</p>



<p>逆変換の<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>結果は「1F」です。正しく往復変換できることを確認できますよ。</p>



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



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



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



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



<p>A1に「#FF6600」が入っているとします。</p>



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



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



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



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



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



<p>16進数の文字数が10文字を超えるとエラーになります。</p>



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



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



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



<p>0〜9とA〜F以外の文字を含むとエラーです。</p>



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



<p>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>エラーが出る可能性がある場合は、IFERROR関数（エラー時に代替値を返す関数）で囲むと安全です。</p>



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



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



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



<p>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>大きな違いは3つあります。</p>



<p><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><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><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>用途に応じて使い分けてみてください。</p>



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



<p>Excelの進数変換関数は全部で12種類あります。関数名の規則は「変換元 + 2 + 変換先」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td>2進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td><td>2進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td>2進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td></tr><tr><td><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>この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p>HEX2DEC関数は、16進数を10進数に変換する関数です。</p>



<p>ポイントを整理します。</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>まずは <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のHEX2OCT関数の使い方｜16進数を8進数に変換する方法とエラー対策</title>
		<link>https://mashukabu.com/excel-function-howto-use-hex2oct/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-hex2oct/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 15 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[HEX2OCT]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2551</guid>

					<description><![CDATA[ExcelのHEX2OCT関数で16進数を8進数に変換する方法を解説。桁数指定のゼロ埋め、負の数の扱い、UNIXパーミッション活用例、エラー対処法、進数変換関数12種の使い分けまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「16進数を8進数に変換したいけど、手計算だと桁の対応がややこしい&#8230;」</p>



<p>Excelには、この変換を一発で行える関数があります。それがHEX2OCT関数です。</p>



<p>UNIXのファイルパーミッション確認やビット境界の変換など、16進数と8進数を行き来する場面は意外とあります。でも桁の対応が4ビットと3ビットで揃わないので手計算は面倒ですよね。</p>



<p>この記事では、ExcelのHEX2OCT関数の基本からエラー対策まで解説します。</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">ExcelのHEX2OCT関数とは</a><ol><li><a href="#toc2" tabindex="0">関数名の読み方と意味（Hexadecimal to Octal）</a></li><li><a href="#toc3" tabindex="0">どんなときに使うか（8進数変換の実務ユースケース）</a></li></ol></li><li><a href="#toc4" tabindex="0">HEX2OCT関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">引数1：数値（必須）</a></li><li><a href="#toc6" tabindex="0">引数2：桁数（省略可）</a></li><li><a href="#toc7" tabindex="0">変換できる数値の範囲</a></li></ol></li><li><a href="#toc8" tabindex="0">HEX2OCT関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">シンプルな変換例（直接値を指定）</a></li><li><a href="#toc10" tabindex="0">セル参照で変換する</a></li><li><a href="#toc11" tabindex="0">桁数を指定してゼロ埋めする</a></li></ol></li><li><a href="#toc12" tabindex="0">HEX2OCT関数の応用例</a><ol><li><a href="#toc13" tabindex="0">負の数を変換する（2の補数）</a></li><li><a href="#toc14" tabindex="0">UNIXファイルパーミッションを確認する</a></li></ol></li><li><a href="#toc15" tabindex="0">HEX2OCT関数の#NUM!エラーと#VALUE!エラーの原因と対処法</a><ol><li><a href="#toc16" tabindex="0">#NUM!エラー：数値が範囲外</a></li><li><a href="#toc17" tabindex="0">#NUM!エラー：桁数が結果の桁数より少ない</a></li><li><a href="#toc18" tabindex="0">#NUM!エラー：数値に無効な文字が含まれている</a></li><li><a href="#toc19" tabindex="0">#VALUE!エラー：桁数に数値以外を指定した場合</a></li><li><a href="#toc20" tabindex="0">IFERROR関数と組み合わせてエラーを回避する</a></li></ol></li><li><a href="#toc21" tabindex="0">HEX2OCTと他の進数変換関数の使い分け</a><ol><li><a href="#toc22" tabindex="0">HEX2OCT・OCT2HEX（逆変換）の関係</a></li><li><a href="#toc23" tabindex="0">HEX系関数の比較</a></li><li><a href="#toc24" tabindex="0">進数変換関数の一覧</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>HEX2OCT関数は、<strong>16進数を8進数に変換するExcelの関数</strong>です。</p>



<p>16進数は「0〜9」と「A〜F」の16種類の文字で数を表す方法です。一方、8進数は「0〜7」の8種類の数字で数を表します。</p>



<p>16進数の1桁は4ビット（2進数4桁）に対応します。8進数の1桁は3ビット（2進数3桁）です。ビット幅が異なるため手計算では一度2進数を経由する必要があります。HEX2OCT関数を使えば、この変換を自動で行えますよ。</p>



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



<p>読み方は「ヘックス・ツー・オクタル」です。</p>



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



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



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



<p>HEX2OCT関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>UNIXのファイルパーミッション（chmod 755など）を16進数から確認したいとき</li><li>16進数のデータを3ビット単位で区切って解析したいとき</li><li>レジスタ値やメモリダンプを8進数表記で確認したいとき</li><li>情報処理試験の勉強で進数変換を練習したいとき</li></ul>



<p>Excel 2016以降は標準搭載されています。アドインの追加は不要です。</p>



<h2 class="wp-block-heading"><span id="toc4">HEX2OCT関数の構文と引数</span></h2>



<p>基本構文は次のとおりです。</p>



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



<p>引数は2つあります。必須なのは「数値」だけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>8進数に変換したい16進数</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定。先頭をゼロで埋める</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">引数1：数値（必須）</span></h3>



<p>8進数に変換したい16進数を指定します。</p>



<p>直接値を入力しても、セル参照で指定してもOKです。指定できるのは10文字までです。</p>



<p>大文字・小文字は区別されません。「3B4E」でも「3b4e」でも同じ結果になります。</p>



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



<p>結果の文字数（桁数）を整数で指定します。</p>



<p>省略すると、変換に必要な最小限の桁数で返されます。指定すると、先頭にゼロを埋めて桁数を揃えてくれます。</p>



<p>たとえば <code>=HEX2OCT("F")</code> は「17」です。<code>=HEX2OCT("F", 4)</code> なら「0017」になります。桁数を揃えたい場面で便利ですよ。</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">変換できる数値の範囲</span></h3>



<p>HEX2OCT関数が変換できる範囲は限られています。</p>



<p>出力が8進数10桁（30ビット）までなので、入力できる16進数の範囲も制限されます。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 1FFFFFFF（10進数で536870911）→ 3777777777（8進数）</li><li><strong>負の最小値</strong>: FFE0000000（10進数で-536870912）→ 4000000000（8進数）</li></ul>



<p>10進数に換算すると <strong>-536870912から536870911</strong> の範囲です。<a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN関数</a>の-512〜511と比べるとかなり広い範囲を扱えます。</p>



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



<h3 class="wp-block-heading"><span id="toc9">シンプルな変換例（直接値を指定）</span></h3>



<p>まずは関数に直接値を入力してみましょう。</p>



<pre class="wp-block-code"><code>=HEX2OCT(&quot;3B4E&quot;)</code></pre>



<p>結果は「35516」です。16進数の3B4Eは、8進数で35516になります。</p>



<p>変換の仕組みを確認しておきます。16進数を10進数に変換し、さらに8進数に変換します。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>10進数</th><th>8進数</th></tr></thead><tbody><tr><td>3B4E</td><td>15182</td><td>35516</td></tr></tbody></table></figure>



<p>よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>出力（8進数）</th><th>10進数</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td><td>&nbsp;</td></tr><tr><td>7</td><td>7</td><td>7</td><td>8進数1桁の最大値</td></tr><tr><td>8</td><td>10</td><td>8</td><td>8進数の桁上がり</td></tr><tr><td>A</td><td>12</td><td>10</td><td>&nbsp;</td></tr><tr><td>F</td><td>17</td><td>15</td><td>16進数1桁の最大値</td></tr><tr><td>1F</td><td>37</td><td>31</td><td>&nbsp;</td></tr><tr><td>FF</td><td>377</td><td>255</td><td>&nbsp;</td></tr><tr><td>3B4E</td><td>35516</td><td>15182</td><td>&nbsp;</td></tr><tr><td>1FFFFFFF</td><td>3777777777</td><td>536870911</td><td>正の最大値</td></tr></tbody></table></figure>



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



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



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



<p>結果は「32」です。参照先の値を変えれば結果も自動で更新されます。複数の値をまとめて変換したいときに活用してみてください。</p>



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



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



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



<p>結果は「017」です。3桁に揃えてくれました。</p>



<p>桁数を指定しない場合と比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=HEX2OCT(&#8220;F&#8221;)</td><td>17</td><td>最小桁数（2桁）</td></tr><tr><td>=HEX2OCT(&#8220;F&#8221;, 3)</td><td>017</td><td>3桁にゼロ埋め</td></tr><tr><td>=HEX2OCT(&#8220;F&#8221;, 5)</td><td>00017</td><td>5桁にゼロ埋め</td></tr><tr><td>=HEX2OCT(&#8220;A&#8221;)</td><td>12</td><td>最小桁数（2桁）</td></tr><tr><td>=HEX2OCT(&#8220;A&#8221;, 4)</td><td>0012</td><td>4桁にゼロ埋め</td></tr></tbody></table></figure>



<p>桁揃えを行うとデータの見た目が整い、比較しやすくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc12">HEX2OCT関数の応用例</span></h2>



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



<p>HEX2OCT関数に負の数を表す16進数を指定すると、2の補数（にのほすう）で表現された10桁の8進数が返ります。</p>



<p>2の補数とは、コンピュータが負の整数を表す仕組みです。最上位ビットが「1」なら負の数を意味します。</p>



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



<p>結果は「7777777777」です。これは10進数の-1に相当します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数を変換する場合、桁数（第2引数）を指定しても無視されます。常に10桁の8進数が返されます。</p></blockquote>



<p>負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>出力（8進数）</th><th>10進数</th><th>備考</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>7777777777</td><td>-1</td><td>全桁が最大値</td></tr><tr><td>FFFFFFFFFE</td><td>7777777776</td><td>-2</td><td>&nbsp;</td></tr><tr><td>FFFFFFFF00</td><td>7777777400</td><td>-256</td><td>&nbsp;</td></tr><tr><td>FFE0000000</td><td>4000000000</td><td>-536870912</td><td>負の最小値</td></tr></tbody></table></figure>



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



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



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



<h3 class="wp-block-heading"><span id="toc14">UNIXファイルパーミッションを確認する</span></h3>



<p>HEX2OCT関数の実務での活用例として、UNIXファイルパーミッションの確認があります。</p>



<p>UNIXのパーミッションは9ビット（rwxrwxrwx）で表されます。8進数なら1桁が3ビットなので、ちょうど3桁で表現できます。chmodコマンドの「755」や「644」がまさに8進数表記です。</p>



<p>システムのログやAPIレスポンスでパーミッションが16進数で記録されている場合、HEX2OCT関数で8進数に変換できます。</p>



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



<p>結果は「755」です。これはrwxr-xr-x（所有者に全権限、グループと他者に読み取り・実行権限）を意味します。</p>



<p>代表的なパーミッションの変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>数式</th><th>8進数</th><th>パーミッション</th></tr></thead><tbody><tr><td>1ED</td><td>=HEX2OCT(&#8220;1ED&#8221;)</td><td>755</td><td>rwxr-xr-x</td></tr><tr><td>1A4</td><td>=HEX2OCT(&#8220;1A4&#8221;)</td><td>644</td><td>rw-r&#8211;r&#8211;</td></tr><tr><td>1FF</td><td>=HEX2OCT(&#8220;1FF&#8221;)</td><td>777</td><td>rwxrwxrwx</td></tr></tbody></table></figure>



<p>パーミッション管理の場面で、ぜひ活用してみてください。</p>



<h2 class="wp-block-heading"><span id="toc15">HEX2OCT関数の#NUM!エラーと#VALUE!エラーの原因と対処法</span></h2>



<p>HEX2OCT関数で発生するエラーは主に2種類です。原因別に対処法を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">#NUM!エラー：数値が範囲外</span></h3>



<p>変換できる範囲はFFE0000000〜1FFFFFFFです。範囲外の値を指定するとエラーになります。</p>



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



<p>10進数で-536870912〜536870911の範囲に収まっているか確認しましょう。<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>で10進数に変換すると、範囲内かどうかを確かめやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc17">#NUM!エラー：桁数が結果の桁数より少ない</span></h3>



<p>桁数の指定が結果に必要な桁数より少ない場合もエラーです。</p>



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



<p>FFを8進数にすると「377」で3桁必要です。桁数に2を指定すると足りないためエラーになります。桁数は結果の桁数以上を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc18">#NUM!エラー：数値に無効な文字が含まれている</span></h3>



<p>数値に16進数として無効な文字を含む文字列を指定すると#NUM!エラーです。</p>



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



<p>16進数で使える文字は0〜9とA〜Fだけです。G以降のアルファベットは使えません。</p>



<h3 class="wp-block-heading"><span id="toc19">#VALUE!エラー：桁数に数値以外を指定した場合</span></h3>



<p>桁数（第2引数）に数値以外の文字列を指定すると#VALUE!エラーになります。</p>



<pre class="wp-block-code"><code>=HEX2OCT(&quot;FF&quot;, &quot;abc&quot;)   → #VALUE!エラー</code></pre>



<p>桁数には整数を指定してください。セル参照を使う場合は、参照先が数値かどうかを確認しておきましょう。</p>



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



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



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



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



<h2 class="wp-block-heading"><span id="toc21">HEX2OCTと他の進数変換関数の使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc22">HEX2OCT・OCT2HEX（逆変換）の関係</span></h3>



<p>HEX2OCT関数と<a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX関数</a>は逆変換の関係です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換方向</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><strong>HEX2OCT</strong></td><td>16進数 → 8進数</td><td>0〜Fの文字列（最大10桁）</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><td>0〜7の文字列（最大10桁）</td><td>16進数テキスト（最大10桁）</td></tr></tbody></table></figure>



<p>使いどころを整理します。</p>



<ul class="wp-block-list"><li><strong>HEX2OCT</strong>: 16進数のデータを8進数（3ビット単位）で確認したいとき</li><li><strong>OCT2HEX</strong>: 8進数のパーミッション値を16進数に変換したいとき</li></ul>



<h3 class="wp-block-heading"><span id="toc23">HEX系関数の比較</span></h3>



<p>Excelには16進数を他の進数に変換するHEX系関数が3つあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>出力範囲（10進数）</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td>2進数</td><td>-512〜511（10桁）</td></tr><tr><td><strong>HEX2OCT</strong> ※この記事</td><td>8進数</td><td>-536870912〜536870911（10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>10進数</td><td>約-5,497億〜約5,497億</td></tr></tbody></table></figure>



<p>HEX2BINは10桁でも10ビットしかないため、入力範囲が狭めです。HEX2OCTは10桁で30ビットなので、かなり広い範囲を扱えますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">進数変換関数の一覧</span></h3>



<p>Excelの進数変換関数は全部で12種類あります。関数名の規則は「変換元 + 2 + 変換先」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td>2進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td><td>2進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td>2進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td></tr><tr><td><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-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td></tr><tr><td><strong>HEX2OCT</strong> ※この記事</td><td>16進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2bin/">OCT2BIN</a></td><td>8進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td>8進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td><td>8進数 → 16進数</td></tr></tbody></table></figure>



<p>この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p>HEX2OCT関数は、16進数を8進数に変換する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=HEX2OCT(数値, [桁数])</code> の最大2引数</li><li>変換できる範囲は10進数で-536870912〜536870911</li><li>桁数を指定すると先頭をゼロで埋めて桁揃えできる</li><li>負の数は10桁の2の補数で返される（桁数指定は無視）</li><li>UNIXパーミッションの確認に便利</li><li>#NUM!エラーは「範囲外」「桁数不足」「無効な文字」が原因</li><li>#VALUE!エラーは桁数引数に数値以外を指定した場合</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX関数</a>を使う</li><li>Excel 2016以降で標準搭載。アドイン不要</li></ul>



<p>まずは <code>=HEX2OCT("FF")</code> で「377」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-hex2oct/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのHEX2BIN関数｜16進数を2進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-hex2bin/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-hex2bin/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 14 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[HEX2BIN]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2543</guid>

					<description><![CDATA[ExcelのHEX2BIN関数で16進数を2進数に変換する方法を丁寧に解説。桁数指定のゼロ埋め・負の数の扱い・#NUM!エラー対策・進数変換12関数の比較表も掲載します。]]></description>
										<content:encoded><![CDATA[
<p>「16進数を2進数に変換したいけど、手計算だと面倒&#8230;」</p>



<p>Excelには、この変換を一発で行える関数があります。それがHEX2BIN関数です。</p>



<p>ネットワーク設定やビットフラグの確認など、16進数を2進数に変換する場面は意外とあります。でも1桁ずつ変換するのは手間がかかりますよね。</p>



<p>この記事では、ExcelのHEX2BIN関数の基本からエラー対策まで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">ExcelのHEX2BIN関数とは？基本構文と対応バージョン</a><ol><li><a href="#toc2" tabindex="0">読み方と意味</a></li><li><a href="#toc3" tabindex="0">どんなときに使うか</a></li><li><a href="#toc4" tabindex="0">構文と引数の詳細</a></li><li><a href="#toc5" tabindex="0">変換できる数値の範囲</a></li><li><a href="#toc6" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc7" tabindex="0">HEX2BIN関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">シンプルな変換例（直接値を指定）</a></li><li><a href="#toc9" tabindex="0">セル参照で変換する</a></li><li><a href="#toc10" tabindex="0">桁数を指定してゼロ埋めする</a></li></ol></li><li><a href="#toc11" tabindex="0">HEX2BIN関数の応用例</a><ol><li><a href="#toc12" tabindex="0">負の数を変換する（2の補数）</a></li><li><a href="#toc13" tabindex="0">ビットフラグを確認する</a></li></ol></li><li><a href="#toc14" tabindex="0">HEX2BIN関数のよくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#NUM!エラー：数値が範囲外</a></li><li><a href="#toc16" tabindex="0">#NUM!エラー：桁数が結果より少ない</a></li><li><a href="#toc17" tabindex="0">#VALUE!エラー：16進数ではない文字</a></li><li><a href="#toc18" tabindex="0">エラー一覧表</a></li><li><a href="#toc19" tabindex="0">IFERROR関数と組み合わせてエラーを回避する</a></li></ol></li><li><a href="#toc20" tabindex="0">ExcelのHEX2BINと他の進数変換関数の使い分け</a><ol><li><a href="#toc21" tabindex="0">HEX2BIN・BIN2HEX（逆変換）の関係</a></li><li><a href="#toc22" tabindex="0">HEX系関数の比較</a></li><li><a href="#toc23" tabindex="0">進数変換関数の一覧</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのHEX2BIN関数とは？基本構文と対応バージョン</span></h2>



<p>HEX2BIN関数は、<strong>16進数を2進数に変換するExcelの関数</strong>です。</p>



<p>16進数は「0〜9」と「A〜F」の16種類の文字で数を表します。一方、2進数は「0」と「1」だけで数を表します。</p>



<p>16進数の1桁は2進数の4桁に対応します。たとえば16進数の「A」は2進数で「1010」です。HEX2BIN関数を使えば、この変換を自動で行えますよ。</p>



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



<p>読み方は「ヘックス・ツー・バイナリ」です。</p>



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



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



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



<p>HEX2BIN関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>16進数のビットフラグを2進数に展開してON/OFFを確認したいとき</li><li>ネットワークアドレスやサブネットマスクのビット構成を調べたいとき</li><li>レジスタ値やメモリダンプの内容をビット単位で解析したいとき</li><li>情報処理試験の勉強で進数変換を練習したいとき</li></ul>



<h3 class="wp-block-heading"><span id="toc4">構文と引数の詳細</span></h3>



<p>基本構文は次のとおりです。</p>



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



<p>引数は2つあります。必須なのは「数値」だけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>2進数に変換したい16進数</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定。先頭をゼロで埋める</td></tr></tbody></table></figure>



<p><strong>引数1：数値（必須）</strong></p>



<p>2進数に変換したい16進数を指定します。</p>



<p>直接値を入力してもセル参照でもOKです。指定できるのは10文字までです。</p>



<p>大文字・小文字は区別されません。「1F」でも「1f」でも同じ結果になります。</p>



<p><strong>引数2：桁数（省略可）</strong></p>



<p>結果の文字数（桁数）を整数で指定します。</p>



<p>省略すると、最小限の桁数で返されます。指定すると、先頭にゼロを埋めて桁数を揃えてくれます。</p>



<p>たとえば <code>=HEX2BIN("A")</code> は「1010」です。<code>=HEX2BIN("A", 8)</code> なら「00001010」になります。8ビット表記に揃えたいときに便利ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>桁数に小数を指定すると、小数点以下が切り捨てられます。0以下の値を指定すると#NUM!エラーです。</p></blockquote>



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



<p>HEX2BIN関数が変換できる範囲は限られています。出力が2進数10桁（10ビット）までなので、入力の16進数にも制限があります。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 1FF（10進数で511）→ 111111111（2進数9桁）</li><li><strong>負の最小値</strong>: FFFFFFFE00（10進数で-512）→ 1000000000（2進数10桁）</li></ul>



<p>10進数に換算すると <strong>-512から511</strong> の範囲です。<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>のように広い範囲は扱えないので注意してください。</p>



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



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



<p>Excel for Microsoft 365（Windows/Mac）、Excel for the web、Excel 2024/2021/2019/2016 で動作します。Excel 2003以前を使っている場合は、分析ツールアドインの有効化が必要です。</p>



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



<h3 class="wp-block-heading"><span id="toc8">シンプルな変換例（直接値を指定）</span></h3>



<p>まずは関数に直接値を入力してみましょう。</p>



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



<p>結果は「11111」です。16進数の1Fは、2進数で11111になります。</p>



<p>変換の仕組みを確認しておきます。16進数の各桁を4ビットの2進数に置き換えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>1</th><th>F (=15)</th></tr></thead><tbody><tr><td>2進数（4桁）</td><td>0001</td><td>1111</td></tr></tbody></table></figure>



<p>つなげると「00011111」です。先頭のゼロを省略して「11111」になります。</p>



<p>よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>出力（2進数）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&nbsp;</td></tr><tr><td>1</td><td>1</td><td>&nbsp;</td></tr><tr><td>A</td><td>1010</td><td>10進数で10</td></tr><tr><td>F</td><td>1111</td><td>1桁の最大値</td></tr><tr><td>10</td><td>10000</td><td>16進数の桁上がり</td></tr><tr><td>1F</td><td>11111</td><td>&nbsp;</td></tr><tr><td>FF</td><td>11111111</td><td>8ビットの最大値（10進数で255）</td></tr><tr><td>1FF</td><td>111111111</td><td>正の最大値（10進数で511）</td></tr></tbody></table></figure>



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



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



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



<p>結果は「11010」です。参照先の値を変えれば結果も自動で更新されます。複数の値をまとめて変換したいときに活用してみてください。</p>



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



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



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



<p>結果は「00001010」です。8桁に揃えてくれました。</p>



<p>桁数を指定しない場合と比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=HEX2BIN(&#8220;A&#8221;)</td><td>1010</td><td>最小桁数（4桁）</td></tr><tr><td>=HEX2BIN(&#8220;A&#8221;, 8)</td><td>00001010</td><td>8桁にゼロ埋め</td></tr><tr><td>=HEX2BIN(&#8220;F&#8221;)</td><td>1111</td><td>最小桁数（4桁）</td></tr><tr><td>=HEX2BIN(&#8220;F&#8221;, 8)</td><td>00001111</td><td>8桁にゼロ埋め</td></tr></tbody></table></figure>



<p>バイト単位（8ビット）で揃えたいときは桁数に8を指定すると見やすくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">HEX2BIN関数の応用例</span></h2>



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



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



<p>2の補数とは、コンピュータが負の整数を表す仕組みです。最上位ビットが「1」なら負の数を意味します。</p>



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



<p>結果は「1111111111」です。これは10進数の-1に相当します。</p>



<p>負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>出力（2進数）</th><th>10進数</th><th>備考</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>1111111111</td><td>-1</td><td>全桁1</td></tr><tr><td>FFFFFFFFFE</td><td>1111111110</td><td>-2</td><td>&nbsp;</td></tr><tr><td>FFFFFFFF00</td><td>1100000000</td><td>-256</td><td>&nbsp;</td></tr><tr><td>FFFFFFFE00</td><td>1000000000</td><td>-512</td><td>負の最小値</td></tr></tbody></table></figure>



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



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



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



<h3 class="wp-block-heading"><span id="toc13">ビットフラグを確認する</span></h3>



<p>HEX2BIN関数の実務での活用例として、ビットフラグの解析があります。</p>



<p>ビットフラグとは、2進数の各桁（ビット）にON/OFFの意味を持たせる仕組みです。設定値やステータスコードを16進数で管理しているシステムは多くあります。</p>



<p>たとえば、設定値が16進数「0B」だった場合を考えます。</p>



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



<p>結果は「00001011」です。右から順に各ビットの意味を確認できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>ビット位置</th><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th><th>0</th></tr></thead><tbody><tr><td>値</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>1</td></tr><tr><td>状態</td><td>OFF</td><td>OFF</td><td>OFF</td><td>OFF</td><td>ON</td><td>OFF</td><td>ON</td><td>ON</td></tr></tbody></table></figure>



<p>ビット0、ビット1、ビット3がONであることがわかります。MID関数（文字列から指定位置の文字を取り出す関数）を使えば、特定ビットの値だけを取り出すこともできますよ。</p>



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



<p>HEX2BIN関数で発生するエラーは主に2種類です。原因別に対処法を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">#NUM!エラー：数値が範囲外</span></h3>



<p>変換できる範囲はFFFFFFFFE00〜1FFです。範囲外の値を指定するとエラーになります。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;200&quot;)          → #NUM!エラー（正の最大値1FFを超過）
=HEX2BIN(&quot;FFFFFFFDFF&quot;)   → #NUM!エラー（負の最小値FFFFFFFE00を下回る）</code></pre>



<p>10進数で-512〜511の範囲に収まっているか確認しましょう。<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>で10進数に変換すると、範囲内かどうかを確かめやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc16">#NUM!エラー：桁数が結果より少ない</span></h3>



<p>桁数の指定が結果に必要な桁数より少ない場合もエラーです。</p>



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



<p>Fを2進数にすると「1111」で4桁必要です。桁数に2を指定すると足りません。桁数は結果の桁数以上を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc17">#VALUE!エラー：16進数ではない文字</span></h3>



<p>数値に16進数として無効な文字を含めると#VALUE!エラーです。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;GG&quot;)   → #VALUE!エラー</code></pre>



<p>16進数で使える文字は0〜9とA〜Fだけです。G以降のアルファベットや記号は使えません。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>値がFFFFFFFFE00〜1FFの範囲外</td><td>HEX2DECで10進数に変換して範囲を確認</td></tr><tr><td>#NUM!</td><td>桁数が結果の桁数より少ない</td><td>桁数を増やす（8や10を推奨）</td></tr><tr><td>#NUM!</td><td>桁数に0以下を指定</td><td>1以上の整数を指定</td></tr><tr><td>#VALUE!</td><td>0〜9・A〜F以外の文字を含む</td><td>入力値の文字を確認</td></tr></tbody></table></figure>



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



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



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



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



<h2 class="wp-block-heading"><span id="toc20">ExcelのHEX2BINと他の進数変換関数の使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc21">HEX2BIN・BIN2HEX（逆変換）の関係</span></h3>



<p>HEX2BIN関数と<a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX関数</a>は逆変換の関係です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換方向</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><strong>HEX2BIN</strong></td><td>16進数 → 2進数</td><td>0〜Fの文字列（最大10桁）</td><td>2進数テキスト（最大10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td><td>2進数 → 16進数</td><td>0と1の文字列（最大10桁）</td><td>16進数テキスト（最大10桁）</td></tr></tbody></table></figure>



<p>使いどころを整理します。</p>



<ul class="wp-block-list"><li><strong>HEX2BIN</strong>: 16進数のデータをビット単位で確認したいとき</li><li><strong>BIN2HEX</strong>: 2進数のビット列を16進数にまとめたいとき</li></ul>



<h3 class="wp-block-heading"><span id="toc22">HEX系関数の比較</span></h3>



<p>Excelには16進数を他の進数に変換するHEX系関数が3つあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>出力範囲</th></tr></thead><tbody><tr><td><strong>HEX2BIN</strong> ※この記事</td><td>2進数</td><td>-512〜511（10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>8進数</td><td>-512〜511（10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>10進数</td><td>約-5,497億〜約5,497億</td></tr></tbody></table></figure>



<p>HEX2BINとHEX2OCTは出力が10桁固定のため、入力範囲が狭めです。HEX2DECは範囲が広い点が特徴ですよ。</p>



<h3 class="wp-block-heading"><span id="toc23">進数変換関数の一覧</span></h3>



<p>Excelの進数変換関数は全部で12種類あります。関数名の規則は「変換元 + 2 + 変換先」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td>2進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td><td>2進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td>2進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td></tr><tr><td><strong>HEX2BIN</strong> ※この記事</td><td>16進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>16進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2bin/">OCT2BIN</a></td><td>8進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td>8進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td><td>8進数 → 16進数</td></tr></tbody></table></figure>



<p>この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p>HEX2BIN関数は、16進数を2進数に変換する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=HEX2BIN(数値, [桁数])</code> の最大2引数</li><li>変換できる範囲は10進数で-512〜511</li><li>桁数を指定すると先頭をゼロで埋めて桁揃えできる</li><li>負の数は10桁の2の補数で返される</li><li>ビットフラグの解析やネットワーク設定の確認に使える</li><li>#NUM!エラーは「範囲外」か「桁数不足」が原因</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX関数</a>を使う</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p>まずは <code>=HEX2BIN("FF")</code> で「11111111」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-hex2bin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excelの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>「10進数を16進数に変換したいけど、手計算は面倒&#8230;」</p>



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



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



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



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



<p>読み方は「デック・ツー・ヘックス」です。</p>



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



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



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



<p>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>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>引数は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><strong>引数1: 数値（必須）</strong></p>



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



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



<p><strong>引数2: 桁数（省略可）</strong></p>



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



<p>指定すると先頭にゼロを埋めて桁数を揃えてくれます。カラーコードの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>DEC2HEX関数が変換できるのは <strong>-549,755,813,888から549,755,813,887</strong> の整数です。</p>



<p>この範囲は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>範囲外の数値を指定すると#NUM!エラーになります。</p>



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



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



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



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



<p>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>現在の主要バージョンならアドイン不要でそのまま使えますよ。</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>まずは関数に直接値を入力してみましょう。</p>



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



<p>結果は「FF」です。10進数の255は、16進数でFFになります。</p>



<p>変換の仕組みを確認しておきます。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>合計: 240 + 15 = <strong>255</strong> ですね。</p>



<p>よく使う変換例をまとめておきます。</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>セルの値を参照して変換することもできます。A1に「200」が入っているなら、次の数式です。</p>



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



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



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



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



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



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



<p>結果は「FFFFFFFFFF」です。40ビット全部が1になる値です。</p>



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



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



<p>負の数の代表的な変換例です。</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>負の数かどうかは先頭の文字で判断できます。先頭が「8」〜「F」なら負の数です。先頭が「0」〜「7」なら正の数になります。</p>



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



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



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



<p>結果は「00FF」です。4桁に揃えてくれました。</p>



<p>桁数を指定しない場合と比べてみましょう。</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>カラーコードでは各色2桁固定が必要です。MACアドレスも各オクテット2桁固定です。桁数指定はこうした場面で欠かせませんよ。</p>



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



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



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



<p>#NUM!エラーが出る原因は3つあります。</p>



<p><strong>1. 数値が変換範囲外</strong></p>



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



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



<p><strong>2. 桁数が結果より少ない</strong></p>



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



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



<p><strong>3. 桁数が0以下</strong></p>



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



<p>桁数は1以上の整数を指定してください。</p>



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



<p>数値や桁数に文字列を指定すると#VALUE!エラーです。</p>



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



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



<p>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>エラーが出る可能性がある場合は、IFERROR関数（エラー時に代替値を返す関数）で囲むと安全です。</p>



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



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



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



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



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



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



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



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



<p>結果は「E8D4A51000」です。DEC2HEX関数の範囲外の値もそのまま変換できます。</p>



<p>ただし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>負の数の変換が必要ならDEC2HEX関数を使いましょう。正の大きな値だけならBASE関数が便利ですよ。</p>



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



<p>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>この数式は次の手順で動きます。</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>A1に100000を入れると、結果は「000186A0」です。</p>



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



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



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



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



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



<p>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>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>A1に255、B1に128、C1に0が入っていれば、結果は「#FF8000」（オレンジ色）です。</p>



<p>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>代表的な色の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>カラーコードからRGB値を取り出すには、<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>とMID関数を組み合わせます。</p>



<p>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>MID関数（文字列の途中から指定文字数を取り出す関数）で2文字ずつ抜き出し、HEX2DEC関数で10進数に戻す流れです。DEC2HEXとHEX2DECの往復変換が活きる場面ですね。</p>



<h2 class="wp-block-heading"><span id="toc26">実用例：MACアドレスと文字コードを16進数で管理する</span></h2>



<p>カラーコード以外にも、DEC2HEX関数が活躍する実務シーンがあります。</p>



<h3 class="wp-block-heading"><span id="toc27">MACアドレスのフォーマット変換</span></h3>



<p>MACアドレスは「AA:BB:CC:DD:EE:FF」のように、6つのオクテットを16進数2桁で表記します。機器管理台帳でMACアドレスを整理するときに便利です。</p>



<p>たとえば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>A1〜F1に「0, 26, 106, 63, 255, 1」と入っていれば、結果は「00:1A:6A:3F:FF:01」です。</p>



<p>各オクテットは0〜255の範囲なので、DEC2HEX関数の範囲内に収まります。桁数を2に指定して「0A」のようにゼロ埋めするのがポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc28">文字コードの16進数変換（CODE関数との連携）</span></h3>



<p>Excel のCODE関数（コード関数）は、文字の文字コード番号を10進数で返します。この値をDEC2HEX関数で16進数に変換すると、プログラミングでよく使う16進数表記が得られます。</p>



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



<p>結果は「41」です。ASCIIコードで「A」は10進数65、16進数で41になります。</p>



<p>主な文字の対応表です。</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>プログラムのデバッグやデータ変換作業で、文字コードを確認したいときに試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc29">HEX2DEC関数で逆変換する（16進数→10進数）</span></h2>



<p>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>変換結果が正しいか確認するには、往復変換が有効です。</p>



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



<p>結果が「100」に戻れば変換が正確だと確認できます。負の数でも同様です。</p>



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



<p>結果は「-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>入力と出力の型が逆転する点に注意です。DEC2HEX関数はテキストを返し、HEX2DEC関数は数値を返します。</p>



<h2 class="wp-block-heading"><span id="toc32">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</span></h2>



<p>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>ビット数の違いには数学的な理由があります。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>3関数とも負の数は10桁の補数で返す点が共通しています。</p>



<h3 class="wp-block-heading"><span id="toc34">どの関数を選ぶか</span></h3>



<p>迷ったときは、変換先の用途で選びましょう。</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>複数の進数を行き来するなら、まず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>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>この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p>ExcelのDEC2HEX関数は、10進数を16進数に変換する関数です。</p>



<p>ポイントを整理します。</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>まずは <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>「10進数を8進数に変換したいけど、手計算は面倒&#8230;」</p>



<p>Excelには、そんな変換を一発で行える関数があります。それがDEC2OCT関数です。</p>



<p>Linuxのファイル権限（chmod）やプログラミングで、8進数が必要になる場面は意外とあります。でも手計算で変換するのは桁数が増えると大変ですよね。</p>



<p>この記事では、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-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">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>DEC2OCT関数は、<strong>10進数を8進数に変換するExcelの関数</strong>です。</p>



<p>10進数は私たちが普段使っている0〜9の数字で表す方法です。一方、8進数は「0」〜「7」の8種類の数字で数を表します。8進数はLinuxのファイル権限やプログラミングで使われています。</p>



<p>DEC2OCT関数を使えば、この変換を自動で行えますよ。</p>



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



<p>読み方は「デック・ツー・オクト」です。</p>



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



<p>つまり「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>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>引数は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><strong>引数1：数値（必須）</strong></p>



<p>8進数に変換したい10進数の整数を指定します。セル参照でも直接入力でもOKです。小数を指定した場合は、小数点以下が切り捨てられます。</p>



<p><strong>引数2：桁数（省略可）</strong></p>



<p>結果の文字数（桁数）を整数で指定します。省略すると、変換に必要な最小限の桁数で返されます。指定すると、先頭にゼロを埋めて桁数を揃えてくれますよ。</p>



<p>たとえば <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>変換できる数値の範囲は <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>範囲外の数値を指定すると#NUM!エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc8">なぜDEC2BINより範囲が格段に広いのか</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN関数</a>の入力範囲は-512〜511です。一方、DEC2OCT関数は約±5億まで扱えます。</p>



<p>この差は桁数あたりの情報量の違いによるものです。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>DEC2OCTはDEC2BINの約1,048,576倍（2^20倍）の範囲を扱えます。大きな数値を扱う場合はDEC2OCTのほうが適していますよ。</p>



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



<p>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>現在の主要バージョンならアドインの追加は不要です。お使いのバージョンが古くなければ気にしなくて大丈夫ですよ。</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>まずは関数に直接値を入力してみましょう。</p>



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



<p>結果は「10」です。10進数の8は、8進数で10になります。</p>



<p>変換の仕組みを確認しておきます。各桁に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>合計: 8 + 0 = <strong>8</strong> ですね。</p>



<p>よく使う変換例をまとめておきます。</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>結果はテキスト文字列として返されます。見た目は数値ですが、左寄せで表示されるのが目印です。</p>



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



<p>DEC2OCT関数に負の数を指定すると、<strong>2の補数</strong>（にのほすう）で表現された10桁の8進数が返ります。</p>



<p>2の補数とは、コンピュータが負の整数を表す仕組みです。最上位の8進桁が4以上（4〜7）なら負の数を意味します。</p>



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



<p>結果は「7777777634」です。桁数の指定に関わらず、常に10桁で返されます。</p>



<p>負の数の代表的な変換例です。</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>逆変換の<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>結果は「-100」です。正しく往復変換できることを確認できますよ。</p>



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



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



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



<p>結果は「072」です。3桁に揃えてくれました。</p>



<p>桁数を指定しない場合と比べてみましょう。</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>chmodのパーミッション値を常に3桁で揃えたいときなどに便利ですよ。</p>



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



<p>DEC2OCT関数で発生するエラーは主に2種類です。原因別に対処法を見ていきましょう。</p>



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



<p>#NUM!エラーが出る原因は3つあります。</p>



<p><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>対処法は、指定する値が-536,870,912〜536,870,911に収まっているか確認することです。</p>



<p><strong>原因2：桁数が0以下</strong></p>



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



<p>桁数には1以上の整数を指定してください。</p>



<p><strong>原因3：桁数が結果の桁数より少ない</strong></p>



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



<p>64の8進数は「100」で3桁必要です。桁数に2を指定すると足りないためエラーになります。</p>



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



<p>#VALUE!エラーが出る原因は2つあります。</p>



<p><strong>原因1：数値が数値型でない</strong></p>



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



<p><strong>原因2：桁数が数値型でない</strong></p>



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



<p>引数には数値型のデータを指定しましょう。空白セルを参照している場合も注意が必要です。</p>



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



<p>エラーの原因と対処法を表にまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>数値が-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>エラーが出る可能性がある場合は、IFERROR関数（エラー時に代替値を返す関数）で囲むと安全です。</p>



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



<p>この数式なら、A1の値が範囲外でもエラーの代わりに「変換エラー」と表示されます。</p>



<p>入力値のチェックと組み合わせる方法もあります。</p>



<pre class="wp-block-code"><code>=IF(AND(A1&gt;=-536870912, A1&lt;=536870911), DEC2OCT(A1), &quot;範囲外&quot;)</code></pre>



<p>あらかじめ範囲をチェックしてから変換すると、より安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc19">536,870,911を超える値を8進数に変換するテクニック</span></h2>



<p>DEC2OCT関数の上限は536,870,911です。でも実務ではもっと大きな数値を8進数にしたい場面もありますよね。</p>



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



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



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



<p>結果は「7346545000」です。DEC2OCT関数の約±5億の制限がないので、大きな値もそのまま変換できます。</p>



<p>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>負の数を2の補数で変換したいならDEC2OCT関数を使いましょう。正の大きな値だけならBASE関数が便利ですよ。</p>



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



<p>BASE関数が使えない環境では、数値を上位と下位に分割して結合する方法もあります。</p>



<pre class="wp-block-code"><code>=DEC2OCT(INT(A1/536870912)) &amp; DEC2OCT(MOD(A1, 536870912), 10)</code></pre>



<p>A1に1,000,000,000を入れると、商が1、余りが463,129,088です。これをDEC2OCT関数でそれぞれ変換し、文字列結合します。</p>



<p>ただし、この方法は桁の繰り上がりに注意が必要です。特別な理由がなければBASE関数を使うほうがシンプルですよ。</p>



<h2 class="wp-block-heading"><span id="toc22">実用例：chmodパーミッション変換ワークフロー</span></h2>



<p>DEC2OCT関数が最も活躍するのは、Linuxのファイル権限（chmod）管理です。chmodコマンドは8進数3桁で権限を指定します。DEC2OCT関数を使えば、10進数ベースで計算した権限値を8進数に変換できます。</p>



<h3 class="wp-block-heading"><span id="toc23">権限ビットの仕組み</span></h3>



<p>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>この3つの権限を「所有者」「グループ」「その他」の3区分に割り当てます。各区分は0〜7の値を取ります。</p>



<h3 class="wp-block-heading"><span id="toc24">権限値の計算と変換</span></h3>



<p>たとえば「所有者に全権限、グループと他に読み取り+実行」を設定したい場合、各区分の値は次のとおりです。</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>この3つの値を10進数1つにまとめるには、各区分に8の重みをかけます。</p>



<pre class="wp-block-code"><code>= 7 × 64 + 5 × 8 + 5 × 1 = 493</code></pre>



<p>DEC2OCT関数で変換してみましょう。</p>



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



<p>結果は「755」です。<code>chmod 755</code> に対応する値だと確認できます。</p>



<h3 class="wp-block-heading"><span id="toc25">代表的なchmod値の早見表</span></h3>



<p>よく使う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><code>=DEC2OCT(493)</code> で「755」、<code>=DEC2OCT(420)</code> で「644」が返ります。</p>



<h3 class="wp-block-heading"><span id="toc26">Excel上で権限計算シートを作る</span></h3>



<p>実務では、権限の組み合わせをExcelで一覧管理するケースがあります。次のようなシートを作ると便利です。</p>



<p>A列に所有者の権限値（0〜7）、B列にグループの権限値、C列にその他の権限値を入力します。D列に以下の数式を入れましょう。</p>



<pre class="wp-block-code"><code>=DEC2OCT(A1*64 + B1*8 + C1, 3)</code></pre>



<p>第2引数に3を指定すると、常に3桁のchmod表記で返されます。たとえばA1=6、B1=4、C1=4なら「644」です。</p>



<p>逆に、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>A1に493を入れると、所有者=7、グループ=5、その他=5と分解できますよ。</p>



<h2 class="wp-block-heading"><span id="toc27">OCT2DEC関数で逆変換する（8進数→10進数）</span></h2>



<p>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>変換結果が正しいか確認するには、往復変換が有効です。</p>



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



<p>結果が「100」に戻れば変換が正確だと確認できます。負の数でも同様です。</p>



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



<p>結果は「-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>OCT2DEC関数には桁数指定がありません。入力は「0」〜「7」の数字のみで構成された最大10桁の文字列です。8や9を含む値を渡すと#NUM!エラーになるので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc30">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</span></h2>



<p>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>3つとも負の数は10桁の2の補数で返す点が共通しています。変換先の進数が大きいほど入力範囲も広がります。</p>



<h3 class="wp-block-heading"><span id="toc32">どの関数を選ぶか</span></h3>



<p>迷ったら次の基準で選んでください。</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>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>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>ExcelのDEC2OCT関数は、10進数を8進数に変換する関数です。</p>



<p>ポイントを整理します。</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>まずは <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>「10進数を2進数に変換したいけど、手計算は面倒&#8230;」</p>



<p>Excelには、そんな変換を一発で行える関数があります。それがDEC2BIN関数です。</p>



<p>ネットワーク設定やプログラミング学習など、2進数が必要になる場面は意外とあります。でも手計算で変換するのは桁数が増えると大変ですよね。</p>



<p>この記事では、ExcelのDEC2BIN関数の使い方を基本から解説します。桁数指定のゼロ埋め、エラー対策、511を超える値の変換テクニックまで網羅しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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のDEC2BIN関数とは？読み方と基本概要</a><ol><li><a href="#toc2" tabindex="0">読み方と意味</a></li><li><a href="#toc3" tabindex="0">どんなときに使うか</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2BIN関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">変換できる数値の範囲（-512〜511）</a></li><li><a href="#toc8" tabindex="0">対応バージョン一覧</a></li></ol></li><li><a href="#toc9" tabindex="0">DEC2BIN関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">シンプルな変換例（0〜511）</a></li><li><a href="#toc11" tabindex="0">負の数の変換（2の補数表現）</a></li><li><a href="#toc12" tabindex="0">桁数を指定してゼロ埋めする</a></li></ol></li><li><a href="#toc13" tabindex="0">DEC2BIN関数のよくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#NUM!エラー：範囲外と桁数の問題</a></li><li><a href="#toc15" tabindex="0">#VALUE!エラー：文字列・空白セルの混入</a></li><li><a href="#toc16" tabindex="0">エラーパターン早見表</a></li><li><a href="#toc17" tabindex="0">IFERRORと組み合わせてエラー回避</a></li></ol></li><li><a href="#toc18" tabindex="0">511を超える大きな数値を2進数に変換するテクニック</a><ol><li><a href="#toc19" tabindex="0">分割結合で18ビットまで対応する</a></li><li><a href="#toc20" tabindex="0">BASE関数を使う方法（Microsoft 365 / Excel 2013以降）</a></li></ol></li><li><a href="#toc21" tabindex="0">実用例：IPアドレスのオクテットを2進数に変換する</a><ol><li><a href="#toc22" tabindex="0">CIDR表記との対応</a></li></ol></li><li><a href="#toc23" tabindex="0">実用例：ビットフラグの分解と可視化</a><ol><li><a href="#toc24" tabindex="0">アクセス権限の例</a></li><li><a href="#toc25" tabindex="0">個別ビットの判定</a></li></ol></li><li><a href="#toc26" tabindex="0">BIN2DEC関数で逆変換する（2進数→10進数）</a><ol><li><a href="#toc27" tabindex="0">往復変換で検算する</a></li><li><a href="#toc28" tabindex="0">DEC2BINとBIN2DECの仕様比較</a></li></ol></li><li><a href="#toc29" tabindex="0">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</a><ol><li><a href="#toc30" tabindex="0">変換先・有効範囲・主な用途の比較表</a></li><li><a href="#toc31" tabindex="0">どの関数を選ぶかの判断基準</a></li></ol></li><li><a href="#toc32" tabindex="0">進数変換関数の全体マップ（全12関数）</a></li><li><a href="#toc33" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>DEC2BIN関数は、<strong>10進数を2進数に変換するExcelの関数</strong>です。</p>



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



<p>DEC2BIN関数を使えば、この変換を自動で行えますよ。</p>



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



<p>読み方は「デック・ツー・ビン」です。</p>



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



<p>つまり「10進数から2進数へ」という意味です。Excelの進数変換関数はすべてこの命名規則に従います。たとえば<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>なら「8進数から10進数へ」です。関数名がそのまま機能を表しているので覚えやすいですよ。</p>



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



<p>DEC2BIN関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>IPアドレスのサブネットマスクを2進数で確認したいとき</li><li>プログラミング学習で10進数と2進数の対応を調べたいとき</li><li>デジタル回路やビットフラグの値を可視化したいとき</li><li>情報処理試験の勉強で進数変換を練習したいとき</li><li>アクセス権限のビット構成を分解して確認したいとき</li></ul>



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



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



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



<p>引数は2つあります。必須なのは「数値」だけです。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>2進数に変換したい10進数の整数</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定。先頭をゼロで埋める</td></tr></tbody></table></figure>



<p><strong>引数1：数値（必須）</strong></p>



<p>2進数に変換したい10進数の整数を指定します。セル参照でも直接入力でもOKです。小数を指定した場合は、小数点以下が切り捨てられます。</p>



<p><strong>引数2：桁数（省略可）</strong></p>



<p>結果の文字数（桁数）を整数で指定します。省略すると、変換に必要な最小限の桁数で返されます。指定すると、先頭にゼロを埋めて桁数を揃えてくれますよ。</p>



<p>たとえば <code>=DEC2BIN(5)</code> は「101」です。<code>=DEC2BIN(5, 8)</code> なら「00000101」になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>桁数に小数を指定した場合は、小数点以下が切り捨てられます。0以下の値を指定すると#NUM!エラーになります。</p></blockquote>



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



<p>変換できる数値の範囲は <strong>-512から511</strong> です。これは10ビット（10桁）の符号付き整数で表現できる範囲です。2の9乗=512が根拠になっています。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 511 → 111111111（9桁）</li><li><strong>負の最小値</strong>: -512 → 1000000000（10桁）</li></ul>



<p>範囲外の数値を指定すると#NUM!エラーになります。</p>



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



<p>DEC2BIN関数は、Excel 2007以降で標準搭載されています。</p>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Microsoft 365（Windows / Mac）</td><td>対応</td></tr><tr><td>Excel 2024 / 2021 / 2019 / 2016</td><td>対応</td></tr><tr><td>Excel for the web</td><td>対応</td></tr><tr><td>Excel 2007 / 2010 / 2013</td><td>対応</td></tr><tr><td>Excel 2003以前</td><td>分析ツールアドインが必要</td></tr></tbody></table></figure>



<p>現在の主要バージョンならアドインの追加は不要です。お使いのバージョンが古くなければ気にしなくて大丈夫ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc10">シンプルな変換例（0〜511）</span></h3>



<p>まずは関数に直接値を入力してみましょう。</p>



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



<p>結果は「1001」です。10進数の9は、2進数で1001になります。</p>



<p>変換の仕組みを確認しておきます。各桁に2のべき乗（にのべきじょう）を対応させて合計します。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>4桁目</th><th>3桁目</th><th>2桁目</th><th>1桁目</th></tr></thead><tbody><tr><td>2進数</td><td>1</td><td>0</td><td>0</td><td>1</td></tr><tr><td>重み</td><td>2^3 = 8</td><td>2^2 = 4</td><td>2^1 = 2</td><td>2^0 = 1</td></tr><tr><td>計算</td><td>1 x 8 = 8</td><td>0 x 4 = 0</td><td>0 x 2 = 0</td><td>1 x 1 = 1</td></tr></tbody></table></figure>



<p>合計: 8 + 0 + 0 + 1 = <strong>9</strong> ですね。</p>



<p>よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>数式</th><th>出力（2進数）</th></tr></thead><tbody><tr><td>0</td><td>=DEC2BIN(0)</td><td>0</td></tr><tr><td>1</td><td>=DEC2BIN(1)</td><td>1</td></tr><tr><td>5</td><td>=DEC2BIN(5)</td><td>101</td></tr><tr><td>9</td><td>=DEC2BIN(9)</td><td>1001</td></tr><tr><td>10</td><td>=DEC2BIN(10)</td><td>1010</td></tr><tr><td>100</td><td>=DEC2BIN(100)</td><td>1100100</td></tr><tr><td>255</td><td>=DEC2BIN(255)</td><td>11111111</td></tr><tr><td>511</td><td>=DEC2BIN(511)</td><td>111111111</td></tr></tbody></table></figure>



<p>結果はテキスト文字列として返されます。見た目は数値ですが、左寄せで表示されるのが目印です。</p>



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



<p>DEC2BIN関数に負の数を指定すると、<strong>2の補数</strong>（にのほすう）で表現された10桁の2進数が返ります。</p>



<p>2の補数とは、コンピュータが負の整数を表す仕組みです。最上位ビット（左端の桁）が「1」なら負の数を意味します。</p>



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



<p>結果は「1110011100」です。桁数の指定に関わらず、常に10桁で返されます。</p>



<p>2の補数の変換手順を-100の例で見てみましょう。</p>



<ol class="wp-block-list"><li>100の2進数を求める → 0001100100</li><li>各ビットを反転させる（0→1、1→0） → 1110011011</li><li>反転した値に1を加える → 1110011100</li><li>これが-100の2の補数表現</li></ol>



<p>負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>出力（2進数）</th><th>備考</th></tr></thead><tbody><tr><td>-1</td><td>1111111111</td><td>全ビット1</td></tr><tr><td>-100</td><td>1110011100</td><td>10桁固定</td></tr><tr><td>-256</td><td>1100000000</td><td>&nbsp;</td></tr><tr><td>-512</td><td>1000000000</td><td>負の最小値</td></tr></tbody></table></figure>



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



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



<p>結果は「-100」です。正しく往復変換できることを確認できますよ。</p>



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



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



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



<p>結果は「00001001」です。8桁に揃えてくれました。</p>



<p>桁数を指定しない場合と比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=DEC2BIN(5)</td><td>101</td><td>最小桁数（3桁）</td></tr><tr><td>=DEC2BIN(5, 8)</td><td>00000101</td><td>8桁にゼロ埋め</td></tr><tr><td>=DEC2BIN(9, 4)</td><td>1001</td><td>ちょうど4桁</td></tr><tr><td>=DEC2BIN(9, 8)</td><td>00001001</td><td>8桁にゼロ埋め</td></tr></tbody></table></figure>



<p>ネットワーク関連で8ビット固定にしたい場面や、複数の値を縦に並べて比較するときに便利ですよ。</p>



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



<p>DEC2BIN関数で発生するエラーは主に2種類です。原因別に対処法を見ていきましょう。</p>



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



<p>#NUM!エラーが出る原因は3つあります。</p>



<p><strong>原因1：数値が範囲外（-512未満または511超）</strong></p>



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



<p>対処法は、指定する値が-512〜511に収まっているか確認することです。</p>



<p><strong>原因2：桁数が0以下</strong></p>



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



<p>桁数には1以上の整数を指定してください。</p>



<p><strong>原因3：桁数が結果の桁数より少ない</strong></p>



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



<p>9の2進数は「1001」で4桁必要です。桁数に2を指定すると足りないためエラーになります。</p>



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



<p>#VALUE!エラーが出る原因は2つあります。</p>



<p><strong>原因1：数値が数値型でない</strong></p>



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



<p><strong>原因2：桁数が数値型でない</strong></p>



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



<p>引数には数値型のデータを指定しましょう。空白セルを参照している場合も注意が必要です。</p>



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



<p>エラーの原因と対処法を表にまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>数値が-512未満または511超</td><td>=DEC2BIN(512)</td><td>値を-512〜511に収める</td></tr><tr><td>#NUM!</td><td>桁数が0以下</td><td>=DEC2BIN(9, 0)</td><td>桁数を1以上にする</td></tr><tr><td>#NUM!</td><td>桁数が結果の桁数より少ない</td><td>=DEC2BIN(9, 2)</td><td>桁数を結果以上にする</td></tr><tr><td>#VALUE!</td><td>数値が文字列</td><td>=DEC2BIN(&#8220;ABC&#8221;)</td><td>数値型のデータを指定</td></tr><tr><td>#VALUE!</td><td>桁数が文字列</td><td>=DEC2BIN(9, &#8220;A&#8221;)</td><td>桁数に数値を指定</td></tr></tbody></table></figure>



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



<p>エラーが出る可能性がある場合は、IFERROR関数で囲むと安全です。</p>



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



<p>この数式なら、A1の値が範囲外でもエラーの代わりに「変換エラー」と表示されます。</p>



<p>入力値のチェックと組み合わせる方法もあります。</p>



<pre class="wp-block-code"><code>=IF(AND(A1&gt;=-512, A1&lt;=511), DEC2BIN(A1), &quot;範囲外&quot;)</code></pre>



<p>あらかじめ範囲をチェックしてから変換すると、より安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc18">511を超える大きな数値を2進数に変換するテクニック</span></h2>



<p>DEC2BIN関数の上限は511です。でも実務では512以上の数値を2進数にしたい場面もありますよね。</p>



<h3 class="wp-block-heading"><span id="toc19">分割結合で18ビットまで対応する</span></h3>



<p>数値を上位ビットと下位ビットに分割して、文字列として結合する方法が使えます。</p>



<p>たとえば10進数の1000を2進数に変換してみましょう。</p>



<pre class="wp-block-code"><code>=DEC2BIN(INT(A1/512), 9) &amp; DEC2BIN(MOD(A1, 512), 9)</code></pre>



<p>この数式は次の手順で動きます。</p>



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



<p>A1に1000を入れると、結果は「000000001111101000」です。</p>



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



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



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



<p>結果は「1111101000」です。DEC2BIN関数の-512〜511の制限がないので、大きな値もそのまま変換できます。</p>



<p>ただしBASE関数には注意点があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2BIN</th><th>BASE</th></tr></thead><tbody><tr><td>入力範囲</td><td>-512〜511</td><td>0〜2^53</td></tr><tr><td>負の数</td><td>2の補数で返す</td><td>非対応（エラー）</td></tr><tr><td>桁数指定</td><td>第2引数で指定</td><td>第3引数で指定</td></tr><tr><td>対応バージョン</td><td>Excel 2007以降</td><td>Excel 2013以降</td></tr></tbody></table></figure>



<p>負の数の変換が必要ならDEC2BIN関数を使いましょう。正の大きな値だけならBASE関数が便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc21">実用例：IPアドレスのオクテットを2進数に変換する</span></h2>



<p>IPアドレスのサブネットマスクを2進数で確認するときにDEC2BIN関数が便利です。</p>



<p>各オクテット（IPアドレスをドットで区切った各部分）は0〜255の値です。DEC2BIN関数の範囲内なので、桁数を8に指定すれば8ビット固定で変換できます。</p>



<pre class="wp-block-code"><code>=DEC2BIN(255, 8)   → 11111111
=DEC2BIN(192, 8)   → 11000000
=DEC2BIN(128, 8)   → 10000000
=DEC2BIN(0, 8)     → 00000000</code></pre>



<p>たとえばサブネットマスク「255.255.255.0」の各オクテットを変換すると、次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>オクテット</th><th>10進数</th><th>数式</th><th>2進数（8桁）</th></tr></thead><tbody><tr><td>1番目</td><td>255</td><td>=DEC2BIN(255, 8)</td><td>11111111</td></tr><tr><td>2番目</td><td>255</td><td>=DEC2BIN(255, 8)</td><td>11111111</td></tr><tr><td>3番目</td><td>255</td><td>=DEC2BIN(255, 8)</td><td>11111111</td></tr><tr><td>4番目</td><td>0</td><td>=DEC2BIN(0, 8)</td><td>00000000</td></tr></tbody></table></figure>



<p>連結すると「11111111.11111111.11111111.00000000」です。上位24ビットがネットワーク部だと一目でわかりますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">CIDR表記との対応</span></h3>



<p>よく使うサブネットマスクとCIDR表記（スラッシュ表記）の対応も確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>CIDR</th><th>サブネットマスク</th><th>ネットワークビット数</th></tr></thead><tbody><tr><td>/24</td><td>255.255.255.0</td><td>24ビット</td></tr><tr><td>/25</td><td>255.255.255.128</td><td>25ビット</td></tr><tr><td>/26</td><td>255.255.255.192</td><td>26ビット</td></tr><tr><td>/28</td><td>255.255.255.240</td><td>28ビット</td></tr></tbody></table></figure>



<p><code>=DEC2BIN(240, 8)</code> の結果「11110000」を見れば、上位4ビットがネットワーク部とすぐわかります。ネットワークの設定値を確認するときに試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc23">実用例：ビットフラグの分解と可視化</span></h2>



<p>ビットフラグとは、1つの数値の各ビットに異なる設定を割り当てる管理方法です。DEC2BIN関数で可視化すると、どのフラグがONになっているか一目でわかります。</p>



<h3 class="wp-block-heading"><span id="toc24">アクセス権限の例</span></h3>



<p>たとえば、8ビットでユーザー権限を管理する場合を考えましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>ビット位置</th><th>8</th><th>7</th><th>6</th><th>5</th><th>4</th><th>3</th><th>2</th><th>1</th></tr></thead><tbody><tr><td>権限</td><td>管理者</td><td>削除</td><td>編集</td><td>閲覧</td><td>印刷</td><td>DL</td><td>共有</td><td>ログイン</td></tr></tbody></table></figure>



<p>権限値が「53」のユーザーのビット構成を確認します。</p>



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



<p>結果は「00110101」です。これを表に当てはめると、閲覧・編集・ログイン・印刷の4つの権限がONだとわかります。</p>



<h3 class="wp-block-heading"><span id="toc25">個別ビットの判定</span></h3>



<p>特定のビットがONかどうかを判定するには、<a href="https://mashukabu.com/excel-function-howto-use-bitand/">BITAND関数</a>（ビットアンド関数）を組み合わせます。</p>



<pre class="wp-block-code"><code>=IF(BITAND(A1, 32)&gt;0, &quot;ON&quot;, &quot;OFF&quot;)</code></pre>



<p>この数式は、A1の値の6ビット目（閲覧権限=32）がONかOFFかを判定します。32は2^5（2の5乗）で、6ビット目に対応する値です。</p>



<p><a href="https://mashukabu.com/excel-function-howto-use-bitor/">BITOR関数</a>で権限の追加、<a href="https://mashukabu.com/excel-function-howto-use-bitxor/">BITXOR関数</a>で権限の反転もできますよ。</p>



<h2 class="wp-block-heading"><span id="toc26">BIN2DEC関数で逆変換する（2進数→10進数）</span></h2>



<p>DEC2BIN関数の逆変換には<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a>を使います。セットで覚えておくと便利です。</p>



<h3 class="wp-block-heading"><span id="toc27">往復変換で検算する</span></h3>



<p>変換結果が正しいか確認するには、往復変換が有効です。</p>



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



<p>結果が「100」に戻れば変換が正確だと確認できます。負の数でも同様です。</p>



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



<p>結果は「-256」です。2の補数で表現された10桁の2進数を、BIN2DEC関数が正しく負の数に戻してくれます。</p>



<h3 class="wp-block-heading"><span id="toc28">DEC2BINとBIN2DECの仕様比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2BIN</th><th><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></th></tr></thead><tbody><tr><td>変換方向</td><td>10進数 → 2進数</td><td>2進数 → 10進数</td></tr><tr><td>入力</td><td>-512〜511の整数</td><td>最大10桁の2進数文字列</td></tr><tr><td>出力</td><td>テキスト文字列</td><td>数値（-512〜511）</td></tr><tr><td>桁数指定</td><td>あり（第2引数）</td><td>なし</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc29">DEC系3関数を比較する（DEC2BIN・DEC2OCT・DEC2HEX）</span></h2>



<p>Excelには10進数から他の進数に変換するDEC系関数が3つあります。構文はすべて <code>関数名(数値, [桁数])</code> で同じです。</p>



<h3 class="wp-block-heading"><span id="toc30">変換先・有効範囲・主な用途の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DEC2BIN</th><th><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></th><th><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></th></tr></thead><tbody><tr><td>変換先</td><td>2進数</td><td>8進数</td><td>16進数</td></tr><tr><td>ビット数</td><td>10ビット</td><td>30ビット</td><td>40ビット</td></tr><tr><td>入力範囲（正）</td><td>0〜511</td><td>0〜536,870,911</td><td>0〜549,755,813,887</td></tr><tr><td>入力範囲（負）</td><td>-512〜-1</td><td>-536,870,912〜-1</td><td>-549,755,813,888〜-1</td></tr><tr><td>主な用途</td><td>ビット演算、ネットワーク</td><td>Unixパーミッション</td><td>カラーコード、メモリアドレス</td></tr></tbody></table></figure>



<p>ビット数の違いには数学的な根拠があります。DEC2BINは10ビット（2の10乗=1,024通り）です。DEC2OCTは30ビット（約10.7億通り）、DEC2HEXは40ビット（約1.1兆通り）になります。</p>



<p>3関数とも、負の数は10桁の補数で返す点が共通しています。DEC2BINは入力範囲が最も狭いので、大きな数値を扱うときは注意してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc31">どの関数を選ぶかの判断基準</span></h3>



<p>迷ったときは、変換先の用途で選びましょう。</p>



<ul class="wp-block-list"><li><strong>ビット単位の操作が目的</strong> → DEC2BIN（2進数が直感的）</li><li><strong>Unixパーミッション（755など）を扱う</strong> → <a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></li><li><strong>カラーコード（#FF0000など）を扱う</strong> → <a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></li></ul>



<h2 class="wp-block-heading"><span id="toc32">進数変換関数の全体マップ（全12関数）</span></h2>



<p>Excelの進数変換関数は全部で12種類あります。関数名の規則は「変換元 + 2 + 変換先」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>変換元＼変換先</th><th>→ 2進数（BIN）</th><th>→ 8進数（OCT）</th><th>→ 10進数（DEC）</th><th>→ 16進数（HEX）</th></tr></thead><tbody><tr><td>2進数（BIN）</td><td>&#8212;</td><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td></tr><tr><td>8進数（OCT）</td><td><a href="https://mashukabu.com/excel-function-howto-use-oct2bin/">OCT2BIN</a></td><td>&#8212;</td><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td></tr><tr><td>10進数（DEC）</td><td><strong>DEC2BIN</strong></td><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>&#8212;</td><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td></tr><tr><td>16進数（HEX）</td><td><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>&#8212;</td></tr></tbody></table></figure>



<p>この命名規則を覚えておけば、どの関数を使えばいいか迷いませんよ。</p>



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



<p>ExcelのDEC2BIN関数は、10進数を2進数に変換する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=DEC2BIN(数値, [桁数])</code> の最大2引数</li><li>変換できる範囲は-512〜511の整数</li><li>桁数を指定すると先頭をゼロで埋めて桁揃えできる</li><li>負の数は10桁の2の補数（にのほすう）で返される</li><li>#NUM!エラーは「範囲外」「桁数不足」「桁数ゼロ以下」が原因</li><li>#VALUE!エラーは「文字列の混入」が原因</li><li>511を超える値は分割結合またはBASE関数で対応</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a>を使う</li><li>IPアドレスやビットフラグの可視化に活躍する</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p>まずは <code>=DEC2BIN(9)</code> で「1001」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-dec2bin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのOCT2HEX関数｜8進数を16進数に変換する方法とエラー対策</title>
		<link>https://mashukabu.com/excel-function-howto-use-oct2hex/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-oct2hex/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 10 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[OCT2HEX]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2526</guid>

					<description><![CDATA[ExcelのOCT2HEX関数で8進数を16進数に変換する方法を解説。構文・桁数指定による0埋め・負の数（2の補数）の扱い・#NUM!エラーの原因と対処法・HEX2OCT関数での逆変換まで網羅します。]]></description>
										<content:encoded><![CDATA[
<p>「8進数のデータを16進数に変換したいけど、手計算は大変&#8230;」</p>



<p>Excelで8進数から16進数への変換が必要になる場面は意外とあります。手計算だと一度10進数を経由する必要があり、ミスしやすいですよね。</p>



<p>そんなときに便利なのが<strong>OCT2HEX関数</strong>です。8進数を入力するだけで、16進数に一発変換してくれます。桁数を揃える機能もあるので、データの見た目を統一したいときにも役立ちます。</p>



<p>この記事では、OCT2HEX関数の使い方からエラー対策、逆変換や関連関数との使い分けまで解説します。</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のOCT2HEX関数とは？読み方と概要</a><ol><li><a href="#toc2" tabindex="0">読み方と「OCT→HEX」の意味</a></li><li><a href="#toc3" tabindex="0">どんな場面で使う？</a></li></ol></li><li><a href="#toc4" tabindex="0">OCT2HEX関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">第1引数：数値</a></li><li><a href="#toc6" tabindex="0">第2引数：桁数（省略可）</a></li><li><a href="#toc7" tabindex="0">入力できる値の範囲</a></li></ol></li><li><a href="#toc8" tabindex="0">OCT2HEX関数の使い方（基本例）</a><ol><li><a href="#toc9" tabindex="0">基本的な変換例</a></li><li><a href="#toc10" tabindex="0">桁数を指定して0埋めする方法</a></li><li><a href="#toc11" tabindex="0">負の数（補数表現）を変換する場合</a></li></ol></li><li><a href="#toc12" tabindex="0">OCT2HEX関数のエラーと対処法</a><ol><li><a href="#toc13" tabindex="0">#NUM!エラー</a></li><li><a href="#toc14" tabindex="0">#VALUE!エラー</a></li><li><a href="#toc15" tabindex="0">IFERROR関数でエラーを処理する方法</a></li></ol></li><li><a href="#toc16" tabindex="0">HEX2OCT関数との逆変換の使い分け</a></li><li><a href="#toc17" tabindex="0">関連する進数変換関数との使い分け</a><ol><li><a href="#toc18" tabindex="0">OCT2BIN・OCT2DECとの比較</a></li><li><a href="#toc19" tabindex="0">16進数・10進数からの変換関数</a></li><li><a href="#toc20" tabindex="0">Excelの進数変換関数一覧（全12関数）</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>OCT2HEX関数は、<strong>8進数を16進数に変換するExcelの関数</strong>です。</p>



<p>8進数は0から7までの数字で数を表す方法です。16進数は0から9とAからFの16種類の文字で数を表します。</p>



<p>OCT2HEX関数を使えば、この変換を自動で行えます。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と「OCT→HEX」の意味</span></h3>



<p>読み方は「オクタル・ツー・ヘキサデシマル」です。</p>



<ul class="wp-block-list"><li><strong>OCT</strong> = Octal（オクタル、8進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>HEX</strong> = Hexadecimal（ヘキサデシマル、16進数）</li></ul>



<p>つまり「8進数から16進数へ」という意味です。関数名がそのまま機能を表しています。</p>



<h3 class="wp-block-heading"><span id="toc3">どんな場面で使う？</span></h3>



<p>OCT2HEX関数は、次のような場面で使います。</p>



<ul class="wp-block-list"><li>Unixファイルパーミッション（755など）を16進数形式で記録する</li><li>IoTセンサーや通信機器の8進数データを16進数に変換する</li><li>メモリアドレスやカラーコードの形式に合わせて変換する</li><li>進数変換の学習や検算に使う</li></ul>



<p>特にメモリアドレスの表記変換は実務でよくある用途です。</p>



<p>対応バージョンは次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Excel 2007以降</td><td>標準搭載（そのまま使える）</td></tr><tr><td>Excel 2003以前</td><td>分析ツールアドインの有効化が必要</td></tr><tr><td>Microsoft 365</td><td>対応（Windows / Mac / Web）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>現在使われているほとんどのExcelで、追加設定なしで利用できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">OCT2HEX関数の構文と引数</span></h2>



<p>基本構文は次のとおりです。</p>



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



<p>引数は「数値」と「桁数」の2つです。桁数は省略できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>16進数に変換したい8進数を指定する</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定する。省略すると最小桁数で表示</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">第1引数：数値</span></h3>



<p>数値には、8進数として有効な値を指定します。指定ルールは次のとおりです。</p>



<ul class="wp-block-list"><li>使える文字は「0」から「7」のみ</li><li>最大10桁（10文字）まで指定できる</li><li>直接入力でもセル参照でも指定できる</li></ul>



<p>0から7以外の文字を含めるとエラーになります。「8」「9」「A」などは8進数では使えません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>最上位ビット（10桁目）は符号ビットです。最上位桁が4以上の場合は負の数として扱われます。これは2の補数（コンピュータで負の数を表す仕組み）による表現です。</p></blockquote>



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



<p>桁数を指定すると、結果の文字数を揃えられます。不足分は先頭に「0」が追加されます。</p>



<pre class="wp-block-code"><code>=OCT2HEX(100, 4)</code></pre>



<p>結果は「0040」です。省略した場合は「40」とだけ表示されます。</p>



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



<ul class="wp-block-list"><li>正の整数で指定する</li><li>小数を指定した場合は小数点以下が切り捨てられる</li><li>結果の桁数より小さい値を指定すると#NUM!エラー</li><li><strong>負の数を変換した場合は桁数に関係なく10桁で返される</strong></li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>桁数指定は表を作るときに便利です。「桁数: 4」を指定すれば、「7」も「0007」と表示できますよ。</p></blockquote>



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



<p>OCT2HEX関数が扱える値の範囲は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>区分</th><th>8進数の範囲</th><th>16進数での値</th><th>10進数での値</th></tr></thead><tbody><tr><td>正の数</td><td>0 〜 3777777777</td><td>0 〜 1FFFFFFF</td><td>0 〜 536,870,911</td></tr><tr><td>負の数</td><td>4000000000 〜 7777777777</td><td>FFE0000000 〜 FFFFFFFFFF</td><td>-536,870,912 〜 -1</td></tr></tbody></table></figure>



<p>正の数は最上位桁が0〜3、負の数は最上位桁が4〜7です。この範囲外の値を指定すると#NUM!エラーになります。</p>



<h2 class="wp-block-heading"><span id="toc8">OCT2HEX関数の使い方（基本例）</span></h2>



<h3 class="wp-block-heading"><span id="toc9">基本的な変換例</span></h3>



<p>まずはシンプルな例からです。セルに直接入力してみましょう。</p>



<pre class="wp-block-code"><code>=OCT2HEX(53)</code></pre>



<p>結果は「2B」です。8進数の53は、16進数の2Bに対応します。</p>



<p>変換の仕組みを確認しておきましょう。まず8進数を10進数に変換し、それを16進数にします。</p>



<figure class="wp-block-table"><table><thead><tr><th>ステップ</th><th>計算</th><th>結果</th></tr></thead><tbody><tr><td>8進数 → 10進数</td><td>5×8 + 3 = 43</td><td>43</td></tr><tr><td>10進数 → 16進数</td><td>43 = 2×16 + 11(B)</td><td>2B</td></tr></tbody></table></figure>



<p>この変換を途中の10進数を挟まずにワンステップで処理してくれるのがOCT2HEX関数の便利なところです。</p>



<p>セル参照も使えます。A1に「100」（8進数）が入っているとします。</p>



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



<p>結果は「40」です。8進数の100は10進数で64、16進数では40です。</p>



<p>なお、8進数から一度10進数に変換したい場合は<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>を使います。</p>



<p>よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>出力（16進数）</th><th>10進数での値</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>1</td></tr><tr><td>7</td><td>7</td><td>7</td></tr><tr><td>10</td><td>8</td><td>8</td></tr><tr><td>17</td><td>F</td><td>15</td></tr><tr><td>20</td><td>10</td><td>16</td></tr><tr><td>100</td><td>40</td><td>64</td></tr><tr><td>144</td><td>64</td><td>100</td></tr><tr><td>777</td><td>1FF</td><td>511</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc10">桁数を指定して0埋めする方法</span></h3>



<p>桁数を指定すると、結果の表示を揃えられます。</p>



<pre class="wp-block-code"><code>=OCT2HEX(7, 4)</code></pre>



<p>結果は「0007」です。4桁になるように先頭に「0」が追加されます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td>=OCT2HEX(1, 4)</td><td>0001</td><td>4桁に揃える</td></tr><tr><td>=OCT2HEX(100, 4)</td><td>0040</td><td>4桁に揃える</td></tr><tr><td>=OCT2HEX(777, 8)</td><td>000001FF</td><td>8桁に揃える</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>桁数を揃えておくと、VLOOKUP関数やFILTER関数での照合もしやすくなります。データ管理の観点でも桁数指定はおすすめです。</p></blockquote>



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



<p>OCT2HEX関数は「2の補数」表現にも対応しています。</p>



<p>2の補数とは、コンピュータで負の数を表す仕組みです。8進数の最上位桁が4以上の場合、負の数として扱われます。</p>



<pre class="wp-block-code"><code>=OCT2HEX(7777777777)</code></pre>



<p>結果は「FFFFFFFFFF」です。8進数の7777777777は、10進数では-1に対応します。出力は10桁の16進数です。</p>



<pre class="wp-block-code"><code>=OCT2HEX(7777777533)</code></pre>



<p>結果は「FFFFFFFF5B」です。これは10進数で-165に対応します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数を入力するときは8進数の2の補数形式で指定します。「-」記号を付けるとエラーになりますのでご注意ください。</p></blockquote>



<p>負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>出力（16進数）</th><th>10進数での値</th></tr></thead><tbody><tr><td>7777777777</td><td>FFFFFFFFFF</td><td>-1</td></tr><tr><td>7777777776</td><td>FFFFFFFFFE</td><td>-2</td></tr><tr><td>7777777760</td><td>FFFFFFFFF0</td><td>-16</td></tr><tr><td>4000000000</td><td>FFE0000000</td><td>-536,870,912</td></tr></tbody></table></figure>



<p>負の数の場合は桁数を指定しても常に10桁で返されます。桁数引数は無視されるので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc12">OCT2HEX関数のエラーと対処法</span></h2>



<p>OCT2HEX関数で発生するエラーと対処法を表にまとめました。</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>0〜7以外の文字を含む</td><td>=OCT2HEX(89)</td><td>0〜7の数字だけで構成する</td></tr><tr><td>#NUM!</td><td>11桁以上（10文字超）の数値を指定した</td><td>=OCT2HEX(77777777777)</td><td>数値は10桁以内にする</td></tr><tr><td>#NUM!</td><td>桁数に負の数を指定した</td><td>=OCT2HEX(100, -1)</td><td>桁数は正の整数で指定する</td></tr><tr><td>#NUM!</td><td>結果が指定桁数を超える</td><td>=OCT2HEX(777, 1)</td><td>桁数を大きくするか省略する</td></tr><tr><td>#VALUE!</td><td>桁数に数値以外を指定した</td><td>=OCT2HEX(100, &#8220;A&#8221;)</td><td>桁数には数値を指定する</td></tr></tbody></table></figure>



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



<p>#NUM!エラーは4つのパターンで発生します。</p>



<p><strong>パターン1: 8進数以外の値を入力した</strong></p>



<pre class="wp-block-code"><code>=OCT2HEX(89)</code></pre>



<p>「8」「9」は8進数では使えない文字です。この数式は#NUM!エラーになります。入力値が0〜7の数字だけか確認しましょう。</p>



<p><strong>パターン2: 数値が10桁を超えている</strong></p>



<pre class="wp-block-code"><code>=OCT2HEX(77777777777)</code></pre>



<p>OCT2HEX関数が処理できる数値は最大10桁（10文字）です。11桁以上の8進数を入力すると#NUM!エラーになります。入力値が10桁以内か確認しましょう。</p>



<p><strong>パターン3: 桁数に負の数を指定した</strong></p>



<pre class="wp-block-code"><code>=OCT2HEX(100, -1)</code></pre>



<p>桁数は正の整数で指定する必要があります。負の数を指定すると#NUM!エラーです。</p>



<p><strong>パターン4: 結果が指定した桁数に収まらない</strong></p>



<pre class="wp-block-code"><code>=OCT2HEX(777, 1)</code></pre>



<p>8進数の777は16進数で「1FF」（3桁）です。桁数を1に指定すると収まりません。桁数を3以上にするか、省略すれば解消します。</p>



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



<p>#VALUE!エラーは、桁数引数に数値として解釈できない値を指定した場合に発生します。</p>



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



<p>この数式は#VALUE!エラーになります。桁数には数値を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc15">IFERROR関数でエラーを処理する方法</span></h3>



<p>大量のデータを一括変換するときは、エラーが混ざると困りますよね。IFERROR関数（エラー時に代わりの値を返す関数）と組み合わせれば、エラー表示を回避できます。</p>



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



<p>この数式なら、A1の値が不正でもエラー表示にはなりません。「変換エラー」という文字列が代わりに表示されます。</p>



<p>空文字を返したい場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=IFERROR(OCT2HEX(A1), &quot;&quot;)</code></pre>



<p>エラーのセルが空白になるので、見た目がすっきりします。</p>



<h2 class="wp-block-heading"><span id="toc16">HEX2OCT関数との逆変換の使い分け</span></h2>



<p>OCT2HEX関数の逆方向の変換を行うのが<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><strong>OCT2HEX</strong></td><td>8進数 → 16進数</td><td>数値, [桁数]（2つ）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>16進数 → 8進数</td><td>数値, [桁数]（2つ）</td></tr></tbody></table></figure>



<p>両方を組み合わせると、変換の検算ができます。</p>



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



<p>A1の8進数を16進数に変換し、再び8進数に戻します。元の値と一致すれば変換が正しいと確認できます。</p>



<p>逆方向の検算もやってみましょう。</p>



<pre class="wp-block-code"><code>=OCT2HEX(HEX2OCT(B1))</code></pre>



<p>B1の16進数を8進数に変換し、再び16進数に戻します。こちらも元の値と一致すればOKです。</p>



<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="toc17">関連する進数変換関数との使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc18">OCT2BIN・OCT2DECとの比較</span></h3>



<p>8進数を変換する関数は3つあります。変換先が異なるだけで、入力ルールは共通です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換先</th><th>桁数引数</th><th>出力例（入力: 53）</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2bin/">OCT2BIN</a></td><td>2進数</td><td>あり</td><td>101011</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td>10進数</td><td><strong>なし</strong></td><td>43</td></tr><tr><td><strong>OCT2HEX</strong></td><td>16進数</td><td>あり</td><td>2B</td></tr></tbody></table></figure>



<p>ポイントは<strong>OCT2DECだけ桁数引数がない</strong>点です。10進数には「0埋め」の概念がないためです。</p>



<p>同じ8進数「53」を3つの関数で変換すると次のようになります。</p>



<pre class="wp-block-code"><code>=OCT2BIN(53)   → 101011
=OCT2DEC(53)   → 43
=OCT2HEX(53)   → 2B</code></pre>



<p>3つの関数を並べれば、1つの8進数を複数の進数で一覧表示できます。</p>



<h3 class="wp-block-heading"><span id="toc19">16進数・10進数からの変換関数</span></h3>



<p>16進数からの変換が必要な場合は、以下の関数を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td><td>16進数データを通常の数値に戻す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td>16進数 → 2進数</td><td>16進数をビット列で確認する</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>16進数 → 8進数</td><td>OCT2HEXの逆変換</td></tr></tbody></table></figure>



<p>10進数からの変換が必要な場合は、以下の関数を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td><td>通常の数値を2進数で表示</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td><td>通常の数値を8進数で表示</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td><td>通常の数値を16進数で表示</td></tr></tbody></table></figure>



<p>たとえば、8進数データをまず10進数にしてから16進数に変換したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数</a>を組み合わせることもできます。ただし、OCT2HEX関数なら1つの数式で直接変換できるので、通常はOCT2HEXを使うほうが効率的です。</p>



<h3 class="wp-block-heading"><span id="toc20">Excelの進数変換関数一覧（全12関数）</span></h3>



<p>Excelには進数変換関数が全部で12個あります。関数名の命名規則は「変換元の略称 + 2 + 変換先の略称」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td>2進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-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-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><strong>OCT2HEX</strong> ※この記事</td><td>8進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td>16進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>16進数 → 8進数</td></tr></tbody></table></figure>



<p>この命名規則を覚えておけば、どの関数がどの変換をするか迷いません。</p>



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



<p>OCT2HEX関数は、8進数を16進数に変換する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=OCT2HEX(数値, [桁数])</code> で、桁数は省略可能</li><li>入力は0〜7の数字で構成された8進数（最大10桁）</li><li>正の数は3777777777（10進数で536,870,911）まで変換できる</li><li>桁数を指定すると先頭に0を追加して表示を揃えられる</li><li>負の数は2の補数形式で指定し、結果は常に10桁</li><li>#NUM!エラーは「8進数以外の文字」「10桁超」「桁数に負の数」「桁数不足」が原因</li><li>#VALUE!エラーは桁数に数値以外を指定した場合に発生</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT関数</a>を使う</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p>まずは <code>=OCT2HEX(53)</code> で「2B」が返ることを試してみてください。</p>



<p>進数変換の他の関数も使いたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC関数</a>（8進数→10進数）や<a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数</a>（10進数→16進数）もあわせてチェックしてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-oct2hex/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのOCT2DEC関数の使い方｜8進数を10進数に一発変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-oct2dec/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-oct2dec/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 09 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[OCT2DEC]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2522</guid>

					<description><![CDATA[ExcelのOCT2DEC関数で8進数を10進数に変換する方法を実例付きで解説。構文・引数のルール、#NUM!・#VALUE!エラーの原因と対処法、Unixパーミッション集計の実例、OCT2BIN・OCT2HEXとの使い分けまで網羅します。]]></description>
										<content:encoded><![CDATA[
<p>「8進数のデータを10進数に変換したいけど、手計算は面倒…」</p>



<p>Excelで8進数を扱う場面は意外とあります。Unixのファイルパーミッション（755や644など）の集計や、IoTセンサーデータの変換が代表例です。</p>



<p>でも8進数から10進数への手計算は、桁ごとに8のべき乗をかけて合計する作業が必要です。桁数が増えるほどミスしやすいですよね。</p>



<p>そこで便利なのが<strong>OCT2DEC関数</strong>です。Excelで8進数を入力するだけで、10進数に一発変換できます。この記事では、OCT2DEC関数の使い方からエラー対策、関連関数との使い分けまで解説します。</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">OCT2DEC関数とは？読み方と基本概要</a><ol><li><a href="#toc2" tabindex="0">「OCT→DEC」命名規則と読み方</a></li><li><a href="#toc3" tabindex="0">使う場面：Unixパーミッション・IoTデータ・進数検算</a></li><li><a href="#toc4" tabindex="0">対応バージョン一覧</a></li></ol></li><li><a href="#toc5" tabindex="0">OCT2DEC関数の構文と引数</a><ol><li><a href="#toc6" tabindex="0">構文は1引数のみ——桁数引数は存在しない</a></li><li><a href="#toc7" tabindex="0">引数「数値」の制約ルール（0〜7・最大10文字・範囲早見表）</a></li></ol></li><li><a href="#toc8" tabindex="0">基本の使い方と実例</a><ol><li><a href="#toc9" tabindex="0">直接入力・セル参照で変換する</a></li><li><a href="#toc10" tabindex="0">よく使う変換値早見表</a></li><li><a href="#toc11" tabindex="0">負の8進数（2の補数形式）を変換する</a></li></ol></li><li><a href="#toc12" tabindex="0">実務活用：Unixファイルパーミッション集計ワークフロー</a><ol><li><a href="#toc13" tabindex="0">主要パーミッション値の10進数早見表</a></li><li><a href="#toc14" tabindex="0">IFERRORと組み合わせた一括変換シートの作り方</a></li></ol></li><li><a href="#toc15" tabindex="0">エラーの原因と対処法（#NUM!・#VALUE!）</a><ol><li><a href="#toc16" tabindex="0">#NUM!エラーの3パターン</a></li><li><a href="#toc17" tabindex="0">#VALUE!エラーのパターン</a></li><li><a href="#toc18" tabindex="0">エラー早見表</a></li></ol></li><li><a href="#toc19" tabindex="0">OCT2BIN・OCT2DEC・OCT2HEX——3関数の選択ガイド</a><ol><li><a href="#toc20" tabindex="0">変換先ごとの使い分け表</a></li><li><a href="#toc21" tabindex="0">OCT2DECだけ桁数引数がない理由</a></li></ol></li><li><a href="#toc22" tabindex="0">DEC2OCTとの逆変換ペアで使う</a><ol><li><a href="#toc23" tabindex="0">往復変換で入力値を検算する方法</a></li></ol></li><li><a href="#toc24" tabindex="0">16進数関連の変換関数との組み合わせ</a></li><li><a href="#toc25" tabindex="0">Excelの進数変換12関数シリーズ一覧</a></li><li><a href="#toc26" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>OCT2DEC関数は、<strong>8進数を10進数に変換するExcelの関数</strong>です。</p>



<p>8進数は0から7の数字だけで数を表す方法です。10進数は普段の生活で使うおなじみの表記ですね。OCT2DEC関数を使えば、この変換を自動で行えます。</p>



<h3 class="wp-block-heading"><span id="toc2">「OCT→DEC」命名規則と読み方</span></h3>



<p>読み方は「オクタル・ツー・デシマル」です。</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>「8進数から10進数へ」という意味です。Excelの進数変換関数は、すべてこの命名規則に従います。たとえば<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a>なら「2進数から10進数へ」です。関数名がそのまま機能を表しているので覚えやすいですね。</p>



<h3 class="wp-block-heading"><span id="toc3">使う場面：Unixパーミッション・IoTデータ・進数検算</span></h3>



<p>OCT2DEC関数は、次のような場面で活躍します。</p>



<ul class="wp-block-list"><li><strong>Unixファイルパーミッション</strong>の数値処理（755や644を集計する）</li><li><strong>IoTセンサーや通信機器</strong>からの8進数データを変換する</li><li><strong>進数変換の学習や検算</strong>に使う</li></ul>



<p>特にファイルパーミッションの数値処理は実務でよくある用途です。サーバー管理の一覧表を作るときに重宝します。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Excel 2007以降</td><td>標準搭載（そのまま使える）</td></tr><tr><td>Excel 2003以前</td><td>分析ツールアドインの有効化が必要</td></tr><tr><td>Microsoft 365</td><td>対応（Windows / Mac / Web）</td></tr></tbody></table></figure>



<p>現在使われているほとんどのExcelで、追加設定なしで利用できます。</p>



<h2 class="wp-block-heading"><span id="toc5">OCT2DEC関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc6">構文は1引数のみ——桁数引数は存在しない</span></h3>



<p>基本構文は次のとおりです。</p>



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



<p>引数は「数値」の1つだけです。</p>



<p><a href="https://mashukabu.com/excel-function-howto-use-oct2bin/">OCT2BIN関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX関数</a>には「桁数」引数がありますが、OCT2DEC関数にはありません。変換先が10進数の場合、結果は一意に決まるため桁数の指定が不要だからです。</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進数に変換したい8進数を指定する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">引数「数値」の制約ルール（0〜7・最大10文字・範囲早見表）</span></h3>



<p>引数「数値」には次のルールがあります。</p>



<ul class="wp-block-list"><li>使える文字は<strong>0から7のみ</strong>（8・9やアルファベットは不可）</li><li>最大<strong>10文字</strong>まで指定できる（30ビット分）</li><li>直接入力でもセル参照でも指定できる</li></ul>



<p>入力できる値の範囲を早見表にまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>区分</th><th>8進数の範囲</th><th>10進数での値</th></tr></thead><tbody><tr><td>正の数</td><td>0 〜 3777777777</td><td>0 〜 536,870,911</td></tr><tr><td>負の数</td><td>4000000000 〜 7777777777</td><td>-536,870,912 〜 -1</td></tr></tbody></table></figure>



<p>正の最大値は約5.4億、負の最小値は約-5.4億です。実務で扱う値はほとんどこの範囲に収まります。</p>



<h2 class="wp-block-heading"><span id="toc8">基本の使い方と実例</span></h2>



<h3 class="wp-block-heading"><span id="toc9">直接入力・セル参照で変換する</span></h3>



<p>まずはセルに直接値を入力する方法です。</p>



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



<p>結果は「44」です。8進数の54は10進数の44に対応します。</p>



<p>変換の仕組みを確認しましょう。各桁に8のべき乗をかけて合計します。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>数字</th><th>計算</th><th>結果</th></tr></thead><tbody><tr><td>8の位（8の1乗）</td><td>5</td><td>5 × 8</td><td>40</td></tr><tr><td>1の位（8の0乗）</td><td>4</td><td>4 × 1</td><td>4</td></tr><tr><td><strong>合計</strong></td><td>&nbsp;</td><td>&nbsp;</td><td><strong>44</strong></td></tr></tbody></table></figure>



<p>セル参照でも同様に使えます。A1に「175」が入っているとします。</p>



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



<p>結果は「125」です。1×64 + 7×8 + 5×1 = 125 で検算もOKですね。参照先の値を変えれば結果も自動で更新されます。</p>



<h3 class="wp-block-heading"><span id="toc10">よく使う変換値早見表</span></h3>



<p>実務でよく登場する値をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>出力（10進数）</th><th>用途・メモ</th></tr></thead><tbody><tr><td>7</td><td>7</td><td>1桁の最大値</td></tr><tr><td>10</td><td>8</td><td>2桁の最小値（8進数の繰り上がり）</td></tr><tr><td>100</td><td>64</td><td>3桁の最小値</td></tr><tr><td>644</td><td>420</td><td>Unixパーミッション（rw-r&#8211;r&#8211;）</td></tr><tr><td>755</td><td>493</td><td>Unixパーミッション（rwxr-xr-x）</td></tr><tr><td>777</td><td>511</td><td>Unixパーミッション（rwxrwxrwx）</td></tr></tbody></table></figure>



<p>755や644はサーバー管理で頻出する値です。OCT2DEC関数で10進数に変換しておけば、SUM関数などで集計できますよ。</p>



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



<p>OCT2DEC関数は「2の補数」（コンピュータで負の数を表す仕組み）にも対応しています。</p>



<p>判定ルールはシンプルです。8進数が10桁のとき、<strong>最上位桁が4以上なら負の数</strong>になります。</p>



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



<p>結果は「-1」です。最上位桁が「7」なので負の値です。</p>



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



<p>結果は「-536,870,912」です。これが負の最小値です。</p>



<p>最上位桁ごとの正負判定を表にまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>最上位桁</th><th>正負</th><th>8進数の例</th><th>10進数の結果</th></tr></thead><tbody><tr><td>0〜3</td><td>正</td><td>3777777777</td><td>536,870,911</td></tr><tr><td>4〜7</td><td>負</td><td>4000000000</td><td>-536,870,912</td></tr><tr><td>7</td><td>負</td><td>7777777777</td><td>-1</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>「-54」のようにマイナス記号を付ける書き方はできません。負の数は2の補数形式で指定します。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc12">実務活用：Unixファイルパーミッション集計ワークフロー</span></h2>



<p>OCT2DEC関数の実務活用として、Unixファイルパーミッションの集計シートを作る方法を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc13">主要パーミッション値の10進数早見表</span></h3>



<p>Unixでは各桁の数字が権限を表します。各桁は「読み取り(4)＋書き込み(2)＋実行(1)」の合計です。</p>



<figure class="wp-block-table"><table><thead><tr><th>8進数</th><th>パーミッション表記</th><th>10進数（OCT2DEC）</th><th>用途</th></tr></thead><tbody><tr><td>755</td><td>rwxr-xr-x</td><td>493</td><td>実行ファイル・ディレクトリの標準</td></tr><tr><td>644</td><td>rw-r&#8211;r&#8211;</td><td>420</td><td>一般ファイルの標準</td></tr><tr><td>777</td><td>rwxrwxrwx</td><td>511</td><td>全権限（テスト用）</td></tr><tr><td>600</td><td>rw&#8212;&#8212;-</td><td>384</td><td>秘密鍵ファイルなど</td></tr><tr><td>700</td><td>rwx&#8212;&#8212;</td><td>448</td><td>個人ディレクトリ</td></tr></tbody></table></figure>



<p>たとえば755の意味は次のとおりです。7（所有者: rwx）、5（グループ: r-x）、5（その他: r-x）。</p>



<h3 class="wp-block-heading"><span id="toc14">IFERRORと組み合わせた一括変換シートの作り方</span></h3>



<p>サーバーから取得したパーミッション一覧を、まとめて変換するシートを作りましょう。A列に8進数のパーミッション値が並んでいるとします。</p>



<p>B列に次の数式を入力して、下方向にコピーします。</p>



<pre class="wp-block-code"><code>=IFERROR(OCT2DEC(A1), &quot;入力エラー&quot;)</code></pre>



<p>IFERROR関数（エラー時に代わりの値を返す関数）と組み合わせれば、不正な値が混ざってもシートが壊れません。「入力エラー」と表示されたセルだけ確認すれば済みますよ。</p>



<p>さらに、C列で変換結果をチェックする数式を追加すると便利です。</p>



<pre class="wp-block-code"><code>=IF(ISNUMBER(B1), &quot;変換OK&quot;, &quot;要確認&quot;)</code></pre>



<p>これで、変換結果の一覧とエラー箇所が一目でわかるシートが完成します。</p>



<h2 class="wp-block-heading"><span id="toc15">エラーの原因と対処法（#NUM!・#VALUE!）</span></h2>



<p>OCT2DEC関数で発生するエラーは、#NUM!と#VALUE!の2種類です。それぞれの原因と対処法を解説します。</p>



<h3 class="wp-block-heading"><span id="toc16">#NUM!エラーの3パターン</span></h3>



<p>#NUM!エラーが最も頻発します。原因は3つに分類できます。</p>



<h4 class="wp-block-heading">パターン1：8・9やアルファベットを含む</h4>



<p>最も多いパターンです。8進数では0〜7の数字しか使えません。</p>



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



<p>この数式は#NUM!エラーになります。「8」も「9」も8進数の有効な文字ではないためです。</p>



<p><strong>対処法</strong>: 入力値に0〜7以外の文字がないか確認しましょう。</p>



<h4 class="wp-block-heading">パターン2：10文字超の入力</h4>



<p>入力は最大10文字までという制限があります。</p>



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



<p>11文字なので#NUM!エラーです。</p>



<p><strong>対処法</strong>: LEN関数（文字数を返す関数）で事前チェックできます。<code>=LEN(A1)<=10</code> がTRUEなら入力可能です。</p>



<h4 class="wp-block-heading">パターン3：空白・テキスト値の混入</h4>



<p>セル参照先が空白や文字列の場合もエラーになります。</p>



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



<p>数値として認識できないため、エラーが発生します。</p>



<p><strong>対処法</strong>: ISNUMBER関数やISBLANK関数で事前に値を検証しましょう。大量データの一括変換では、前述のIFERROR関数との組み合わせが効果的です。</p>



<h3 class="wp-block-heading"><span id="toc17">#VALUE!エラーのパターン</span></h3>



<p>#VALUE!エラーは、引数のデータ型が不正な場合に発生します。</p>



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



<p>論理値（TRUE/FALSE）を渡すと#VALUE!エラーになります。数値や文字列として認識できない型が原因です。</p>



<p><strong>対処法</strong>: セル参照先のデータ型を確認しましょう。TYPE関数（セルのデータ型を数値で返す関数）を使えば、<code>=TYPE(A1)</code> が「1」（数値）か「2」（文字列）であることを事前にチェックできますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">エラー早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>8・9やアルファベットを含む</td><td><code>=OCT2DEC(89)</code></td><td>0〜7のみか確認</td></tr><tr><td>#NUM!</td><td>10文字超の入力</td><td><code>=OCT2DEC(12345678901)</code></td><td>LEN関数で文字数チェック</td></tr><tr><td>#NUM!</td><td>空白・無効な値</td><td><code>=OCT2DEC("")</code></td><td>ISBLANK関数で事前検証</td></tr><tr><td>#VALUE!</td><td>論理値など不正な型</td><td><code>=OCT2DEC(TRUE)</code></td><td>TYPE関数でデータ型確認</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc19">OCT2BIN・OCT2DEC・OCT2HEX——3関数の選択ガイド</span></h2>



<p>Excelには「8進数から変換する」関数が3つあります。変換先が異なるだけで、入力ルールは共通です。</p>



<h3 class="wp-block-heading"><span id="toc20">変換先ごとの使い分け表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>桁数引数</th><th>正の入力上限</th><th>主な用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2bin/">OCT2BIN</a></td><td>8進数→2進数</td><td>あり</td><td>777（=511）</td><td>ビットパターンの分析</td></tr><tr><td><strong>OCT2DEC</strong> ※この記事</td><td>8進数→10進数</td><td><strong>なし</strong></td><td>3777777777（=536,870,911）</td><td>集計・計算用の変換</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td><td>8進数→16進数</td><td>あり</td><td>3777777777（=536,870,911）</td><td>メモリアドレス・カラーコード</td></tr></tbody></table></figure>



<p>同じ8進数「53」を3つの関数で変換した例です。</p>



<pre class="wp-block-code"><code>=OCT2BIN(53)   → 101011
=OCT2DEC(53)   → 43
=OCT2HEX(53)   → 2B</code></pre>



<p>OCT2BINだけ正の入力上限が777（10進数で511）と小さい点に注意してください。大きな値を2進数に変換したい場合は、OCT2DECで10進数に変換してから<a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN関数</a>を使う方法もあります。同様に、10進数から16進数への変換なら<a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数</a>が使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">OCT2DECだけ桁数引数がない理由</span></h3>



<p>OCT2BINとOCT2HEXには「桁数」引数があります。しかしOCT2DECにはありません。</p>



<p>理由は、10進数では先頭のゼロに意味がないからです。2進数や16進数では「00101011」「002B」のように桁をそろえる場面があります。しかし10進数で「0043」と書く必要はありませんよね。そのため桁数引数が不要なのです。</p>



<h2 class="wp-block-heading"><span id="toc22">DEC2OCTとの逆変換ペアで使う</span></h2>



<p>OCT2DEC関数の逆方向の変換を行うのが<a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT関数</a>です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換方向</th><th>引数</th></tr></thead><tbody><tr><td><strong>OCT2DEC</strong></td><td>8進数 → 10進数</td><td>数値（1つのみ）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td><td>数値, [桁数]（2つ）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">往復変換で入力値を検算する方法</span></h3>



<p>両方の関数を組み合わせると、変換結果の検算ができます。</p>



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



<p>この数式はA1の値を「8進数→10進数→8進数」と往復変換します。元の値と一致すれば、変換が正しいことを確認できますよ。</p>



<p>逆方向の検算も同様です。B1に10進数が入っているとします。</p>



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



<p>「10進数→8進数→10進数」と変換して元に戻ります。B1の値と一致すれば検算OKです。</p>



<p>大量データを変換するときの品質チェックに役立ちます。IF関数と組み合わせれば、不一致のセルを自動検出できますよ。</p>



<h2 class="wp-block-heading"><span id="toc24">16進数関連の変換関数との組み合わせ</span></h2>



<p>8進数を直接16進数に変換するには<a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX関数</a>を使います。しかし、OCT2DECで10進数に変換してから別の進数に変換する方法も便利です。</p>



<p>10進数を経由する変換ルートをまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>変換ルート</th><th>使う関数</th><th>例（8進数「53」の場合）</th></tr></thead><tbody><tr><td>8進数→10進数→16進数</td><td>OCT2DEC → <a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>53 → 43 → 2B</td></tr><tr><td>8進数→10進数→2進数</td><td>OCT2DEC → <a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>53 → 43 → 101011</td></tr></tbody></table></figure>



<p>逆方向の変換もあります。16進数から他の進数に変換したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>で10進数にしてから目的の進数に変換します。<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>10進数を中継点にすることで、どの進数間の変換にも対応できる柔軟性がOCT2DEC関数の強みです。</p>



<h2 class="wp-block-heading"><span id="toc25">Excelの進数変換12関数シリーズ一覧</span></h2>



<p>Excelには2進数・8進数・10進数・16進数を相互変換する関数が全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-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-oct2bin/">OCT2BIN</a></td><td>8進数 → 2進数</td></tr><tr><td><strong>OCT2DEC</strong> ※この記事</td><td>8進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td><td>8進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td>16進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>16進数 → 8進数</td></tr></tbody></table></figure>



<p>この命名規則を覚えておけば、どの関数を使うか迷いませんよ。</p>



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



<p>OCT2DEC関数は、8進数を10進数に変換するExcelの関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=OCT2DEC(数値)</code> で、引数は1つだけ</li><li>桁数引数はない（OCT2BIN・OCT2HEXとの違い）</li><li>入力は0〜7の数字で、最大10文字まで</li><li>正の数: 0〜536,870,911、負の数: -536,870,912〜-1</li><li>負の数は2の補数形式で指定する（最上位桁4以上が負）</li><li>#NUM!エラーは「8・9を含む」「10文字超」「無効な値」が原因</li><li>#VALUE!エラーは論理値など不正なデータ型が原因</li><li>IFERRORと組み合わせれば一括変換シートが作れる</li><li><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT関数</a>との往復変換で検算できる</li></ul>



<p>まずは <code>=OCT2DEC(755)</code> で「493」が返ることを試してみてください。Unixパーミッションの集計にすぐ活用できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-oct2dec/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのOCT2BIN関数の使い方｜8進数を2進数に変換する方法とエラー対策</title>
		<link>https://mashukabu.com/excel-function-howto-use-oct2bin/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-oct2bin/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 08 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[OCT2BIN]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2520</guid>

					<description><![CDATA[ExcelのOCT2BIN関数の使い方を初心者向けに解説。8進数から2進数への変換方法、桁数の指定、負の数（2の補数）の扱い、#NUM!エラーの原因と対処法、BIN2OCT関数との違いまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「8進数のデータを2進数に直したいけど、手計算は面倒&#8230;」</p>



<p>Excelで8進数を扱う場面は意外とあります。Unixのファイルパーミッション（755や644など）を2進数のビットパターンに分解したいケースですね。</p>



<p>でも8進数から2進数への手計算は、1桁ずつ3ビットに展開する作業が必要です。桁数が増えるとミスしやすいですよね。</p>



<p>そんなときに便利なのがOCT2BIN関数です。8進数を入力するだけで、2進数に一発変換してくれます。</p>



<p>この記事では、OCT2BIN関数の基本の使い方からエラー対策、BIN2OCT関数との違いまで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">OCT2BIN関数とは</a><ol><li><a href="#toc2" tabindex="0">読み方と名前の由来</a></li><li><a href="#toc3" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc4" tabindex="0">OCT2BIN関数の書式と引数</a><ol><li><a href="#toc5" tabindex="0">引数「数値」の指定ルール</a></li><li><a href="#toc6" tabindex="0">引数「桁数」の使い方</a></li><li><a href="#toc7" tabindex="0">変換できる範囲</a></li></ol></li><li><a href="#toc8" tabindex="0">OCT2BIN関数の使い方（基本例）</a><ol><li><a href="#toc9" tabindex="0">正の8進数を変換する</a></li><li><a href="#toc10" tabindex="0">桁数を指定して変換する</a></li><li><a href="#toc11" tabindex="0">負の数（2の補数）を変換する</a></li></ol></li><li><a href="#toc12" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc13" tabindex="0">BIN2OCT関数との使い分け（逆変換）</a></li><li><a href="#toc14" tabindex="0">OCT2BIN関数の実務活用パターン</a><ol><li><a href="#toc15" tabindex="0">Unixファイルパーミッションのビット分解</a></li><li><a href="#toc16" tabindex="0">他の進数変換関数との組み合わせ</a></li></ol></li><li><a href="#toc17" tabindex="0">他の進数変換関数との比較</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>OCT2BIN関数は、<strong>8進数を2進数に変換するExcelの関数</strong>です。</p>



<p>8進数は0から7までの数字で数を表す方法です。Unixのファイルパーミッション（755や644など）で使われることが多いです。</p>



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



<p>OCT2BIN関数を使えば、この変換を自動で行えます。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と名前の由来</span></h3>



<p>読み方は「オクタル・ツー・バイナリ」です。</p>



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



<p>つまり「8進数から2進数へ」という意味です。関数名がそのまま機能を表しています。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Excel 2007以降</td><td>標準搭載（そのまま使える）</td></tr><tr><td>Excel 2003以前</td><td>分析ツールアドインの有効化が必要</td></tr><tr><td>Microsoft 365</td><td>対応（Windows / Mac / Web）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>現在使われているほとんどのExcelで、追加設定なしで利用できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">OCT2BIN関数の書式と引数</span></h2>



<p>基本構文は次のとおりです。</p>



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



<p>引数は「数値」と「桁数」の2つです。桁数は省略できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>2進数に変換したい8進数。0から7の数字で構成された値を指定する</td></tr><tr><td>桁数</td><td>任意</td><td>結果の文字数を指定する。省略すると最小の桁数で表示される</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">引数「数値」の指定ルール</span></h3>



<p>数値には、次のルールがあります。</p>



<ul class="wp-block-list"><li>使える文字は「0」から「7」のみ</li><li>最大10桁まで指定できる</li><li>直接入力でもセル参照でも指定できる</li></ul>



<p>0から7以外の文字を含めるとエラーになります。「8」「9」「A」などは指定できません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>変換できる8進数の範囲には上限があります。正の数は777（10進数で511）、負の数は7777777000（10進数で-512）までです。この範囲を超えると#NUM!エラーになります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc6">引数「桁数」の使い方</span></h3>



<p>桁数を指定すると、結果の文字数を揃えられます。不足分は先頭に「0」が追加されます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(12, 8)</code></pre>



<p>結果は「00001010」です。桁数を省略した場合は「1010」とだけ表示されます。</p>



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



<ul class="wp-block-list"><li>正の整数で指定する</li><li>小数を指定した場合は、小数点以下が切り捨てられる</li><li>結果の桁数より小さい値を指定するとエラーになる</li><li>負の数を変換した場合は、桁数に関係なく10桁で返される</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>データの表示形式を揃えたいときに桁数指定が役立ちます。たとえば「桁数: 8」を指定すれば、1桁の結果も「00000001」のように8ビットで統一できます。</p></blockquote>



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



<p>OCT2BIN関数が扱える入力値の範囲は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>正の最大値</strong>: 777（8進数） → 0111111111（2進数） → 10進数で511</li><li><strong>負の最小値</strong>: 7777777000（8進数） → 1000000000（2進数） → 10進数で-512</li></ul>



<p>この範囲外の8進数を指定すると#NUM!エラーになります。</p>



<h2 class="wp-block-heading"><span id="toc8">OCT2BIN関数の使い方（基本例）</span></h2>



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



<p>まずはシンプルな例からです。セルに直接入力してみましょう。</p>



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



<p>結果は「101011」です。8進数の53は、2進数の101011に対応します。</p>



<p>変換の仕組みを確認しておきましょう。8進数の各桁を3ビットの2進数に展開します。</p>



<figure class="wp-block-table"><table><thead><tr><th>上位桁(5)</th><th>下位桁(3)</th></tr></thead><tbody><tr><td>5 → 101</td><td>3 → 011</td></tr></tbody></table></figure>



<p>合わせると「101011」になります。</p>



<p>セル参照を使うこともできます。A1に「12」（8進数）が入っているとします。</p>



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



<p>結果は「1010」です。参照先のセルの値を変えれば、結果も自動で更新されます。</p>



<p>よく使う変換例をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>出力（2進数）</th><th>10進数での値</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>1</td></tr><tr><td>7</td><td>111</td><td>7</td></tr><tr><td>10</td><td>1000</td><td>8</td></tr><tr><td>12</td><td>1010</td><td>10</td></tr><tr><td>144</td><td>1100100</td><td>100</td></tr><tr><td>777</td><td>111111111</td><td>511</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc10">桁数を指定して変換する</span></h3>



<p>桁数を指定すると、結果の表示を揃えられます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(12, 8)</code></pre>



<p>結果は「00001010」です。8桁になるように先頭に「0」が追加されます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td>=OCT2BIN(1, 8)</td><td>00000001</td><td>8桁に揃える</td></tr><tr><td>=OCT2BIN(12, 8)</td><td>00001010</td><td>8桁に揃える</td></tr><tr><td>=OCT2BIN(777, 10)</td><td>0111111111</td><td>10桁に揃える</td></tr></tbody></table></figure>



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



<p>OCT2BIN関数は「2の補数」表現にも対応しています。</p>



<p>2の補数とは、コンピュータで負の数を表す仕組みです。出力される2進数は10桁になります。最上位ビット（左端）が「1」の場合は負の数を意味します。</p>



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



<p>結果は「1111111111」です。8進数の7777777777は、10進数では-1に対応します。</p>



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



<p>結果は「1000000000」です。これが負の最小値（-512）です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数を入力するときは8進数の2の補数形式で指定します。「-」記号を付けるとエラーになりますのでご注意ください。</p></blockquote>



<p>負の数の代表的な変換例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>出力（2進数）</th><th>10進数での値</th></tr></thead><tbody><tr><td>7777777777</td><td>1111111111</td><td>-1</td></tr><tr><td>7777777776</td><td>1111111110</td><td>-2</td></tr><tr><td>7777777760</td><td>1111110000</td><td>-16</td></tr><tr><td>7777777000</td><td>1000000000</td><td>-512</td></tr></tbody></table></figure>



<p>負の数の場合は、桁数を指定しても10桁で返されます。</p>



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



<p>OCT2BIN関数で発生するエラーと対処法を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式の例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>変換結果が10ビットを超える</td><td>=OCT2BIN(1000)</td><td>777以下（正の数）を指定する</td></tr><tr><td>#NUM!</td><td>0から7以外の文字を含む</td><td>=OCT2BIN(89)</td><td>0から7の数字だけで構成する</td></tr><tr><td>#NUM!</td><td>桁数が結果より小さい</td><td>=OCT2BIN(777, 1)</td><td>桁数を大きくするか省略する</td></tr><tr><td>#VALUE!</td><td>数値型でない引数を指定した</td><td>=OCT2BIN(&#8220;ABC&#8221;)</td><td>数値として有効な値を指定する</td></tr></tbody></table></figure>



<p>もっとも多いのは「変換結果が範囲を超える」パターンです。OCT2BIN関数の出力は最大10ビットです。正の数は8進数で777（10進数で511）までしか変換できません。</p>



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



<p>この数式は#NUM!エラーになります。8進数の1000は10進数で512です。正の最大値511を超えています。</p>



<p>0から7以外の文字を含む場合もエラーです。</p>



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



<p>「8」と「9」は8進数では使えない文字です。この数式は#NUM!エラーになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>エラーを回避したい場合は、IFERROR関数と組み合わせましょう。<code>=IFERROR(OCT2BIN(A1), "変換エラー")</code> と書けば、エラー時に任意のメッセージを表示できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">BIN2OCT関数との使い分け（逆変換）</span></h2>



<p>OCT2BIN関数の逆方向の変換を行うのが<a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT関数</a>です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換方向</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><strong>OCT2BIN</strong></td><td>8進数 → 2進数</td><td>8進数の値（最大10桁）</td><td>0と1の数値（最大10桁）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td>2進数 → 8進数</td><td>0と1の数値（最大10桁）</td><td>8進数（最大10桁）</td></tr></tbody></table></figure>



<p>それぞれの使いどころを整理します。</p>



<ul class="wp-block-list"><li><strong>OCT2BIN</strong>: 8進数の値を2進数のビットパターンに分解したいとき</li><li><strong>BIN2OCT</strong>: 2進数のデータを8進数で表示したいとき</li></ul>



<p>両方を組み合わせると、変換の確認ができます。</p>



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



<p>この数式はA1の8進数を2進数に変換し、再び8進数に戻します。元の値と一致すれば変換が正しいと確認できます。</p>



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



<h3 class="wp-block-heading"><span id="toc15">Unixファイルパーミッションのビット分解</span></h3>



<p>Unixのファイルパーミッションは8進数で表記されます。OCT2BIN関数を使えば、各桁を2進数のビットパターンに分解できます。</p>



<p>パーミッションの各桁は「読み取り(r)」「書き込み(w)」「実行(x)」の3ビットで構成されます。</p>



<pre class="wp-block-code"><code>=OCT2BIN(7, 3)</code></pre>



<p>結果は「111」です。読み取り(1)・書き込み(1)・実行(1)がすべて許可されている状態です。</p>



<p>所有者・グループ・その他それぞれの桁を分解すれば、権限を一目で確認できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>対象</th><th>8進数</th><th>2進数</th><th>パーミッション</th></tr></thead><tbody><tr><td>所有者</td><td>7</td><td>111</td><td>rwx</td></tr><tr><td>グループ</td><td>5</td><td>101</td><td>r-x</td></tr><tr><td>その他</td><td>5</td><td>101</td><td>r-x</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>パーミッション全体（755など）を一括変換したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT関数</a>の記事で紹介している9ビットパターンも参考にしてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">他の進数変換関数との組み合わせ</span></h3>



<p>OCT2BIN関数で得た2進数を、さらに別の進数に変換することもできます。</p>



<p>たとえばOCT2BIN + OCT2DECを並べて、同じ8進数を複数の進数で一覧表示する使い方です。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td>B1</td><td>=OCT2BIN(A1)</td><td>101011</td><td>2進数表示</td></tr><tr><td>C1</td><td>=OCT2DEC(A1)</td><td>43</td><td>10進数表示</td></tr><tr><td>D1</td><td>=OCT2HEX(A1)</td><td>2B</td><td>16進数表示</td></tr></tbody></table></figure>



<p>A1に「53」（8進数）を入力すれば、3種類の進数を同時に確認できます。</p>



<h2 class="wp-block-heading"><span id="toc17">他の進数変換関数との比較</span></h2>



<p>Excelには2進数・8進数・10進数・16進数を相互変換する関数が12種類あります。OCT2BIN関数はその1つです。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC</a></td><td>2進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT</a></td><td>2進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bin2hex/">BIN2HEX</a></td><td>2進数 → 16進数</td></tr><tr><td><strong>OCT2BIN</strong> ※この記事</td><td>8進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2dec/">OCT2DEC</a></td><td>8進数 → 10進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-oct2hex/">OCT2HEX</a></td><td>8進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a></td><td>10進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a></td><td>10進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></td><td>10進数 → 16進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2bin/">HEX2BIN</a></td><td>16進数 → 2進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">HEX2OCT</a></td><td>16進数 → 8進数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC</a></td><td>16進数 → 10進数</td></tr></tbody></table></figure>



<p>関数名の命名規則は「変換元の略称 + 2 + 変換先の略称」です。OCT2BINなら「OCT(8進数) → BIN(2進数)」ですね。このルールを覚えておけば、どの関数がどの変換をするか迷いません。</p>



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



<p>OCT2BIN関数は、8進数を2進数に変換する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=OCT2BIN(数値, [桁数])</code> で、桁数は省略可能</li><li>入力は0から7の数字で構成された8進数</li><li>正の数は777（10進数で511）まで変換できる</li><li>桁数を指定すると、先頭に0を追加して表示を揃えられる</li><li>負の数は2の補数形式（7777777000〜7777777777）で指定する</li><li>#NUM!エラーの原因は「範囲超」「8進数以外の文字」「桁数不足」</li><li>逆変換には<a href="https://mashukabu.com/excel-function-howto-use-bin2oct/">BIN2OCT関数</a>を使う</li><li>Excel 2007以降で標準搭載。アドイン不要</li></ul>



<p>まずは <code>=OCT2BIN(53)</code> で「101011」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-oct2bin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
