<?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>HEX2OCT &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/hex2oct/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:28:16 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

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

					<description><![CDATA[GoogleスプレッドシートのHEX2OCT関数の使い方を解説します。16進数を8進数に変換する基本構文から、桁数指定（ゼロ埋め）、Unixファイルパーミッションの一覧化、ログ解析や組み込み機器レジスタの管理など実務での活用例、負の数の2の補数表現、#NUM!や#VALUE!のエラー対処、ARRAYFORMULAでの一括変換、OCT2HEX・HEX2DECなど関連関数との使い分け、FAQまでまとめて紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「LinuxやmacOSで <code>chmod 755</code> という設定を見て、この755が何を意味するのか確認したい」「サーバーの監査ログに16進数で出力されたパーミッション値を、運用で使い慣れた8進数に直したい」——こうしたシーンで活躍するのが、Googleスプレッドシートの <strong>HEX2OCT関数</strong> です。</p>



<p class="wp-block-paragraph">スプレッドシートでサーバー設定値や機器パラメータを管理していると、16進数の値を8進数に変換したい場面が出てきます。Unixファイルパーミッションは8進数で表記されることが多く、ネットワーク機器の設定ファイルや組み込みシステムのデータでも8進数が使われる場合があります。</p>



<p class="wp-block-paragraph">HEX2OCT関数なら、16進数の文字列を指定するだけで、8進数の文字列に変換できます。桁数を指定してゼロ埋めできるので、パーミッション一覧表のように桁を揃えたい場面にも便利です。ExcelのHEX2OCT関数と仕様も同じなので、ファイルをやり取りする現場でも安心して使えますよ。</p>



<p class="wp-block-paragraph">この記事では、HEX2OCT関数の基本から桁数指定・パーミッション解析・ログ解析・エラー対処法まで、実務で役立つ形にまとめて解説します。ARRAYFORMULAでの一括変換やFAQにも触れていきます。</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">HEX2OCT関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">HEX2OCT関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">HEX2OCT関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">第1引数：変換する16進数</a></li><li><a href="#toc8" tabindex="0">第2引数：桁数（省略可）</a></li></ol></li><li><a href="#toc9" tabindex="0">16進数と8進数の対応表</a></li><li><a href="#toc10" tabindex="0">HEX2OCT関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">直接入力で変換する</a></li><li><a href="#toc12" tabindex="0">セル参照で変換する</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc14" tabindex="0">桁数を指定して出力する（ゼロ埋め）</a><ol><li><a href="#toc15" tabindex="0">3桁固定フォーマット出力</a></li><li><a href="#toc16" tabindex="0">4桁固定で管理する場合</a></li></ol></li><li><a href="#toc17" tabindex="0">実務活用例：Unixファイルパーミッション管理</a><ol><li><a href="#toc18" tabindex="0">設定ファイルから8進数を取り出す</a></li><li><a href="#toc19" tabindex="0">パーミッション一覧表の例</a></li></ol></li><li><a href="#toc20" tabindex="0">実務活用例：監査ログ・ネットワーク機器設定の解析</a><ol><li><a href="#toc21" tabindex="0">ネットワーク機器の設定値変換</a></li><li><a href="#toc22" tabindex="0">組み込み機器のレジスタ値解析</a></li><li><a href="#toc23" tabindex="0">システム監査ログの整形</a></li></ol></li><li><a href="#toc24" tabindex="0">負の数の変換（2の補数・10桁）</a><ol><li><a href="#toc25" tabindex="0">負の数に相当する16進数の変換例</a></li></ol></li><li><a href="#toc26" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc27" tabindex="0">#NUM! エラー</a></li><li><a href="#toc28" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc29" tabindex="0">エラー対処：IFERRORで包む</a></li></ol></li><li><a href="#toc30" tabindex="0">HEX2OCT関数とExcelの互換性</a></li><li><a href="#toc31" tabindex="0">HEX2シリーズ3関数の比較</a></li><li><a href="#toc32" tabindex="0">HEX2OCT関数のよくある質問</a><ol><li><a href="#toc33" tabindex="0">Q. HEX2OCTの結果でSUMやAVERAGEが効かないのはなぜですか？</a></li><li><a href="#toc34" tabindex="0">Q. 16進数の先頭に「0x」が付いた値（例: 0xFF）を変換するにはどうすればよいですか？</a></li><li><a href="#toc35" tabindex="0">Q. HEX2OCTで扱える範囲を超える16進数を変換したい場合はどうすればよいですか？</a></li></ol></li><li><a href="#toc36" tabindex="0">まとめ</a><ol><li><a href="#toc37" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">16進数は0〜9の数字とA〜Fのアルファベット（合計16種類）で数値を表す方法で、メモリアドレスや色コード、バイナリデータの表示などコンピュータの世界で広く使われます。一方の8進数は0〜7の数字（合計8種類）で表現する方式で、Unix系OSのファイルパーミッションや一部の組み込み機器の設定値で目にすることが多い形式です。HEX2OCT関数を使えば、16進数から8進数への変換作業をスプレッドシート上で自動化できますよ。</p>



<p class="wp-block-paragraph">たとえば <code>=HEX2OCT("FF")</code> と入力すると、結果は「377」です。16進数の「FF」（10進数で255）が、8進数で表現されました。</p>



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



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



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



<p class="wp-block-paragraph">つまり「HEXからOCTへ」、16進数を8進数に変換するという意味がそのまま名前になっています。逆向きの変換が必要なときは<a href="https://mashukabu.com/spreadsheet-oct2hex-function/">スプレッドシートのOCT2HEX関数</a>（8進→16進）を使うとペアで便利に運用できますよ。</p>



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



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



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>HEX2OCT関数は<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">スプレッドシートのHEX2BIN関数</a>（16進→2進）や<a href="https://mashukabu.com/spreadsheet-hex2dec-function/">スプレッドシートのHEX2DEC関数</a>（16進→10進）と同じHEXシリーズに属します。変換先が違うだけで、引数の指定方法や負の数の扱いといった基本ルールは共通しているので、まとめて覚えておくと応用が利きますよ。</p></blockquote>



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>8進数に変換したい16進数（最大10文字）。-536,870,912〜536,870,911（10進数）に相当する値のみ有効</td></tr><tr><td>桁数</td><td>任意</td><td>結果の最小文字数（1〜10）。省略すると必要最小限の桁数で返される</td></tr></tbody></table></figure>



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



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



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>HEX2OCTは<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN関数</a>（範囲は -512〜511）より広い範囲を扱えますが、<a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC関数</a>よりは狭い範囲です。変換する数値が大きすぎてHEX2OCTで #NUM! になる場合は、HEX2DECで10進数化して扱う方法も検討しましょう。</p></blockquote>



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



<p class="wp-block-paragraph">桁数のルールは、次のとおりです。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>HEX2OCT関数の戻り値は数値ではなく「文字列」です。そのままSUM計算に使おうとしても機能しません。8進数を10進数に戻して計算したい場合は<a href="https://mashukabu.com/spreadsheet-oct2dec-function/">スプレッドシートのOCT2DEC関数</a>を使ってくださいね。</p></blockquote>



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



<p class="wp-block-paragraph">HEX2OCT関数の動きをイメージしやすくするため、よく使われる値の対応を表にまとめました。</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>ゼロ</td></tr><tr><td>7</td><td>7</td><td>7</td><td>&nbsp;</td></tr><tr><td>8</td><td>10</td><td>8</td><td>8進数で1桁繰り上がり</td></tr><tr><td>F</td><td>17</td><td>15</td><td>&nbsp;</td></tr><tr><td>FF</td><td>377</td><td>255</td><td>1バイト最大値</td></tr><tr><td>1C0</td><td>700</td><td>448</td><td>7×64</td></tr><tr><td>1FF</td><td>777</td><td>511</td><td>&nbsp;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">16進数の1桁は8進数の1桁以上に対応します。16 = 8×2 なので、16進数1桁は8進数の1.3〜2桁に相当します。HEX2OCT変換では、このような桁数の「ずれ」が生じますよ。</p>



<p class="wp-block-paragraph">Unixパーミッションでよく使われる8進数と16進数の対応です。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>8進数</th><th>パーミッション（Linux例）</th></tr></thead><tbody><tr><td>1A4</td><td>644</td><td>rw-r&#8211;r&#8211;（ファイル標準）</td></tr><tr><td>1ED</td><td>755</td><td>rwxr-xr-x（実行ファイル標準）</td></tr><tr><td>1B6</td><td>666</td><td>rw-rw-rw-（全ユーザー読み書き）</td></tr><tr><td>1FF</td><td>777</td><td>rwxrwxrwx（全権限）</td></tr><tr><td>180</td><td>600</td><td>rw&#8212;&#8212;-（秘密ファイル）</td></tr></tbody></table></figure>



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



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



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



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



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



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



<p class="wp-block-paragraph">結果は「377」です。16進数の「FF」（10進数255）が8進数で表されました。</p>



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



<p class="wp-block-paragraph">結果は「32」です。16進数の「1A」（10進数26）が8進数で表されました。</p>



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



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



<p class="wp-block-paragraph">結果は「755」です。<code>chmod 755</code> のパーミッション値が16進数「1ED」であることがわかります。</p>



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



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



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



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



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



<p class="wp-block-paragraph">スプレッドシートならではの強みが、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数</a>との組み合わせです。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>A列: 16進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>1A4</td><td>=ARRAYFORMULA(HEX2OCT(A2:A6))</td><td>644</td></tr><tr><td>1ED</td><td>↓</td><td>755</td></tr><tr><td>180</td><td>↓</td><td>600</td></tr><tr><td>1B6</td><td>↓</td><td>666</td></tr><tr><td>1FF</td><td>↓</td><td>777</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">空セルが範囲に含まれる場合はIF文で空判定を入れておくと、リストの末尾が伸びても安全に動作します。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A=&quot;&quot;,&quot;&quot;,HEX2OCT(A2:A)))</code></pre>



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



<p class="wp-block-paragraph">HEX2OCT関数の第2引数「桁数」を使うと、出力の文字数を揃えられます。パーミッション一覧表の作成でとくに便利な機能ですよ。</p>



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



<p class="wp-block-paragraph">Unixパーミッションは通常3桁で表記します。桁数に3を指定すると一覧が揃って読みやすくなります。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>用途</th></tr></thead><tbody><tr><td>=HEX2OCT(&#8220;1ED&#8221;, 3)</td><td>755</td><td>rwxr-xr-x</td></tr><tr><td>=HEX2OCT(&#8220;1A4&#8221;, 3)</td><td>644</td><td>rw-r&#8211;r&#8211;</td></tr><tr><td>=HEX2OCT(&#8220;1FF&#8221;, 3)</td><td>777</td><td>rwxrwxrwx</td></tr><tr><td>=HEX2OCT(&#8220;7&#8221;, 3)</td><td>007</td><td>&#8212;&#8212;-rwx</td></tr></tbody></table></figure>



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



<h3 class="wp-block-heading"><span id="toc16">4桁固定で管理する場合</span></h3>



<p class="wp-block-paragraph">設定値をより詳細に管理する場合は4桁固定にすることもできます。SUID/SGID/Sticky Bit を含む4桁パーミッション（例: <code>4755</code>）の管理にも応用できますよ。</p>



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



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



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



<p class="wp-block-paragraph">HEX2OCT関数の最もわかりやすい実務活用が、Linuxサーバーのファイルパーミッション管理です。監査ログやセキュリティスキャナーの出力には、パーミッション値が16進数で記録されているケースが少なくありません。これをスプレッドシート上で8進数化しておけば、運用担当者にとって馴染みのある形式で確認・共有できます。</p>



<h3 class="wp-block-heading"><span id="toc18">設定ファイルから8進数を取り出す</span></h3>



<p class="wp-block-paragraph">システム設定ファイルや監査ログに16進数のパーミッション値が記録されている場合、HEX2OCT関数でUnixの8進数表記に変換できます。</p>



<pre class="wp-block-code"><code>=HEX2OCT(A2, 3)</code></pre>



<p class="wp-block-paragraph">A列に16進数のパーミッション値が並んでいれば、B列に <code>chmod</code> コマンドで使える3桁の8進数を並べられます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>ファイル名</th><th>16進数パーミッション</th><th>8進数（HEX2OCT）</th><th>意味</th></tr></thead><tbody><tr><td>app.conf</td><td>1A4</td><td>644</td><td>所有者R/W、グループR、その他R</td></tr><tr><td>start.sh</td><td>1ED</td><td>755</td><td>所有者R/W/X、グループR/X、その他R/X</td></tr><tr><td>secret.key</td><td>180</td><td>600</td><td>所有者R/W のみ</td></tr><tr><td>public/</td><td>1FF</td><td>777</td><td>全員 R/W/X</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-concatenate-function/">スプレッドシートのCONCATENATE関数</a>と組み合わせれば、<code>=CONCATENATE("chmod ", HEX2OCT(A2, 3), " ", B2)</code> のように実行コマンドを自動生成することもできますよ。サーバー作業の手順書づくりや、復旧用のスクリプト下書きにも活用できます。</p>



<h2 class="wp-block-heading"><span id="toc20">実務活用例：監査ログ・ネットワーク機器設定の解析</span></h2>



<p class="wp-block-paragraph">HEX2OCTはサーバーパーミッション以外にも、運用現場での「16進数で記録された値」を読みやすい形に整える用途で重宝します。</p>



<h3 class="wp-block-heading"><span id="toc21">ネットワーク機器の設定値変換</span></h3>



<p class="wp-block-paragraph">ルーターやスイッチの設定ファイルでは、ポートの状態フラグやACL（アクセス制御リスト）のビットマスクなどが16進数で出力されることがあります。これを8進数化することで、3ビットずつのフラグ単位で意味を読み取りやすくなります。</p>



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



<p class="wp-block-paragraph">結果は「77」です。3桁ずつのビットグループとして解釈する場合、<code>111 111</code> の6ビット全てが立っていることが直感的に分かります。</p>



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



<p class="wp-block-paragraph">センサーやマイコンの設定レジスタ値が16進数のメモリダンプとして提供される場合、HEX2OCTで8進数化することで、3ビットごとのフィールド（モード設定など）を読み取りやすくする使い方もあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>レジスタ名</th><th>16進数（ダンプ）</th><th>8進数（HEX2OCT）</th><th>用途例</th></tr></thead><tbody><tr><td>MODE_REG</td><td>1B</td><td>33</td><td>動作モード3 + サブモード3</td></tr><tr><td>CONFIG_REG</td><td>2A</td><td>52</td><td>設定パターンA</td></tr><tr><td>STATUS_REG</td><td>38</td><td>70</td><td>ステータスビット111 + 000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このような変換結果を表にしておけば、機器の設計仕様書と照らし合わせる作業の時短につながります。</p>



<h3 class="wp-block-heading"><span id="toc23">システム監査ログの整形</span></h3>



<p class="wp-block-paragraph">セキュリティ監査ツールが出力するログを取り込んで、<code>=HEX2OCT(B2, 3)</code> のように一括で8進数化し、人間が読める形にまとめておけば、レビュー会議や監査報告書の準備が一気にラクになりますよ。</p>



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



<p class="wp-block-paragraph">HEX2OCT関数で負の数に相当する16進数を変換すると、10桁（10文字）の8進数が返されます。これは「2の補数表現」と呼ばれる方式で、負の数をビット反転して扱う、コンピュータ内部での標準的な負数表現です。</p>



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



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



<p class="wp-block-paragraph">結果は「7777777777」（10桁すべて7）です。10桁8進数の2の補数で -1 を表しています。</p>



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



<p class="wp-block-paragraph">結果は「7400000000」です。-536,870,912（最小値）を表しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>結果（8進数）</th><th>10進数</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>7777777777</td><td>-1</td></tr><tr><td>FFE0000000</td><td>7400000000</td><td>-536,870,912（最小値）</td></tr><tr><td>1FFFFFFF</td><td>777777777</td><td>536,870,911（最大値）</td></tr></tbody></table></figure>



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



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



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



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



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



<pre class="wp-block-code"><code>=HEX2OCT(&quot;20000000&quot;)  → #NUM!（536,870,911 超えの正の値）
=HEX2OCT(&quot;FF&quot;, 1)     → #NUM!（FFは8進数で377（3桁）、1桁は不足）</code></pre>



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



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



<p class="wp-block-paragraph">桁数に数値型でない値を指定すると #VALUE! エラーになります。</p>



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



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



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



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



<p class="wp-block-paragraph">変換対象のデータが信頼できない場合は、<a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数</a>で包んでおくと安心です。</p>



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



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



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



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



<p class="wp-block-paragraph">ExcelファイルをGoogleスプレッドシートで開いた場合でも、HEX2OCT関数はそのまま動作します。逆にスプレッドシートで作成した数式をExcelで開いても問題ありませんよ。Excelでの使い方を確認したい場合は<a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">ExcelのHEX2OCT関数の使い方</a>も参考になります。</p>



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



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



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



<p class="wp-block-paragraph">HEX2DECだけが桁数引数を持たず、戻り値も数値型です。変換後にさらに計算が必要な場合はHEX2DECを使うか、HEX2OCT変換後に<a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC関数</a>を挟む構成が使いやすいですよ。</p>



<h2 class="wp-block-heading"><span id="toc32">HEX2OCT関数のよくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc33">Q. HEX2OCTの結果でSUMやAVERAGEが効かないのはなぜですか？</span></h3>



<p class="wp-block-paragraph">HEX2OCTの戻り値は <strong>数値ではなく文字列</strong> だからです。たとえば <code>=HEX2OCT("FF")</code> の結果「377」は8進数の文字列であり、10進数の数値ではありません。集計したい場合は、いったん10進数に戻す必要があります。具体的には <a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC関数</a> で <code>=OCT2DEC(HEX2OCT("FF"))</code> のように包むと、255という数値が得られてSUMやAVERAGEの対象にできます。最初から数値として扱いたいときは、HEX2OCTを経由せず <a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC関数</a> を直接使うほうがシンプルでおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc34">Q. 16進数の先頭に「0x」が付いた値（例: 0xFF）を変換するにはどうすればよいですか？</span></h3>



<p class="wp-block-paragraph">HEX2OCT関数は <code>0x</code> プレフィックスを自動で取り除いてくれません。<code>=HEX2OCT("0xFF")</code> は #NUM! エラーになります。スプレッドシートの <a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a> で <code>0x</code> を取り除いてから渡しましょう。</p>



<pre class="wp-block-code"><code>=HEX2OCT(SUBSTITUTE(A2, &quot;0x&quot;, &quot;&quot;))</code></pre>



<p class="wp-block-paragraph">これでプログラムやログ出力で見かける <code>0xFF</code> 形式の値も、そのまま列ごと変換できます。同様に <code>#</code> プレフィックス（CSSカラーコードなど）の場合は <code>"#"</code> を指定すれば対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc35">Q. HEX2OCTで扱える範囲を超える16進数を変換したい場合はどうすればよいですか？</span></h3>



<p class="wp-block-paragraph">HEX2OCTの有効範囲（10進換算で -536,870,912〜536,870,911）を超えるとき、もっとも簡単な回避策は <a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC関数</a> で一度10進数に変換し、必要に応じて手動でビットシフトなどの処理を行う方法です。HEX2DECはより広い範囲（-549,755,813,888〜549,755,813,887）に対応しています。それでも足りない場合は、上位桁と下位桁を分割して個別に変換し、文字列として結合する方法もあります。実務では、ほとんどのケースでHEX2OCTの範囲内に収まるので、まずは範囲超過がそもそも必要な要件なのかを見直すのもおすすめです。</p>



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



<p class="wp-block-paragraph">HEX2OCT関数は、16進数を8進数に変換するエンジニアリング関数です。最後にポイントを整理しておきましょう。</p>



<ul class="wp-block-list"><li>基本構文: <code>=HEX2OCT(数値, [桁数])</code></li><li>有効範囲: -536,870,912〜536,870,911（16進数で FFE0000000〜1FFFFFFF）</li><li>桁数を指定するとゼロ埋めで出力できる（例: 3桁固定でパーミッション表記）</li><li>負の数は常に10桁（8進数の2の補数）で返される</li><li>Unixファイルパーミッション、ネットワーク機器設定、組み込み機器レジスタの管理などで活用できる</li><li>戻り値は文字列。集計に使いたいときは <a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC関数</a> で数値化する</li></ul>



<p class="wp-block-paragraph"><code>=HEX2OCT(A2, 3)</code> のように3桁固定で出力するパターンは、パーミッション一覧表の作成で重宝しますよ。逆向きの変換が必要な場面では <a href="https://mashukabu.com/spreadsheet-oct2hex-function/">スプレッドシートのOCT2HEX関数</a> と組み合わせて使えば、相互変換のワークフローも簡単に組めます。</p>



<p class="wp-block-paragraph">HEXシリーズの他の関数（<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN</a>、<a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC</a>）もシリーズとして覚えておくと、用途に応じて使い分けられて便利ですよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc37">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-oct2hex-function/">スプレッドシートのOCT2HEX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-hex2dec-function/">スプレッドシートのHEX2DEC関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-hex2bin-function/">スプレッドシートのHEX2BIN関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-oct2dec-function/">スプレッドシートのOCT2DEC関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-concatenate-function/">スプレッドシートのCONCATENATE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-substitute-function/">スプレッドシートのSUBSTITUTE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-hex2oct/">ExcelのHEX2OCT関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-hex2oct-function/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 class="wp-block-paragraph">「16進数を8進数に変換したいけど、手計算だと桁の対応がややこしい&#8230;」</p>



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



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



<p class="wp-block-paragraph">この記事では、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-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の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 class="wp-block-paragraph">HEX2OCT関数は、<strong>16進数を8進数に変換するExcelの関数</strong>です。</p>



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">読み方は「ヘックス・ツー・オクタル」です。</p>



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">引数は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 class="wp-block-paragraph">8進数に変換したい16進数を指定します。</p>



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



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



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



<p class="wp-block-paragraph">結果の文字数（桁数）を整数で指定します。</p>



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



<p class="wp-block-paragraph">たとえば <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 class="wp-block-paragraph">HEX2OCT関数が変換できる範囲は限られています。</p>



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



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



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



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



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



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



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=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 class="wp-block-paragraph">桁揃えを行うとデータの見た目が整い、比較しやすくなりますよ。</p>



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">代表的なパーミッションの変換例です。</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 class="wp-block-paragraph">パーミッション管理の場面で、ぜひ活用してみてください。</p>



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



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



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



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



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



<p class="wp-block-paragraph">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 class="wp-block-paragraph">桁数の指定が結果に必要な桁数より少ない場合もエラーです。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">この数式なら、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 class="wp-block-paragraph">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 class="wp-block-paragraph">使いどころを整理します。</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 class="wp-block-paragraph">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 class="wp-block-paragraph">HEX2BINは10桁でも10ビットしかないため、入力範囲が狭めです。HEX2OCTは10桁で30ビットなので、かなり広い範囲を扱えますよ。</p>



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



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



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



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



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



<p class="wp-block-paragraph">ポイントを整理します。</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 class="wp-block-paragraph">まずは <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>
	</channel>
</rss>
