<?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/%E5%9F%BA%E6%95%B0%E5%A4%89%E6%8F%9B/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 05 Sep 2026 01:29:29 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</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>スプレッドシートの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>スプレッドシートのOCT2HEX関数の使い方｜8進→16進数変換</title>
		<link>https://mashukabu.com/spreadsheet-oct2hex-function/</link>
					<comments>https://mashukabu.com/spreadsheet-oct2hex-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:26:55 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[8進数]]></category>
		<category><![CDATA[OCT2HEX]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6329</guid>

					<description><![CDATA[GoogleスプレッドシートのOCT2HEX関数の使い方を解説。8進数を16進数に変換する基本構文から、桁数指定によるゼロ埋め、ARRAYFORMULAでの一括変換、Linuxパーミッションの16進記録、負の数（2の補数）の扱い、#NUM!エラーの対処法、HEX2OCTでの逆変換まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「サーバーのパーミッション値（755とか644）を、ドキュメントに合わせて16進数表記で揃えて記録したい&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートで権限管理台帳やレジスタ設定の記録を扱っていると、8進数のままでは桁が揃わなかったり、ドキュメントの16進表記と並べたときに見比べづらかったりして困りますよね。電卓で1件ずつ変換するのは、件数が増えると現実的ではありません。</p>



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



<p class="wp-block-paragraph">桁数引数を指定すれば、左ゼロ埋めで「002」「01F」のように見た目を揃えられます。Excelとも互換性があるため、ファイルをやり取りする現場でも安心ですね。</p>



<p class="wp-block-paragraph">この記事では、OCT2HEX関数の基本から桁数引数によるゼロ埋め・ARRAYFORMULAでの一括変換・負の数の扱い・エラー対処法まで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">OCT2HEX関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">OCT2HEX関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">OCT2HEX関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">第1引数：変換する8進数</a></li><li><a href="#toc8" tabindex="0">第2引数：桁数（任意）</a></li></ol></li><li><a href="#toc9" tabindex="0">8進数と16進数の対応表</a></li><li><a href="#toc10" tabindex="0">OCT2HEX関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">直接入力で変換する</a></li><li><a href="#toc12" tabindex="0">セル参照で変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">桁数引数でゼロ埋めする</a><ol><li><a href="#toc14" tabindex="0">4桁にゼロ埋めする</a></li><li><a href="#toc15" tabindex="0">桁数比較表</a></li></ol></li><li><a href="#toc16" tabindex="0">ARRAYFORMULAで一括変換する</a><ol><li><a href="#toc17" tabindex="0">基本の一括変換</a></li><li><a href="#toc18" tabindex="0">桁数を揃えて一括変換</a></li></ol></li><li><a href="#toc19" tabindex="0">戻り値はテキスト型（計算前にHEX2DECが必要）</a><ol><li><a href="#toc20" tabindex="0">SUMで合計したい場合</a></li><li><a href="#toc21" tabindex="0">VLOOKUPの検索値として使う場合</a></li></ol></li><li><a href="#toc22" tabindex="0">負の数の変換（30ビット2の補数）</a><ol><li><a href="#toc23" tabindex="0">負の数の仕組み</a></li></ol></li><li><a href="#toc24" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc25" tabindex="0">#NUM! エラー</a></li><li><a href="#toc26" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc27" tabindex="0">エラー対処：IFERRORで包む</a></li><li><a href="#toc28" tabindex="0">エラー防止：正規表現で事前チェック</a></li></ol></li><li><a href="#toc29" tabindex="0">実務での応用例</a><ol><li><a href="#toc30" tabindex="0">Linuxパーミッションを16進記録する</a></li><li><a href="#toc31" tabindex="0">メモリアドレス・レジスタ値の整形</a></li><li><a href="#toc32" tabindex="0">既存16進マスタとの突合検索</a></li></ol></li><li><a href="#toc33" tabindex="0">OCT2HEX関数とExcelの互換性</a></li><li><a href="#toc34" tabindex="0">OCT2シリーズ3関数の比較</a></li><li><a href="#toc35" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc36" tabindex="0">Q1. OCT2HEXの結果を計算に使えないのはなぜですか？</a></li><li><a href="#toc37" tabindex="0">Q2. 8進数の「77」を直接書いたら #NUM! や予期しない値が返るのはなぜですか？</a></li><li><a href="#toc38" tabindex="0">Q3. OCT2HEXとDEC2HEX、どちらを使うべきですか？</a></li></ol></li><li><a href="#toc39" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">8進数は0〜7の数字（合計8種類）で数値を表す方法です。一方の16進数は0〜9とA〜Fの16種類で表します。8進数3桁は10進数を経由しないと16進数に変換しづらいため、関数で一発変換できると便利ですよ。</p>



<p class="wp-block-paragraph">たとえば <code>=OCT2HEX("17")</code> と入力すると、結果は「F」です。8進数の「17」（1×8+7=15）が16進数のF（15）と一致するとわかります。</p>



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



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



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



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



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



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



<ul class="wp-block-list"><li>8進数を16進数のテキストに変換する</li><li>変換できる範囲は -536,870,912〜536,870,911（30ビット符号付き整数）</li><li><strong>桁数引数を指定して左ゼロ埋めができる</strong>（<a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC関数</a>と異なる）</li><li><strong>戻り値はテキスト型</strong>（文字列）→ 計算するには HEX2DEC で数値化が必要</li><li>ExcelのOCT2HEX関数と仕様が同じで、ファイル共有でもそのまま動作する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>OCT2HEX関数は逆変換のHEX2OCT関数（16進→8進）とペアで使います。また、姉妹関数の<a href="https://mashukabu.com/spreadsheet-oct2bin-function/">OCT2BIN関数</a>（8進→2進）や<a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC関数</a>（8進→10進）と合わせて、基数変換セットとして覚えておくと便利ですよ。</p></blockquote>



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



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



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



<p class="wp-block-paragraph">カッコの中に、変換したい8進数と、必要なら桁数を指定します。桁数は省略可能です。</p>



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



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



<p class="wp-block-paragraph">桁数を指定すると、結果の文字数が足りない場合に左に「0」を埋めて揃えてくれますよ。</p>



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



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



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



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



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



<p class="wp-block-paragraph">桁数には1〜10の整数を指定できます。指定しない場合は、結果に必要な最小桁数で返ります。</p>



<ul class="wp-block-list"><li>結果の桁数より大きい値を指定 → 左ゼロ埋めで揃える</li><li>結果の桁数より小さい値を指定 → #NUM! エラー</li><li>負の数の変換時 → 桁数指定は無視され、常に10桁で返る</li></ul>



<p class="wp-block-paragraph">ドキュメントで「002」「01F」のように見た目を揃えたい場面で活躍しますよ。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>8進数</th><th>16進数</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>1桁の最大値（8進数も16進数も同じ）</td></tr><tr><td>10</td><td>8</td><td>8</td><td>2桁目に繰り上がり</td></tr><tr><td>17</td><td>F</td><td>15</td><td>16進数の1桁最大</td></tr><tr><td>20</td><td>10</td><td>16</td><td>16進数の2桁目に繰り上がり</td></tr><tr><td>77</td><td>3F</td><td>63</td><td>8進数の2桁最大</td></tr><tr><td>100</td><td>40</td><td>64</td><td>8²</td></tr><tr><td>755</td><td>1ED</td><td>493</td><td>Linuxパーミッション例</td></tr><tr><td>777</td><td>1FF</td><td>511</td><td>8進数の3桁最大（全権限）</td></tr><tr><td>3777777777</td><td>1FFFFFFF</td><td>536,870,911</td><td>正の最大値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">8進数3桁が16進数では2〜3桁になります。OCT2HEXの戻り値は最小桁数なので、左ゼロ埋めしたい場合は第2引数を活用しましょう。</p>



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



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



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



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



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



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



<p class="wp-block-paragraph">結果は「8」です。8進数の「10」は10進数で8、それが16進数でも8に当たります。</p>



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



<p class="wp-block-paragraph">結果は「1ED」です。8進数の「755」は10進数で493、それを16進数にすると1×256+14×16+13で1EDになります。</p>



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



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



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



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



<p class="wp-block-paragraph">結果は「1A4」です。6×64+4×8+4=420、これを16進数にすると1A4ですね。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>A列: 8進数</th><th>B列: 数式</th><th>結果（16進数）</th></tr></thead><tbody><tr><td>7</td><td>=OCT2HEX(A2)</td><td>7</td></tr><tr><td>10</td><td>=OCT2HEX(A3)</td><td>8</td></tr><tr><td>17</td><td>=OCT2HEX(A4)</td><td>F</td></tr><tr><td>100</td><td>=OCT2HEX(A5)</td><td>40</td></tr><tr><td>755</td><td>=OCT2HEX(A6)</td><td>1ED</td></tr></tbody></table></figure>



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



<h2 class="wp-block-heading"><span id="toc13">桁数引数でゼロ埋めする</span></h2>



<p class="wp-block-paragraph">第2引数を指定すると、結果の桁数を強制的に揃えられます。台帳やドキュメント上で見た目を統一したいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">4桁にゼロ埋めする</span></h3>



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



<p class="wp-block-paragraph">結果は「000F」です。本来は1桁の「F」ですが、左に「0」を3つ埋めて4桁に揃えています。</p>



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



<p class="wp-block-paragraph">結果は「01ED」です。3桁の「1ED」の左に「0」を1つ追加して4桁に整えています。</p>



<h3 class="wp-block-heading"><span id="toc15">桁数比較表</span></h3>



<p class="wp-block-paragraph">同じ8進数に対して、桁数指定を変えた結果を比較してみます。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th></tr></thead><tbody><tr><td>=OCT2HEX(&#8220;7&#8221;)</td><td>7</td></tr><tr><td>=OCT2HEX(&#8220;7&#8221;, 2)</td><td>07</td></tr><tr><td>=OCT2HEX(&#8220;7&#8221;, 4)</td><td>0007</td></tr><tr><td>=OCT2HEX(&#8220;755&#8221;)</td><td>1ED</td></tr><tr><td>=OCT2HEX(&#8220;755&#8221;, 4)</td><td>01ED</td></tr><tr><td>=OCT2HEX(&#8220;755&#8221;, 8)</td><td>000001ED</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">メモリアドレス表記（4桁・8桁）に揃えたい場合に使い分けると便利ですね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>桁数を結果より小さく指定すると #NUM! エラーになります。<code>=OCT2HEX("777", 1)</code> は16進数で「1FF」（3桁）になるため、桁数1を指定するとエラーです。安全に揃えたい場合は、想定される最大桁数より大きめの値を指定しておきましょう。</p></blockquote>



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



<p class="wp-block-paragraph">スプレッドシートならではの強みが、ARRAYFORMULA関数との組み合わせです。複数のセルをまとめて変換できますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">基本の一括変換</span></h3>



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



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



<figure class="wp-block-table"><table><thead><tr><th>A列: 8進数</th><th>B列: 結果</th></tr></thead><tbody><tr><td>7</td><td>7</td></tr><tr><td>10</td><td>8</td></tr><tr><td>100</td><td>40</td></tr><tr><td>755</td><td>1ED</td></tr><tr><td>777</td><td>1FF</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式はB2セルに1つだけ書けば、B10まで自動的に展開されますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">桁数を揃えて一括変換</span></h3>



<p class="wp-block-paragraph">桁数引数も配列の中で使えます。</p>



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



<p class="wp-block-paragraph">A2:A10 のすべての8進数を、左ゼロ埋めで4桁に揃えて変換します。台帳の見た目を一気に整えたい場面で重宝しますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 8進数</th><th>B列: 4桁ゼロ埋め結果</th></tr></thead><tbody><tr><td>7</td><td>0007</td></tr><tr><td>10</td><td>0008</td></tr><tr><td>100</td><td>0040</td></tr><tr><td>755</td><td>01ED</td></tr><tr><td>777</td><td>01FF</td></tr></tbody></table></figure>



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



<h2 class="wp-block-heading"><span id="toc19">戻り値はテキスト型（計算前にHEX2DECが必要）</span></h2>



<p class="wp-block-paragraph">OCT2HEX関数の注意点が、戻り値が<strong>テキスト（文字列）型</strong>である点です。同じシリーズの<a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC関数</a>が数値型を返すのとは対照的ですよ。</p>



<p class="wp-block-paragraph">16進数には「A〜F」のアルファベットが含まれるため、そもそも数値として扱えません。そのため計算や集計に使うには、いったん<a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC関数</a>で10進数に戻す必要があります。</p>



<h3 class="wp-block-heading"><span id="toc20">SUMで合計したい場合</span></h3>



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



<p class="wp-block-paragraph">OCT2HEX → HEX2DEC とつなぐことで、テキストで返ってきた16進数を10進数の数値に戻して合計しています。</p>



<p class="wp-block-paragraph">ただし、最初から計算が目的なら<a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC関数</a>を使うほうがシンプルですよ。</p>



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



<p class="wp-block-paragraph">こちらは1関数で済みます。OCT2HEXは「16進数の見た目で記録したい」「ドキュメントの表記に合わせたい」場面で選ぶ関数だと覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc21">VLOOKUPの検索値として使う場合</span></h3>



<p class="wp-block-paragraph">16進数のIDで管理されているマスタを検索する場面では、テキスト型のままVLOOKUPに渡せます。</p>



<pre class="wp-block-code"><code>=VLOOKUP(OCT2HEX(A2, 4), アドレスマスタ!A:B, 2, FALSE)</code></pre>



<p class="wp-block-paragraph">A2の8進数を4桁ゼロ埋めの16進数に変換し、マスタ表を検索しています。マスタ側の16進数表記と桁数を揃えるのがポイントですよ。</p>



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



<p class="wp-block-paragraph">OCT2HEX関数で負の数に相当する8進数を変換すると、30ビットの2の補数表現で16進数が返されます。</p>



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



<p class="wp-block-paragraph">8進数の最上位1桁が4以上（4・5・6・7）の場合、最上位ビットが1となり負の数として解釈されます。結果は10桁の16進数で返り、最上位は「F」「E」などになりますよ。</p>



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



<p class="wp-block-paragraph">結果は「FFFFFFFF」（10桁）です。30ビットすべてが1で、10進数では -1 を表します。</p>



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



<p class="wp-block-paragraph">結果は「E0000000」（10桁）です。OCT2HEXで扱える最小値（-536,870,912）に当たります。</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>FFFFFFFF</td><td>-1</td></tr><tr><td>7777777533</td><td>FFFFFF5B</td><td>-165</td></tr><tr><td>4000000000</td><td>E0000000</td><td>-536,870,912</td></tr><tr><td>3777777777</td><td>1FFFFFFF</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>TIP</strong></p><p>負の数の変換では、桁数引数を指定しても無視されます。常に10桁の16進数（左がF・Eなど）で返ることを覚えておきましょう。通常のパーミッション解析では正の数しか扱わないため、この挙動を意識する場面は限定的ですよ。</p></blockquote>



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



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



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



<ul class="wp-block-list"><li>0〜7以外の文字を含む8進数を指定した（8、9、A〜Fなど）</li><li>入力が10文字を超えた</li><li>結果が桁数引数より長い</li><li>桁数引数が0以下、または10より大きい</li></ul>



<pre class="wp-block-code"><code>=OCT2HEX(&quot;89&quot;)        → #NUM!（8と9は8進数では無効）
=OCT2HEX(&quot;12345678901&quot;) → #NUM!（11文字は範囲外）
=OCT2HEX(&quot;777&quot;, 1)    → #NUM!（結果1FFは3桁、桁数1では収まらない）</code></pre>



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



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



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



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



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



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



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



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



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



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



<h2 class="wp-block-heading"><span id="toc29">実務での応用例</span></h2>



<p class="wp-block-paragraph">OCT2HEX関数は、ドキュメントや既存システムの表記が「16進数」で統一されている現場で特に重宝します。代表的なユースケースを3つ紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc30">Linuxパーミッションを16進記録する</span></h3>



<p class="wp-block-paragraph">サーバーの権限管理台帳をスプレッドシートで運用していると、<code>chmod 755</code> や <code>chmod 644</code> といった<strong>8進数表記</strong>のままドキュメントに残すか、組み込み系の設定レジスタに合わせて<strong>16進数表記</strong>で残すかで悩む場面があります。</p>



<p class="wp-block-paragraph">OCT2HEXを使えば、入力は使い慣れた8進数のまま、保存・表示は16進数という運用に切り替えられますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>サーバー名</th><th>パーミッション（8進）</th><th>数式</th><th>記録値（16進）</th></tr></thead><tbody><tr><td>web-01</td><td>755</td><td>=OCT2HEX(B2, 3)</td><td>1ED</td></tr><tr><td>web-02</td><td>644</td><td>=OCT2HEX(B3, 3)</td><td>1A4</td></tr><tr><td>api-01</td><td>600</td><td>=OCT2HEX(B4, 3)</td><td>180</td></tr><tr><td>db-01</td><td>750</td><td>=OCT2HEX(B5, 3)</td><td>1E8</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">桁数引数に「3」を指定して、すべて3桁に揃えています。組み込み機器の設定ドキュメントとセル比較するときも、見た目が同じ桁数で並んで見やすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc31">メモリアドレス・レジスタ値の整形</span></h3>



<p class="wp-block-paragraph">組み込み開発や低レイヤの設定では、メモリアドレスを<strong>4桁・8桁の16進数</strong>で表記する慣習があります。元データが8進数で渡された場合、OCT2HEXの第2引数で桁数を固定すれば、そのままドキュメント形式に揃えられますよ。</p>



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



<p class="wp-block-paragraph">結果は「007F」です。8進数の「177」（10進数で127）を、4桁ゼロ埋めの16進数で表示しています。</p>



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



<p class="wp-block-paragraph">結果は「000007FF」です。32ビットアドレスを意識した8桁表記に整形されています。</p>



<p class="wp-block-paragraph">レビュー用の設定一覧表で「ADDR_0007F」のように検索しやすい形にしておくと、コードコメントとも対応がとりやすくなりますね。</p>



<h3 class="wp-block-heading"><span id="toc32">既存16進マスタとの突合検索</span></h3>



<p class="wp-block-paragraph">16進数のIDで管理されているマスタ表（デバイスID・センサーIDなど）に対して、フィールドから集めた8進数ログを突き合わせる場面でも活躍します。</p>



<pre class="wp-block-code"><code>=VLOOKUP(OCT2HEX(A2, 4), デバイスマスタ!A:C, 3, FALSE)</code></pre>



<p class="wp-block-paragraph">A2に入っている8進数のセンサーIDを4桁ゼロ埋めの16進数に変換し、デバイスマスタの3列目（機器名など）を引いてきています。マスタ側の表記桁数と一致させるのがポイントですよ。</p>



<p class="wp-block-paragraph">10進数のIDを16進数のマスタにぶつけたい場合は、代わりに<a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX関数</a>を使うとシンプルです。元データの基数に応じて関数を使い分けましょう。</p>



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



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



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



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



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



<p class="wp-block-paragraph">OCTシリーズの変換関数（OCT2から始まる）を比較すると、変換先と戻り値の型が異なります。</p>



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



<p class="wp-block-paragraph">OCT2HEXとOCT2BINは桁数引数で見た目を揃えられる代わりに、戻り値はテキスト型です。OCT2DECだけが桁数引数を持たず、戻り値は数値型で計算にそのまま使えますよ。</p>



<p class="wp-block-paragraph">「ドキュメントに合わせて整形したい」ならOCT2HEX、「集計や検索に使いたい」ならOCT2DECと、目的で使い分けましょう。</p>



<h2 class="wp-block-heading"><span id="toc35">よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc36">Q1. OCT2HEXの結果を計算に使えないのはなぜですか？</span></h3>



<p class="wp-block-paragraph">OCT2HEX関数の戻り値が<strong>テキスト型（文字列）</strong>だからです。16進数には「A〜F」のアルファベットが混ざるため、そもそも数値として直接扱えません。</p>



<p class="wp-block-paragraph">合計や平均などの計算をしたい場合は、<a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC関数</a>で10進数に戻してから演算します。たとえば <code>=SUM(ARRAYFORMULA(HEX2DEC(OCT2HEX(A2:A10))))</code> のようにつなぐと、テキストの16進数を数値化してから合計できますよ。</p>



<p class="wp-block-paragraph">最初から集計目的なら、戻り値が数値型の<a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC関数</a>を使うほうがシンプルです。OCT2HEXは「16進数の見た目でドキュメントに残したい」場面で選ぶ関数だと覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc37">Q2. 8進数の「77」を直接書いたら #NUM! や予期しない値が返るのはなぜですか？</span></h3>



<p class="wp-block-paragraph">数値として書いた「77」は10進数の77として解釈されるからです。OCT2HEXに渡したい場合は、<strong>ダブルクォートで文字列</strong>として <code>=OCT2HEX("77")</code> のように指定するのが正解ですよ。</p>



<p class="wp-block-paragraph">特に <code>=OCT2HEX(077)</code> のように先頭ゼロを付けて入力すると、スプレッドシートが先頭ゼロを落として「77」（10進数解釈）として扱う場合があります。文字列指定にしておけば、桁構成が崩れず安定して動きますよ。</p>



<p class="wp-block-paragraph">セル参照（<code>=OCT2HEX(A2)</code>）でも、A2セルが文字列形式で「077」と入っていれば問題なく動作します。データ取り込み時に書式設定を「書式なしテキスト」にしておくと安心ですね。</p>



<h3 class="wp-block-heading"><span id="toc38">Q3. OCT2HEXとDEC2HEX、どちらを使うべきですか？</span></h3>



<p class="wp-block-paragraph">入力データの基数で選びます。<strong>8進数を持っているならOCT2HEX、10進数を持っているなら<a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX関数</a></strong>を使いましょう。</p>



<p class="wp-block-paragraph">両者は構文も対応範囲も似ていますが、10進数で「755」と入力した値をOCT2HEXに渡すと<strong>8進数の755（10進数で493）</strong>として解釈されてしまいます。意図せず大きく異なる結果になるため、元データが何進数なのかを必ず確認してから関数を選んでくださいね。</p>



<p class="wp-block-paragraph">迷ったときは、まず元データを10進数に正規化してから<a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX関数</a>で揃える方法がトラブルを避けやすいですよ。</p>



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



<p class="wp-block-paragraph">OCT2HEX関数は、8進数を16進数のテキストに変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=OCT2HEX(数値, [桁数])</code></li><li>有効範囲: -536,870,912〜536,870,911（正: 0〜3777777777）</li><li>桁数引数で左ゼロ埋め可能（負の数では無視）</li><li>戻り値はテキスト型 → 計算するには<a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC関数</a>で数値化が必要</li><li>Linuxパーミッションの16進記録・メモリアドレス整形・16進マスタとのVLOOKUP検索などの実務で活躍</li></ul>



<p class="wp-block-paragraph"><code>=OCT2HEX("755", 4)</code> → 01ED のように、桁数を揃えてドキュメントの表記にぴったり合わせられるのがOCT2HEXの強みですよ。</p>



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

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



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



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



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



<p class="wp-block-paragraph">この記事では、OCT2BIN関数の基本から桁数指定・パーミッションビット展開・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</p>




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p 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>OCT2BIN関数の戻り値は数値ではなく「文字列」です。そのまま計算に使おうとすると文字列として扱われます。2進数を10進数に戻して計算したい場合はBIN2DEC関数を使ってくださいね。</p></blockquote>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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



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



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



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



<p class="wp-block-paragraph">この記事では、HEX2DEC関数の基本から戻り値の数値活用・カラーコード分析・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</p>




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">カッコの中に、変換したい16進数を指定するだけです。HEX2BINやHEX2OCTと違い、<strong>桁数引数はありません</strong>。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>10進数に変換したい16進数（最大10文字）。-549,755,813,888〜549,755,813,887 に相当する値のみ有効</td></tr></tbody></table></figure>



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



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



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



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>HEX2DEC関数の引数には「16進数の文字列」または「16進数が入ったセル参照」を指定します。<code>=HEX2DEC(FF)</code> のようにクォートなしで入力すると、FFが変数名とみなされエラーになります。<code>=HEX2DEC("FF")</code> のように文字列として指定してください。</p></blockquote>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>結果（10進数）</th><th>備考</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>-1</td><td>40ビット全て1</td></tr><tr><td>FFFFFFFE00</td><td>-512</td><td>&nbsp;</td></tr><tr><td>8000000000</td><td>-549,755,813,888</td><td>最小値（負の最大）</td></tr><tr><td>7FFFFFFFFF</td><td>549,755,813,887</td><td>最大値（正の最大）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>負の数の変換が必要な場面は、符号付きレジスタ値や温度センサーのオーバーフロー値の管理などです。通常の業務では正の数だけを扱うことがほとんどですよ。</p></blockquote>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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



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



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



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



<p class="wp-block-paragraph">この記事では、OCT2DEC関数の基本から戻り値の数値活用・Linuxパーミッション解析・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</p>




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">カッコの中に、変換したい8進数を指定するだけです。OCT2BINやOCT2HEXと違い、<strong>桁数引数はありません</strong>。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>10進数に変換したい8進数（最大10文字）。-536,870,912〜536,870,911 に相当する値のみ有効</td></tr></tbody></table></figure>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>入力（8進数）</th><th>結果（10進数）</th><th>備考</th></tr></thead><tbody><tr><td>7777777777</td><td>-1</td><td>30ビット全て1</td></tr><tr><td>7777777533</td><td>-165</td><td>任意の負の値</td></tr><tr><td>4000000000</td><td>-536,870,912</td><td>最小値</td></tr><tr><td>3777777777</td><td>536,870,911</td><td>最大値（正の最大）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>通常の業務（パーミッション解析など）で扱う8進数は3〜4桁で正の数なので、負の数の変換が必要になる場面はほとんどありません。符号付きレジスタ値を扱う特殊なシステム管理でだけ意識すれば大丈夫ですよ。</p></blockquote>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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



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



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



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



<p class="wp-block-paragraph">この記事では、BIN2HEX関数の基本から桁数指定、符号付き2進数の扱い、エラー対処法、関連関数との使い分けまでまとめて解説します。</p>




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">不足分は先頭に「0」が補われます。</p>



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



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



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



<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>=BIN2HEX(&#8220;1&#8221;, 2)</td><td>01</td><td>2桁に揃える</td></tr><tr><td>=BIN2HEX(&#8220;1010&#8221;, 4)</td><td>000A</td><td>4桁に揃える</td></tr><tr><td>=BIN2HEX(&#8220;11111111&#8221;, 4)</td><td>00FF</td><td>4桁に揃える</td></tr></tbody></table></figure>



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">10桁の2進数では、各桁の意味が次のようになります。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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



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



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



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



<p class="wp-block-paragraph">この記事では、DEC2OCT関数の基本から桁数指定・Linuxパーミッション管理・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">DEC2OCT関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">DEC2OCT関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2OCT関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">第1引数：変換する10進数</a></li><li><a href="#toc8" tabindex="0">第2引数：桁数（省略可）</a></li></ol></li><li><a href="#toc9" tabindex="0">10進数と8進数の対応表</a></li><li><a href="#toc10" tabindex="0">DEC2OCT関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">直接入力で変換する</a></li><li><a href="#toc12" tabindex="0">セル参照で変換する</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc14" tabindex="0">桁数を指定して出力する（ゼロ埋め）</a><ol><li><a href="#toc15" tabindex="0">3桁固定フォーマット出力</a></li></ol></li><li><a href="#toc16" tabindex="0">実務活用例：Linuxファイルパーミッション管理</a><ol><li><a href="#toc17" tabindex="0">chmod値の一覧表を作る</a></li><li><a href="#toc18" tabindex="0">権限ビットから8進数への変換</a></li></ol></li><li><a href="#toc19" tabindex="0">負の数の変換（2の補数・30ビット）</a><ol><li><a href="#toc20" tabindex="0">負の数の変換例</a></li><li><a href="#toc21" tabindex="0">8進数の2の補数の読み方</a></li></ol></li><li><a href="#toc22" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc23" tabindex="0">#NUM! エラー</a></li><li><a href="#toc24" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc25" tabindex="0">エラー対処：IFERRORで包む</a></li></ol></li><li><a href="#toc26" tabindex="0">DEC2OCT関数とExcelの互換性</a></li><li><a href="#toc27" tabindex="0">DECシリーズ3関数の比較</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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



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



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



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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">DEC2BIN関数とセットで使われることが多い関数を整理しました。</p>



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



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



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



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



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



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



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



<p class="wp-block-paragraph">DEC2BIN関数の仕様はExcelとGoogleスプレッドシートでほぼ同じです。引数名が少し異なる（Excelでは <code>places</code>、Sheetsでは <code>significant_digits</code>）程度で、動作は共通ですよ。</p>



<p class="wp-block-paragraph">既に<a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">ExcelのDEC2BIN関数</a>を使った経験があれば、スプレッドシートでも同じ感覚で使えます。ファイルをExcel形式（.xlsx）で保存しても、関数はそのまま動作しますね。</p>



<h2 class="wp-block-heading"><span id="toc28">まとめ</span></h2>



<p class="wp-block-paragraph">スプレッドシートのDEC2BIN関数は、10進数を2進数に変換するエンジニアリング関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DEC2BIN(数値, [桁数])</code> で、桁数は省略可能</li><li>変換範囲は -512〜511（10ビット符号付き整数）</li><li>桁数を指定すると、先頭に0を補って文字数を揃えられる</li><li>負の数は2の補数で表現され、常に10桁で返される（桁数指定は無視）</li><li>#NUM!エラーは「範囲外」「桁数不足」「桁数10超または0以下」の3パターン</li><li>ARRAYFORMULAと組み合わせれば、範囲全体を一括変換できる</li><li>逆変換にはBIN2DEC関数を使う</li><li>ExcelのDEC2BIN関数と仕様は共通で、ファイルをExcel形式で保存しても動作する</li></ul>



<p class="wp-block-paragraph">まずは <code>=DEC2BIN(5, 8)</code> で <code>00000101</code> が返ることを試してみてください。動きがつかめたら、ビットフラグ管理やIPアドレスの可視化にも応用できるようになりますよ。</p>



<p class="wp-block-paragraph">姉妹記事の<a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC関数</a>・<a href="https://mashukabu.com/spreadsheet-bin2oct-function/">BIN2OCT関数</a>・<a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX関数</a>もあわせてご覧ください。Excel版の使い方は<a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">ExcelのDEC2BIN関数の使い方</a>で解説しています。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dec2bin-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDEC2HEX関数の使い方｜10進→16進</title>
		<link>https://mashukabu.com/spreadsheet-dec2hex-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dec2hex-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:22 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[DEC2HEX]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[カラーコード]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6245</guid>

					<description><![CDATA[GoogleスプレッドシートのDEC2HEX関数の使い方を解説。10進数を16進数に変換する基本から、桁数指定（ゼロ埋め）、RGBカラーコード変換、負の数の扱い、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「RGB値（赤・緑・青の数値）をWebカラーコードに変換したいのに、計算が面倒&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートでデザインやWeb制作の作業をしていると、10進数の数値を16進数で表現したい場面が出てきます。255を「FF」、0を「00」に変換するといった作業を手計算でやるのは、慣れていないと大変ですよね。</p>



<p class="wp-block-paragraph">そんなときに役立つのがGoogleスプレッドシートのDEC2HEX関数です。10進数のセルを指定するだけで、16進数の文字列にすぐ変換できますよ。</p>



<p class="wp-block-paragraph">しかも桁数を指定してゼロ埋めできるので、RGBカラーコード（<code>#FF0000</code>のような形式）をスプレッドシート上で自動生成することも可能です。Excelとも互換性があるため、ファイルをやり取りする現場でも安心して使えますね。</p>



<p class="wp-block-paragraph">この記事では、DEC2HEX関数の基本から桁数指定・カラーコード生成・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">DEC2HEX関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">DEC2HEX関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2HEX関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">第1引数：変換する10進数</a></li><li><a href="#toc8" tabindex="0">第2引数：桁数（省略可）</a></li></ol></li><li><a href="#toc9" tabindex="0">10進数と16進数の対応表</a></li><li><a href="#toc10" tabindex="0">DEC2HEX関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">直接入力で変換する</a></li><li><a href="#toc12" tabindex="0">セル参照で変換する</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc14" tabindex="0">桁数を指定して出力する（ゼロ埋め）</a><ol><li><a href="#toc15" tabindex="0">2桁固定フォーマット出力</a></li></ol></li><li><a href="#toc16" tabindex="0">実務活用例：RGBカラーコード変換</a><ol><li><a href="#toc17" tabindex="0">RGBからWebカラーコード（#RRGGBB）を作る</a></li></ol></li><li><a href="#toc18" tabindex="0">負の数の変換（2の補数・40ビット）</a><ol><li><a href="#toc19" tabindex="0">負の数の変換例</a></li><li><a href="#toc20" tabindex="0">16進数の2の補数の読み方</a></li></ol></li><li><a href="#toc21" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc22" tabindex="0">#NUM! エラー</a></li><li><a href="#toc23" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc24" tabindex="0">エラー対処：IFERRORで包む</a></li></ol></li><li><a href="#toc25" tabindex="0">DEC2HEX関数とExcelの互換性</a></li><li><a href="#toc26" tabindex="0">DECシリーズ3関数の比較</a></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DEC2HEX関数とは？</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数（読み方: デック・ツー・ヘックス）は、<strong>10進数を16進数に変換するエンジニアリング関数</strong>です。Googleスプレッドシートに標準搭載されていて、追加設定なしで使えます。</p>



<p class="wp-block-paragraph">16進数は0〜9の数字とA〜Fのアルファベット（合計16種類）で数値を表す方法です。10進数の「10」は16進数の「A」、「15」は「F」、「16」は「10」になります。</p>



<p class="wp-block-paragraph">WebデザインやCSS、データ通信の分野では16進数がよく登場します。特にWebカラーコード（<code>#FF0000</code>のような<code>#RRGGBB</code>形式）は、RGBそれぞれの数値を2桁の16進数で表したものです。DEC2HEX関数を使えば、この変換作業をスプレッドシートで自動化できますよ。</p>



<p class="wp-block-paragraph">たとえば <code>=DEC2HEX(255)</code> と入力すると、結果は「FF」です。10進数の255（1バイトの最大値）が、16進数ではたった2文字で表現されることがわかります。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の由来</span></h3>



<p class="wp-block-paragraph">関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>HEX</strong> = Hexadecimal（ヘキサデシマル、16進数）</li></ul>



<p class="wp-block-paragraph">つまり「DECからHEXへ」、10進数を16進数に変換するという意味がそのまま名前になっています。逆変換のHEX2DEC関数とセットで覚えると便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">DEC2HEX関数でできること</span></h3>



<p class="wp-block-paragraph">DEC2HEX関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>10進数を16進数の文字列に変換する</li><li>変換できる範囲は -549,755,813,888〜549,755,813,887（40ビット符号付き整数）</li><li>桁数を指定して先頭にゼロ埋めできる</li><li>負の数は2の補数（40ビット）で返される</li><li>ExcelのDEC2HEX関数と仕様が同じで、ファイル共有でもそのまま動作する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DEC2HEX関数は<a href="https://mashukabu.com/spreadsheet-dec2bin-function/">DEC2BIN関数</a>（10進→2進）や<a href="https://mashukabu.com/spreadsheet-dec2oct-function/">DEC2OCT関数</a>（10進→8進）と同じ「DECシリーズ」の関数です。変換先の基数だけが違うので、一度覚えると他の変換関数も使いやすくなりますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">DEC2HEX関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文</span></h3>



<pre class="wp-block-code"><code>=DEC2HEX(数値, [桁数])</code></pre>



<p class="wp-block-paragraph">カッコの中に、変換したい10進数と、必要に応じて桁数を指定します。桁数は省略できますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>16進数に変換したい10進数。-549,755,813,888〜549,755,813,887の範囲で指定する</td></tr><tr><td>桁数</td><td>任意</td><td>結果の最小文字数（1〜10）。省略すると必要最小限の桁数で返される</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">第1引数：変換する10進数</span></h3>



<p class="wp-block-paragraph">数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>-549,755,813,888以上 549,755,813,887以下の整数（40ビット符号付き整数の範囲）</li><li>直接入力でもセル参照でもOK</li><li>小数を指定した場合は切り捨てて処理される</li><li>範囲外は #NUM! エラー</li></ul>



<p class="wp-block-paragraph">DEC2BINが-512〜511の狭い範囲なのに対して、DEC2HEXは約5,500億という非常に広い範囲を扱えます。</p>



<h3 class="wp-block-heading"><span id="toc8">第2引数：桁数（省略可）</span></h3>



<p class="wp-block-paragraph">桁数のルールは、次のとおりです。</p>



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定すると #NUM! エラー</li><li>0や負の値を指定するとエラーになる</li><li><strong>負の数を変換した場合、桁数指定は無視されて常に10桁で返される</strong></li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>DEC2HEX関数の戻り値は数値ではなく「文字列」です。そのまま計算に使おうとすると文字列として扱われます。16進数を10進数に戻して計算したい場合はHEX2DEC関数を使ってくださいね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc9">10進数と16進数の対応表</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数の動きをイメージしやすくするため、よく使う値の対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>10進数</th><th>16進数（DEC2HEX）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&nbsp;</td></tr><tr><td>9</td><td>9</td><td>&nbsp;</td></tr><tr><td>10</td><td>A</td><td>Aが10を表す</td></tr><tr><td>15</td><td>F</td><td>Fが15を表す</td></tr><tr><td>16</td><td>10</td><td>16進数の繰り上がり</td></tr><tr><td>100</td><td>64</td><td>6×16 + 4</td></tr><tr><td>255</td><td>FF</td><td>1バイトの最大値</td></tr><tr><td>256</td><td>100</td><td>2バイト目に繰り上がり</td></tr><tr><td>65535</td><td>FFFF</td><td>2バイトの最大値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">16進数は「16の累乗の足し算」で値が決まります。右から順に1、16、256、4096&#8230;と位が重みを持つイメージですね。</p>



<p class="wp-block-paragraph">たとえば10進数の「255」は、16×15 + 15 = 240+15 で、16進数にすると <code>FF</code> になります。Webカラーコードの <code>#FF0000</code>（純粋な赤）の「FF」がまさにこの値ですよ。</p>



<h2 class="wp-block-heading"><span id="toc10">DEC2HEX関数の基本的な使い方</span></h2>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<h3 class="wp-block-heading"><span id="toc11">直接入力で変換する</span></h3>



<p class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=DEC2HEX(255)</code></pre>



<p class="wp-block-paragraph">結果は「FF」です。1バイト（0〜255）の最大値を16進数で表すと、2文字で済みますね。</p>



<pre class="wp-block-code"><code>=DEC2HEX(100)</code></pre>



<p class="wp-block-paragraph">結果は「64」です。100 = 6×16 + 4 の計算から、16進数では「64」になります。</p>



<h3 class="wp-block-heading"><span id="toc12">セル参照で変換する</span></h3>



<p class="wp-block-paragraph">実務では、セルに入っている10進数を変換する場面が多いです。A2のセルに「255」が入っている場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=DEC2HEX(A2)</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-dec2hex-function/02_formula_dec2hex-basic.png/">_images/spreadsheet-dec2hex-function/02_formula_dec2hex-basic.png</a></p>



<p class="wp-block-paragraph">結果は「FF」です。セル参照でも直接入力と同じように動作します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_dec2hex-basic.png" alt="03 result dec2hex basic" /></figure>



<h3 class="wp-block-heading"><span id="toc13">ARRAYFORMULAで一括変換する</span></h3>



<p class="wp-block-paragraph">スプレッドシートならではの強みが、ARRAYFORMULA関数との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(DEC2HEX(A2:A10))</code></pre>



<p class="wp-block-paragraph">A2からA10までの10進数データを、1つの数式で一気に16進数に変換できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 10進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>0</td><td>=ARRAYFORMULA(DEC2HEX(A2:A6))</td><td>0</td></tr><tr><td>100</td><td>↓</td><td>64</td></tr><tr><td>255</td><td>↓</td><td>FF</td></tr><tr><td>65535</td><td>↓</td><td>FFFF</td></tr><tr><td>16777215</td><td>↓</td><td>FFFFFF</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc14">桁数を指定して出力する（ゼロ埋め）</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数の第2引数「桁数」を使うと、出力の文字数を揃えられます。RGBカラーコード変換でとくに便利な機能ですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">2桁固定フォーマット出力</span></h3>



<p class="wp-block-paragraph">Webカラーコードは「RGB各色を2桁の16進数」で表します。DEC2HEXで2桁固定にしておくと、コードが崩れません。</p>



<pre class="wp-block-code"><code>=DEC2HEX(5, 2)</code></pre>



<p class="wp-block-paragraph">結果は「05」です。桁数を省略すると「5」とだけ表示されますが、2を指定したことで先頭に「0」が追加されました。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>用途</th></tr></thead><tbody><tr><td>=DEC2HEX(0, 2)</td><td>00</td><td>最小値（カラーコードの色なし）</td></tr><tr><td>=DEC2HEX(5, 2)</td><td>05</td><td>2桁固定</td></tr><tr><td>=DEC2HEX(255, 2)</td><td>FF</td><td>最大値（最も強い色）</td></tr><tr><td>=DEC2HEX(128, 2)</td><td>80</td><td>中間値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-dec2hex-function/04_result_dec2hex-places.png/">_images/spreadsheet-dec2hex-function/04_result_dec2hex-places.png</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>1バイト（0〜255）の16進数は必ず2桁以内に収まるので、桁数に「2」を指定すると安全に揃えられます。3桁以上のRGB値は通常存在しないので、2桁固定で問題ありませんよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">実務活用例：RGBカラーコード変換</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数の最も身近な実務活用例が、RGBカラーコードの生成です。デザイン作業やCSSスタイル管理をスプレッドシートで行う場合に役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc17">RGBからWebカラーコード（#RRGGBB）を作る</span></h3>



<p class="wp-block-paragraph">RGBの3つの数値（各0〜255）を16進数2桁に変換して連結すれば、Webカラーコードが完成します。</p>



<pre class="wp-block-code"><code>=&quot;#&quot;&amp;DEC2HEX(A2, 2)&amp;DEC2HEX(B2, 2)&amp;DEC2HEX(C2, 2)</code></pre>



<p class="wp-block-paragraph">A2に赤(R)、B2に緑(G)、C2に青(B)の数値が入っている場合、この数式でカラーコードを自動生成できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>R（赤）</th><th>G（緑）</th><th>B（青）</th><th>カラーコード</th></tr></thead><tbody><tr><td>255</td><td>0</td><td>0</td><td>#FF0000（赤）</td></tr><tr><td>0</td><td>128</td><td>0</td><td>#008000（緑）</td></tr><tr><td>0</td><td>0</td><td>255</td><td>#0000FF（青）</td></tr><tr><td>255</td><td>165</td><td>0</td><td>#FFA500（オレンジ）</td></tr><tr><td>128</td><td>0</td><td>128</td><td>#800080（紫）</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_dec2hex-colorcode.png" alt="05 result dec2hex colorcode" /></figure>



<p class="wp-block-paragraph">デザインの色管理表をスプレッドシートで作っておけば、CSS作業のときにコピペするだけで済みますよ。</p>



<h2 class="wp-block-heading"><span id="toc18">負の数の変換（2の補数・40ビット）</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数で負の数を変換すると、40ビット（10桁16進数）の2の補数表現が返されます。</p>



<h3 class="wp-block-heading"><span id="toc19">負の数の変換例</span></h3>



<pre class="wp-block-code"><code>=DEC2HEX(-1)</code></pre>



<p class="wp-block-paragraph">結果は「FFFFFFFFFF」（10桁すべてF）です。40ビットすべてが1になる、2の補数表現の特徴的な値です。</p>



<pre class="wp-block-code"><code>=DEC2HEX(-100)</code></pre>



<p class="wp-block-paragraph">結果は「FFFFFFFF9C」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=DEC2HEX(-1)</td><td>FFFFFFFFFF</td><td>10桁固定</td></tr><tr><td>=DEC2HEX(-100)</td><td>FFFFFFFF9C</td><td>10桁固定</td></tr><tr><td>=DEC2HEX(-549755813888)</td><td>8000000000</td><td>負の最小値</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>負の数の変換では、第2引数の桁数指定は無視されます。常に10桁で返されるため、2桁や4桁を指定しても10桁の結果になりますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc20">16進数の2の補数の読み方</span></h3>



<p class="wp-block-paragraph">先頭の16進数が「8」以上（8〜F）なら負の数を表しています。これはDEC2BINで先頭ビットが1なら負の数というのと同じ仕組みです。</p>



<ul class="wp-block-list"><li>正の数: 先頭が0〜7</li><li>負の数: 先頭が8〜F</li></ul>



<h2 class="wp-block-heading"><span id="toc21">エラーの種類と対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc22">#NUM! エラー</span></h3>



<p class="wp-block-paragraph">次のいずれかに当てはまると #NUM! エラーになります。</p>



<ul class="wp-block-list"><li>数値が範囲外（-549,755,813,888 未満または 549,755,813,887 超）</li><li>桁数に 0 以下の値を指定した</li><li>桁数に結果の桁数より少ない値を指定した</li></ul>



<pre class="wp-block-code"><code>=DEC2HEX(1000000000000)  → #NUM!（範囲外）
=DEC2HEX(255, 1)         → #NUM!（255のHEXは&quot;FF&quot;で2桁、1桁は不足）</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/06_error_num.png" alt="06 error num" /></figure>



<h3 class="wp-block-heading"><span id="toc23">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph">数値や桁数に数値型でない値（文字列など）を直接指定すると #VALUE! エラーになります。</p>



<pre class="wp-block-code"><code>=DEC2HEX(&quot;abc&quot;)   → #VALUE!
=DEC2HEX(255, &quot;a&quot;) → #VALUE!</code></pre>



<p class="wp-block-paragraph">セル参照の場合はセルが空でも「0」として扱われることがありますが、文字列が入ったセルを直接参照した場合はエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc24">エラー対処：IFERRORで包む</span></h3>



<p class="wp-block-paragraph">変換対象のデータが信頼できない場合は、IFERRORで包んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(DEC2HEX(A2, 2), &quot;エラー&quot;)</code></pre>



<p class="wp-block-paragraph">A2に範囲外の値や文字列が入っていた場合でも、「エラー」と表示して処理が止まりません。</p>



<h2 class="wp-block-heading"><span id="toc25">DEC2HEX関数とExcelの互換性</span></h2>



<p class="wp-block-paragraph">GoogleスプレッドシートのDEC2HEX関数は、ExcelのDEC2HEX関数と仕様が同じです。構文・引数・変換ルール・エラー条件のすべてが一致しています。</p>



<p class="wp-block-paragraph">ExcelファイルをGoogleスプレッドシートで開いた場合でも、DEC2HEX関数はそのまま動作します。逆にスプレッドシートで作成した数式をExcelで開いても問題ありませんよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Excelでは2007年以降は標準搭載ですが、2003以前のバージョンでは「分析ツールアドイン」の有効化が必要でした。現在のExcel環境では気にする必要はほぼありませんが、古いファイルを引き継ぐ場合は注意してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc26">DECシリーズ3関数の比較</span></h2>



<p class="wp-block-paragraph">DECシリーズの3関数を比較すると、変換先と扱える範囲が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>有効範囲（正）</th><th>負の数桁数</th><th>主な用途</th></tr></thead><tbody><tr><td>DEC2BIN</td><td>2進数</td><td>0〜511</td><td>10桁</td><td>ビットフラグ・IPアドレス</td></tr><tr><td>DEC2OCT</td><td>8進数</td><td>0〜536,870,911</td><td>10桁</td><td>Linuxパーミッション（chmod）</td></tr><tr><td>DEC2HEX</td><td>16進数</td><td>0〜549,755,813,887</td><td>10桁</td><td>カラーコード・メモリアドレス</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">DEC2HEXは3つの中でもっとも広い範囲を扱えます。メモリアドレスや大きな識別子を16進数で管理する場面でも使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc27">まとめ</span></h2>



<p class="wp-block-paragraph">DEC2HEX関数は、10進数を16進数に変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=DEC2HEX(数値, [桁数])</code></li><li>有効範囲: -549,755,813,888〜549,755,813,887</li><li>桁数を指定するとゼロ埋めで出力できる</li><li>負の数は常に10桁（40ビット2の補数）で返される</li><li>RGBカラーコード変換で最もよく活用される</li></ul>



<p class="wp-block-paragraph">特に <code>="#"&DEC2HEX(R, 2)&DEC2HEX(G, 2)&DEC2HEX(B, 2)</code> のカラーコード生成パターンは、デザイン管理やCSS作業で重宝しますよ。</p>



<p class="wp-block-paragraph">逆変換にはHEX2DEC関数を使います。またDEC2BINやDEC2OCTと組み合わせれば、さまざまな基数変換をスプレッドシート上で完結できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dec2hex-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのBIN2DEC関数の使い方｜2進数を10進数に変換</title>
		<link>https://mashukabu.com/spreadsheet-bin2dec-function/</link>
					<comments>https://mashukabu.com/spreadsheet-bin2dec-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:20 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[BIN2DEC]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6243</guid>

					<description><![CDATA[GoogleスプレッドシートのBIN2DEC関数の使い方を解説。2進数を10進数に変換する基本から、符号付き2進数の扱い、エラー対処法、DEC2BINなど関連関数との使い分けまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「機器から出力されたログが2進数のまま並んでいて、集計がまったく進まない&#8230;」</p>



<p class="wp-block-paragraph">エンジニアチームから受け取った資料が2進数ばかりで、困った経験はありませんか？ネットワーク設定の確認やセンサーデータの処理では、2進数と10進数の変換がよく登場します。</p>



<p class="wp-block-paragraph">手計算で変換するのは、桁数が増えるほど大変です。しかも2進数特有の「符号付き表現」が絡むと、さらに複雑になります。</p>



<p class="wp-block-paragraph">そんなときに便利なのがGoogleスプレッドシートのBIN2DEC関数です。2進数のセルを指定するだけで、10進数に一発変換してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、BIN2DEC関数の基本から符号付き2進数の扱い方、エラー対処法、関連関数との使い分けまでまとめて解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">BIN2DEC関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">BIN2DEC関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">BIN2DEC関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">引数のルール</a></li></ol></li><li><a href="#toc8" tabindex="0">2進数と10進数の対応表</a></li><li><a href="#toc9" tabindex="0">BIN2DEC関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">2進数を直接入力する</a></li><li><a href="#toc11" tabindex="0">セル参照で2進数を変換する</a></li><li><a href="#toc12" tabindex="0">複数のセルをまとめて変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">符号付き2進数（10桁の場合）の扱い方</a><ol><li><a href="#toc14" tabindex="0">符号ビットの仕組み</a></li><li><a href="#toc15" tabindex="0">符号付き2進数の変換例</a></li><li><a href="#toc16" tabindex="0">9桁以下は符号ビットが無視される</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">#NUM!エラーの例</a></li><li><a href="#toc19" tabindex="0">IFERRORでエラー処理</a></li></ol></li><li><a href="#toc20" tabindex="0">関連する基数変換関数との使い分け</a><ol><li><a href="#toc21" tabindex="0">BIN2DECから派生する関数</a></li><li><a href="#toc22" tabindex="0">12種類の基数変換関数の全体像</a></li><li><a href="#toc23" tabindex="0">BIN2DECとDEC2BINを組み合わせる</a></li></ol></li><li><a href="#toc24" tabindex="0">BIN2DEC関数をスプレッドシートで使うときのポイント</a><ol><li><a href="#toc25" tabindex="0">Excelとの違いはほぼない</a></li><li><a href="#toc26" tabindex="0">ARRAYFORMULAで配列処理ができる</a></li><li><a href="#toc27" tabindex="0">REGEXMATCHで入力値を検証できる</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">BIN2DEC関数とは？</span></h2>



<p class="wp-block-paragraph">BIN2DEC関数（読み方: ビントゥデック / バイナリ・トゥ・デシマル）は、<strong>2進数を10進数に変換するエンジニアリング関数</strong>です。</p>



<p class="wp-block-paragraph">2進数は「0」と「1」だけで数値を表す方法です。コンピュータの内部ではすべてのデータがこの形式で処理されています。一方、10進数は普段私たちが使っている「0から9」までの数字で表す方法ですね。</p>



<p class="wp-block-paragraph">BIN2DEC関数を使えば、この変換が一瞬で終わります。たとえば <code>=BIN2DEC("1010")</code> と入力すると、結果は「10」です。</p>



<h3 class="wp-block-heading"><span id="toc2">関数名の由来</span></h3>



<p class="wp-block-paragraph">関数名を分解すると、次の意味になります。</p>



<ul class="wp-block-list"><li><strong>BIN</strong> = Binary（バイナリ、2進数）</li><li><strong>2</strong> = to（〜へ）</li><li><strong>DEC</strong> = Decimal（デシマル、10進数）</li></ul>



<p class="wp-block-paragraph">つまり「BINからDECへ」、2進数を10進数に変換するという意味がそのまま名前になっています。基数変換系の関数はすべて同じ命名ルールです。</p>



<h3 class="wp-block-heading"><span id="toc3">BIN2DEC関数でできること</span></h3>



<p class="wp-block-paragraph">BIN2DEC関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>0と1で構成された2進数を10進数に変換する</li><li>最大10桁（10ビット）の2進数に対応する</li><li>符号付き2進数（負の数）にも対応する</li><li>Excelとの互換性があり、ファイルのやり取りでもそのまま使える</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>BIN2DEC関数はGoogleスプレッドシートのエンジニアリング関数カテゴリに属します。全バージョンで追加設定なしに利用できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">BIN2DEC関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文</span></h3>



<pre class="wp-block-code"><code>=BIN2DEC(数値)</code></pre>



<p class="wp-block-paragraph">カッコの中に、変換したい2進数を1つだけ入れます。非常にシンプルな関数ですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>10進数に変換したい2進数。0と1のみで構成された値を指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけです。他の基数変換関数と異なり、桁数を指定する引数はありません。</p>



<h3 class="wp-block-heading"><span id="toc7">引数のルール</span></h3>



<p class="wp-block-paragraph">数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>使える文字は「0」と「1」だけ</li><li>最大10桁（10ビット）まで</li><li>直接入力でもセル参照でもOK</li><li>文字列として指定する場合はダブルクォーテーションで囲む</li></ul>



<p class="wp-block-paragraph">0と1以外の文字が含まれていると、エラーになります。「2」や「A」は2進数の文字として使えません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>直接入力で <code>=BIN2DEC(00101)</code> のように先頭に0を付けると、スプレッドシートが10進数として解釈し、先頭の0が消えてしまうことがあります。先頭0が意味を持つ場合は <code>"00101"</code> と文字列で指定するのが安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">2進数と10進数の対応表</span></h2>



<p class="wp-block-paragraph">BIN2DEC関数の動きをイメージしやすくするため、代表的な対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>2進数</th><th>10進数</th><th>計算の内訳</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>&#8211;</td></tr><tr><td>1</td><td>1</td><td>2^0 = 1</td></tr><tr><td>10</td><td>2</td><td>2^1 = 2</td></tr><tr><td>11</td><td>3</td><td>2^1 + 2^0 = 3</td></tr><tr><td>100</td><td>4</td><td>2^2 = 4</td></tr><tr><td>101</td><td>5</td><td>2^2 + 2^0 = 5</td></tr><tr><td>110</td><td>6</td><td>2^2 + 2^1 = 6</td></tr><tr><td>111</td><td>7</td><td>2^2 + 2^1 + 2^0 = 7</td></tr><tr><td>1000</td><td>8</td><td>2^3 = 8</td></tr><tr><td>1010</td><td>10</td><td>2^3 + 2^1 = 10</td></tr><tr><td>1111</td><td>15</td><td>2^3 + 2^2 + 2^1 + 2^0 = 15</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">2進数の各桁は、右から順に2の0乗、2の1乗、2の2乗&#8230;という重みを持ちます。その桁が「1」なら重みを足していくだけで10進数の値になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc9">BIN2DEC関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc10">2進数を直接入力する</span></h3>



<p class="wp-block-paragraph">もっともシンプルな使い方から見ていきましょう。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;1010&quot;)</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-bin2dec-function/02_formula_bin2dec-basic.png/">_images/spreadsheet-bin2dec-function/02_formula_bin2dec-basic.png</a></p>



<p class="wp-block-paragraph">結果は「10」です。2進数の <code>1010</code> は、10進数では <code>10</code> にあたります。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;11111111&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「255」です。8桁すべてが1の場合、10進数では <code>255</code> になります。これは1バイト（8ビット）の最大値ですね。</p>



<h3 class="wp-block-heading"><span id="toc11">セル参照で2進数を変換する</span></h3>



<p class="wp-block-paragraph">実務では、セルに入っている2進数を変換する場面が多いです。A2のセルに「11001」が入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=BIN2DEC(A2)</code></pre>



<p class="wp-block-paragraph">結果は「25」です。2進数の <code>11001</code> は、10進数の <code>25</code> にあたります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_bin2dec-basic.png" alt="03 result bin2dec basic" /></figure>



<h3 class="wp-block-heading"><span id="toc12">複数のセルをまとめて変換する</span></h3>



<p class="wp-block-paragraph">複数の2進数データをまとめて変換したい場合は、通常どおり数式を下方向にドラッグしてコピーすればOKです。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<figure class="wp-block-table"><table><thead><tr><th>A列: 2進数</th><th>B列: 数式</th><th>結果（10進数）</th></tr></thead><tbody><tr><td>1</td><td>=BIN2DEC(A2)</td><td>1</td></tr><tr><td>101</td><td>=BIN2DEC(A3)</td><td>5</td></tr><tr><td>1010</td><td>=BIN2DEC(A4)</td><td>10</td></tr><tr><td>11001</td><td>=BIN2DEC(A5)</td><td>25</td></tr><tr><td>1100100</td><td>=BIN2DEC(A6)</td><td>100</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ARRAYFORMULAと組み合わせて <code>=ARRAYFORMULA(BIN2DEC(A2:A6))</code> と書けば、1つの数式で範囲全体を一括変換できます。スプレッドシートならではの書き方ですね。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">符号付き2進数（10桁の場合）の扱い方</span></h2>



<p class="wp-block-paragraph">BIN2DEC関数は「符号付き2進数」にも対応しています。10桁の2進数を指定したときだけ、最上位ビット（左端）が符号ビットとして解釈されます。</p>



<h3 class="wp-block-heading"><span id="toc14">符号ビットの仕組み</span></h3>



<p class="wp-block-paragraph">10桁の2進数では、各桁の意味が次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>桁</th><th>10桁目（左端）</th><th>9桁目〜1桁目</th></tr></thead><tbody><tr><td>役割</td><td>符号ビット（0=正、1=負）</td><td>数値部分</td></tr><tr><td>例: 正の最大</td><td>0</td><td>111111111（511）</td></tr><tr><td>例: -1</td><td>1</td><td>111111111</td></tr><tr><td>例: 負の最小</td><td>1</td><td>000000000（-512）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">10桁目が「1」の場合は負の数として扱われるため、2の補数で計算されます。これはコンピュータ内部で負の数を扱う一般的な方式です。</p>



<h3 class="wp-block-heading"><span id="toc15">符号付き2進数の変換例</span></h3>



<p class="wp-block-paragraph">具体例を見ていきましょう。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;1111111111&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「-1」です。10桁すべてが1の場合、2の補数では <code>-1</code> を表します。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;1000000000&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「-512」です。これが10ビットの符号付き2進数で表現できる最小値です。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;0111111111&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「511」です。こちらが表現できる最大値になります。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-bin2dec-function/04_result_bin2dec-signed.png/">_images/spreadsheet-bin2dec-function/04_result_bin2dec-signed.png</a></p>



<h3 class="wp-block-heading"><span id="toc16">9桁以下は符号ビットが無視される</span></h3>



<p class="wp-block-paragraph">9桁以下の2進数では、最上位が1でも正の数として扱われます。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;111111111&quot;)
→ 511（9桁なので正の数）

=BIN2DEC(&quot;11111111&quot;)
→ 255（8桁なので正の数）</code></pre>



<p class="wp-block-paragraph">同じ「1が並んだ形」でも、桁数によって結果が変わる点に注意してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>符号付き2進数の扱いはExcelのBIN2DEC関数と完全に同じです。Googleスプレッドシートで作成した数式は、Excelにそのままコピーしても動作します。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">BIN2DEC関数で発生するエラーは主に2種類です。原因と対処法を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>数式の例</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>10桁を超える2進数を指定した</td><td>=BIN2DEC(&#8220;11111111111&#8221;)</td><td>10桁以内に収める</td></tr><tr><td>#NUM!</td><td>0と1以外の文字が含まれる</td><td>=BIN2DEC(&#8220;102&#8221;)</td><td>0と1だけで構成する</td></tr><tr><td>#VALUE!</td><td>無効な引数を指定した</td><td>=BIN2DEC(&#8220;ABC&#8221;)</td><td>数値または数値文字列を指定する</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_error_num-value.png" alt="05 error num value" /></figure>



<h3 class="wp-block-heading"><span id="toc18">#NUM!エラーの例</span></h3>



<p class="wp-block-paragraph">実務で一番多いのが、10進数を2進数と間違えて入力するケースです。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;102&quot;)
→ #NUM! エラー</code></pre>



<p class="wp-block-paragraph">10進数の「102」をそのまま指定してしまったパターンです。「2」は2進数では使えない文字ですね。</p>



<p class="wp-block-paragraph">桁数オーバーも見落としがちです。</p>



<pre class="wp-block-code"><code>=BIN2DEC(&quot;11111111111&quot;)
→ #NUM! エラー</code></pre>



<p class="wp-block-paragraph">11桁を指定しているため、エラーになります。10桁以内に修正する必要があります。</p>



<h3 class="wp-block-heading"><span id="toc19">IFERRORでエラー処理</span></h3>



<p class="wp-block-paragraph">大量のデータを変換する場合、元データにノイズが混ざることもありますよね。IFERRORと組み合わせてエラー時の表示をカスタマイズしておくと親切です。</p>



<pre class="wp-block-code"><code>=IFERROR(BIN2DEC(A2), &quot;変換不可&quot;)</code></pre>



<p class="wp-block-paragraph">これでA2が2進数として無効な値でも、エラーではなく「変換不可」というメッセージが表示されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>入力値が2進数として有効かを事前に判定したい場合は <code>=IF(REGEXMATCH(A2, "^[01]{1,10}$"), BIN2DEC(A2), "無効")</code> のようにREGEXMATCH関数と組み合わせるのも便利です。スプレッドシートの正規表現関数が強力に働きますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc20">関連する基数変換関数との使い分け</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートには、2進数・8進数・10進数・16進数を相互に変換する関数が12種類あります。BIN2DEC関数はその1つです。</p>



<h3 class="wp-block-heading"><span id="toc21">BIN2DECから派生する関数</span></h3>



<p class="wp-block-paragraph">BIN2DEC関数の「入力側が2進数」「出力側が10進数」を入れ替えたり、変換先を変えたりするバリエーションがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>変換方向</th><th>用途</th></tr></thead><tbody><tr><td><strong>BIN2DEC</strong>（この記事）</td><td>2進数 → 10進数</td><td>2進数ログを人間が読める形に変換</td></tr><tr><td>BIN2HEX</td><td>2進数 → 16進数</td><td>2進数をコンパクトな16進数表記にする</td></tr><tr><td>BIN2OCT</td><td>2進数 → 8進数</td><td>2進数を8進数表記にする</td></tr><tr><td>DEC2BIN</td><td>10進数 → 2進数</td><td>BIN2DECの逆変換。10進数を2進数で確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">12種類の基数変換関数の全体像</span></h3>



<p class="wp-block-paragraph">基数変換関数の命名ルールは「変換元 + 2 + 変換先」です。対応表を頭に入れておくと、必要な関数をすぐに見つけられます。</p>



<figure class="wp-block-table"><table><thead><tr><th>変換元 ＼ 変換先</th><th>2進数（BIN）</th><th>8進数（OCT）</th><th>10進数（DEC）</th><th>16進数（HEX）</th></tr></thead><tbody><tr><td>2進数（BIN）</td><td>&#8211;</td><td>BIN2OCT</td><td><strong>BIN2DEC</strong></td><td>BIN2HEX</td></tr><tr><td>8進数（OCT）</td><td>OCT2BIN</td><td>&#8211;</td><td>OCT2DEC</td><td>OCT2HEX</td></tr><tr><td>10進数（DEC）</td><td>DEC2BIN</td><td>DEC2OCT</td><td>&#8211;</td><td>DEC2HEX</td></tr><tr><td>16進数（HEX）</td><td>HEX2BIN</td><td>HEX2OCT</td><td>HEX2DEC</td><td>&#8211;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「2進数を16進数にしたい」なら、BIN（2進数）+ 2 + HEX（16進数）で「BIN2HEX関数」になる、という具合ですね。</p>



<h3 class="wp-block-heading"><span id="toc23">BIN2DECとDEC2BINを組み合わせる</span></h3>



<p class="wp-block-paragraph">逆変換のDEC2BINと組み合わせると、変換結果を元に戻して検証できます。</p>



<pre class="wp-block-code"><code>=DEC2BIN(BIN2DEC(A2))</code></pre>



<p class="wp-block-paragraph">A2の2進数を10進数に変換し、さらに2進数に戻すという流れです。元の値と一致すれば、変換が正しく行われた確認になります。</p>



<h2 class="wp-block-heading"><span id="toc24">BIN2DEC関数をスプレッドシートで使うときのポイント</span></h2>



<h3 class="wp-block-heading"><span id="toc25">Excelとの違いはほぼない</span></h3>



<p class="wp-block-paragraph">BIN2DEC関数の仕様はExcelとGoogleスプレッドシートでほぼ同じです。引数や返り値の範囲、符号付き2進数の扱いも共通しています。</p>



<p class="wp-block-paragraph">既に<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">ExcelのBIN2DEC関数</a>を使った経験があれば、スプレッドシートでもそのまま同じ感覚で使えます。ファイルをExcel形式で保存しても、BIN2DEC関数はそのまま動作しますよ。</p>



<h3 class="wp-block-heading"><span id="toc26">ARRAYFORMULAで配列処理ができる</span></h3>



<p class="wp-block-paragraph">スプレッドシートならではの強みは、ARRAYFORMULA関数との組み合わせです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(BIN2DEC(A2:A100))</code></pre>



<p class="wp-block-paragraph">A2からA100までの2進数データを一気に10進数に変換できます。Excelでも配列数式は使えますが、スプレッドシートのほうがシンプルに書けるのが特徴です。</p>



<h3 class="wp-block-heading"><span id="toc27">REGEXMATCHで入力値を検証できる</span></h3>



<p class="wp-block-paragraph">スプレッドシートは正規表現関数が充実しています。BIN2DECの前に入力値チェックを挟むと、エラーを未然に防げます。</p>



<pre class="wp-block-code"><code>=IF(REGEXMATCH(A2, &quot;^[01]{1,10}$&quot;), BIN2DEC(A2), &quot;無効な2進数&quot;)</code></pre>



<p class="wp-block-paragraph">0と1だけで構成され、かつ10桁以内の文字列だけを変換対象にする、という数式です。大量データの前処理に便利ですね。</p>



<h2 class="wp-block-heading"><span id="toc28">まとめ</span></h2>



<p class="wp-block-paragraph">BIN2DEC関数は、2進数を10進数に変換するエンジニアリング関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=BIN2DEC(数値)</code> のシンプルな1引数</li><li>変換できる範囲は -512 〜 511（10ビット符号付き整数の範囲）</li><li>10桁の場合は符号付き2進数として扱われ、最上位ビットが符号ビットになる</li><li>#NUM!エラーの原因は「10桁超」または「0と1以外の文字」</li><li>逆変換にはDEC2BIN関数を使う</li><li>ExcelのBIN2DEC関数と仕様は共通で、ファイルをExcel形式で保存しても動作する</li></ul>



<p class="wp-block-paragraph">まずは <code>=BIN2DEC("1010")</code> で「10」が返ることを試してみてください。関数の動きがつかめたら、符号付き2進数や関連関数も使いこなせるようになりますよ。</p>



<p class="wp-block-paragraph">基数変換の姉妹記事として、Excelでの使い方を詳しく解説した<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">ExcelのBIN2DEC関数の使い方</a>もあわせてご覧ください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-bin2dec-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
