<?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>16進数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/16%e9%80%b2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 28 Apr 2026 14:26:58 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>16進数 &#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ファイルパーミッション解析への活用、負の数の扱い、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「LinuxやmacOSで <code>chmod 755</code> という設定を見て、この755が何を意味するのか確認したい&#8230;」</p>



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



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



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



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




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">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">負の数の変換（2の補数・10桁）</a><ol><li><a href="#toc21" tabindex="0">負の数に相当する16進数の変換例</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">HEX2OCT関数とExcelの互換性</a></li><li><a href="#toc27" tabindex="0">HEX2シリーズ3関数の比較</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p>16進数は0〜9の数字とA〜Fのアルファベット（合計16種類）で数値を表す方法です。8進数は0〜7の数字（合計8種類）で数値を表します。コンピュータのファイルパーミッションやネットワーク設定で使われることが多い表現形式ですね。HEX2OCT関数を使えば、16進数から8進数への変換作業をスプレッドシートで自動化できますよ。</p>



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



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



<p>関数名を分解すると、次の意味になります。</p>



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



<p>つまり「HEXからOCTへ」、16進数を8進数に変換するという意味がそのまま名前になっています。逆変換の<a href="https://mashukabu.com/spreadsheet-bin2oct-function/">BIN2OCT関数</a>（2進→8進）とは変換元が異なりますよ。</p>



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



<p>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進）と同じシリーズです。変換先が8進数になっただけで構文・動作の仕組みは同じですよ。</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>カッコの中に、変換したい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>数値に指定できるのは、次の条件を満たす値だけです。</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はHEX2BINより広い範囲（HEX2BINは-512〜511）を扱えますが、HEX2DECより狭い範囲です。変換する数値が大きい場合はHEX2DECを使って10進数に変換する方法も検討しましょう。</p></blockquote>



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



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



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定すると #NUM! エラー</li><li>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進数に戻して計算したい場合はOCT2DEC関数を使ってくださいね。</p></blockquote>



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



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



<p>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>



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



<p>もっともシンプルな使い方から見ていきましょう。</p>



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



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



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



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



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



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



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



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



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



<p>結果は「755」です。</p>



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



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



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



<p>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>



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



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



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



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



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



<p>結果は「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>



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



<p>設定値をより詳細に管理する場合は4桁固定にすることもできます。</p>



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



<p>結果は「0377」です。</p>



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



<p>HEX2OCT関数の最もわかりやすい実務活用が、Linuxサーバーのファイルパーミッション管理です。</p>



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



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



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



<p>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><code>=CONCATENATE("chmod ", HEX2OCT(A2, 3), " ", B2)</code> のように組み合わせれば、実行コマンドを自動生成することもできますよ。</p>



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



<p>HEX2OCT関数で負の数に相当する16進数を変換すると、10桁（10文字）の8進数が返されます。</p>



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



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



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



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



<p>結果は「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="toc22">エラーの種類と対処法</span></h2>



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



<p>次のいずれかに当てはまると #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>



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



<p>桁数に数値型でない値を指定すると #VALUE! エラーになります。</p>



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



<p>また、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="toc25">エラー対処：IFERRORで包む</span></h3>



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



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



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



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



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



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



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



<p>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>HEX2DECだけが桁数引数を持たず、戻り値も数値型です。変換後にさらに計算が必要な場合はHEX2DECを使うか、HEX2OC変換後にOCT2DEC関数を挟む構成が使いやすいですよ。</p>



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



<p>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>桁数を指定するとゼロ埋めで出力できる</li><li>負の数は常に10桁（8進数の2の補数）で返される</li><li>Unixファイルパーミッション管理などで活用される</li></ul>



<p><code>=HEX2OCT(A2, 3)</code> のように3桁固定で出力するパターンは、パーミッション一覧表の作成で重宝しますよ。</p>



<p>逆変換には<a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN関数</a>（16進→2進）や<code>2026-04-24-spreadsheet-hex2dec-function</code>のHEX2DEC関数（16進→10進）もシリーズとして覚えておくと便利ですよ。</p>
]]></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>「サーバーのパーミッション値（755とか644）を、ドキュメントに合わせて16進数表記で揃えて記録したい&#8230;」</p>



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



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



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



<p>この記事では、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">OCT2HEX関数とExcelの互換性</a></li><li><a href="#toc30" tabindex="0">OCT2シリーズ3関数の比較</a></li><li><a href="#toc31" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



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



<p>たとえば <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>関数名を分解すると、次の意味になります。</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>つまり「OCTからHEXへ」、8進数を16進数に変換するという意味がそのまま名前になっています。逆変換のHEX2OCT関数とセットで覚えると便利ですよ。</p>



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



<p>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>カッコの中に、変換したい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>桁数を指定すると、結果の文字数が足りない場合に左に「0」を埋めて揃えてくれますよ。</p>



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



<p>数値に指定できるのは、次の条件を満たす値です。</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>桁数には1〜10の整数を指定できます。指定しない場合は、結果に必要な最小桁数で返ります。</p>



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



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



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



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



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



<p>結果は「7」です。8進数の「7」は16進数でも7なので、そのままの値が返ります。</p>



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



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



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



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



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



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



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



<p>結果は「1A4」です。6×64+4×8+4=420、これを16進数にすると1A4ですね。</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>



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



<p>第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>結果は「000F」です。本来は1桁の「F」ですが、左に「0」を3つ埋めて4桁に揃えています。</p>



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



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



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



<p>同じ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>



<p>メモリアドレス表記（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>スプレッドシートならではの強みが、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>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>数式はB2セルに1つだけ書けば、B10まで自動的に展開されますよ。</p>



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



<p>桁数引数も配列の中で使えます。</p>



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



<p>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>



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



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



<p>16進数には「A〜F」のアルファベットが含まれるため、そもそも数値として扱えません。そのため計算や集計に使うには、いったんHEX2DEC関数で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>OCT2HEX → HEX2DEC とつなぐことで、テキストで返ってきた16進数を10進数の数値に戻して合計しています。</p>



<p>ただし、最初から計算が目的なら<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>こちらは1関数で済みます。OCT2HEXは「16進数の見た目で記録したい」「ドキュメントの表記に合わせたい」場面で選ぶ関数だと覚えておきましょう。</p>



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



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



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



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



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



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



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



<p>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>結果は「FFFFFFFF」（10桁）です。30ビットすべてが1で、10進数では -1 を表します。</p>



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



<p>結果は「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>次のいずれかに当てはまると #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>引数に数値や論理値など、文字列でない型を直接指定した場合に #VALUE! エラーになる場合があります。セル参照では基本的に発生しません。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>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>戻り値はテキスト型 → 計算するにはHEX2DECで数値化が必要</li><li>Linuxパーミッションの16進記録やメモリアドレス整形などの実務で活躍</li></ul>



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



<p>逆変換にはHEX2OCT関数を使います。また姉妹関数の<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>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-oct2hex-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>「ネットワーク機器の設定ファイルに並んでいる16進数のエラーコードを、社内のエラーDBと突き合わせたい&#8230;」</p>



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



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



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



<p>この記事では、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-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">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">まとめ</a></li></ol>
    </div>
  </div>

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



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



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



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



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



<p>関数名を分解すると、次の意味になります。</p>



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



<p>つまり「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>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>カッコの中に、変換したい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>桁数を指定する第2引数はありません。シンプルに1つの引数だけで使えますよ。</p>



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



<p>数値に指定できるのは、次の条件を満たす値です。</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>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>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>もっともシンプルな使い方から見ていきましょう。</p>



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



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



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



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



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



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



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



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



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



<p>結果は「255」です。</p>



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



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



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



<p>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>



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



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



<p>数値型で返るため、そのまま計算や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>ARRAYFORMULAなしでも、配列数式として機能します。複数の16進数を一括変換して合計を出せますよ。</p>



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



<p>平均値も同様に計算できます。</p>



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



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



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



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



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



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



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



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



<p>カラーコードの先頭<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>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><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>



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



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



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



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



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



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



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



<p>結果は「-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>次のいずれかに当てはまると #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>引数に数値や論理値など、文字列でない型を直接指定すると #VALUE! エラーになる場合があります。セル参照では発生しません。</p>



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



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



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



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



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



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



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



<p>TRUEならHEX2DECで変換できる可能性が高いです。</p>



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



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



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



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



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



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



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



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



<p>逆変換には<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>スプレッドシートの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>「センサーから出力された2進数のログを、開発チームに合わせて16進数で渡したい&#8230;」</p>



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



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



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



<p>この記事では、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-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">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>BIN2HEX関数（読み方: ビントゥヘックス / バイナリ・トゥ・ヘキサ）は、<strong>2進数を16進数に変換するエンジニアリング関数</strong>です。</p>



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



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



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



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



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



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



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



<p>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>カッコの中に、変換したい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>数値に指定できるのは、次の条件を満たす値だけです。</p>



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



<p>桁数のルールは、次のとおりです。</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>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>ポイントは「2進数の4桁が16進数の1桁にぴったり対応する」点です。たとえば8桁の2進数 <code>11111111</code> を考えてみましょう。</p>



<p>上位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>もっともシンプルな使い方から見ていきましょう。</p>



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



<p>結果は「A」です。2進数の <code>1010</code> は、16進数では <code>A</code> にあたります。</p>



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



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



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



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



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



<p>結果は「19」です。2進数の <code>11001</code> は、16進数の <code>19</code> にあたります。</p>



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



<p>複数の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>



<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>BIN2HEX関数の便利な特徴が、第2引数の「桁数」です。これを指定すると、結果の文字数を揃えられます。</p>



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



<p>不足分は先頭に「0」が補われます。</p>



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



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



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



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



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



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



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



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



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



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



<p>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>10桁目が「1」の場合は負の数として扱われ、結果は2の補数表現の16進数になります。</p>



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



<p>具体例を見ていきましょう。</p>



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



<p>結果は「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>結果は「FFFFFFFE00」です。これが10ビットの符号付き2進数で表現できる最小値（-512）の16進数表現です。</p>



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



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



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



<p>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>同じ「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>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>実務で一番多いのが、10進数を2進数と間違えて入力するケースです。</p>



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



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



<p>桁数オーバーも見落としがちです。</p>



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



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



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



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



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



<p>これで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>RGBの各値を2進数で管理しているデータがあれば、16進数のカラーコードに変換できます。</p>



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



<p>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>ネットワーク機器のログでは、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>結果は <code>C0.A8</code> です。IPアドレス <code>192.168</code> の各オクテットを16進数で確認できました。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>スプレッドシートは正規表現関数が充実しています。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>0と1だけで構成され、かつ10桁以内の文字列だけを変換対象にする、という数式です。大量データの前処理に便利ですね。</p>



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



<p>BIN2HEX関数は、2進数を16進数に変換するエンジニアリング関数です。</p>



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



<p>基数変換の姉妹記事として、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>スプレッドシートの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>「RGB値（赤・緑・青の数値）をWebカラーコードに変換したいのに、計算が面倒&#8230;」</p>



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



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



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



<p>この記事では、DEC2HEX関数の基本から桁数指定・カラーコード生成・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DEC2HEX関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">DEC2HEX関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">DEC2HEX関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">第1引数：変換する10進数</a></li><li><a href="#toc8" tabindex="0">第2引数：桁数（省略可）</a></li></ol></li><li><a href="#toc9" tabindex="0">10進数と16進数の対応表</a></li><li><a href="#toc10" tabindex="0">DEC2HEX関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">直接入力で変換する</a></li><li><a href="#toc12" tabindex="0">セル参照で変換する</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAで一括変換する</a></li></ol></li><li><a href="#toc14" tabindex="0">桁数を指定して出力する（ゼロ埋め）</a><ol><li><a href="#toc15" tabindex="0">2桁固定フォーマット出力</a></li></ol></li><li><a href="#toc16" tabindex="0">実務活用例：RGBカラーコード変換</a><ol><li><a href="#toc17" tabindex="0">RGBからWebカラーコード（#RRGGBB）を作る</a></li></ol></li><li><a href="#toc18" tabindex="0">負の数の変換（2の補数・40ビット）</a><ol><li><a href="#toc19" tabindex="0">負の数の変換例</a></li><li><a href="#toc20" tabindex="0">16進数の2の補数の読み方</a></li></ol></li><li><a href="#toc21" tabindex="0">エラーの種類と対処法</a><ol><li><a href="#toc22" tabindex="0">#NUM! エラー</a></li><li><a href="#toc23" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc24" tabindex="0">エラー対処：IFERRORで包む</a></li></ol></li><li><a href="#toc25" tabindex="0">DEC2HEX関数とExcelの互換性</a></li><li><a href="#toc26" tabindex="0">DECシリーズ3関数の比較</a></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



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



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



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



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



<p>関数名を分解すると、次の意味になります。</p>



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



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



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



<p>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>カッコの中に、変換したい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>数値に指定できるのは、次の条件を満たす値だけです。</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>DEC2BINが-512〜511の狭い範囲なのに対して、DEC2HEXは約5,500億という非常に広い範囲を扱えます。</p>



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



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



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定すると #NUM! エラー</li><li>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>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>16進数は「16の累乗の足し算」で値が決まります。右から順に1、16、256、4096&#8230;と位が重みを持つイメージですね。</p>



<p>たとえば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>



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



<p>もっともシンプルな使い方から見ていきましょう。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>結果は「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>



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



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



<p>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>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>



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



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



<p>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>結果は「FFFFFFFFFF」（10桁すべてF）です。40ビットすべてが1になる、2の補数表現の特徴的な値です。</p>



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



<p>結果は「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>先頭の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>次のいずれかに当てはまると #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>



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>逆変換には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>スプレッドシートのHEX2BIN関数の使い方｜16進→2進</title>
		<link>https://mashukabu.com/spreadsheet-hex2bin-function/</link>
					<comments>https://mashukabu.com/spreadsheet-hex2bin-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 11:31:02 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[HEX2BIN]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6229</guid>

					<description><![CDATA[GoogleスプレッドシートのHEX2BIN関数の使い方を解説。16進数を2進数に変換する基本から、桁数指定（ゼロ埋め）、ビットフラグ解析への活用、負の数の扱い、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「ネットワーク機器の設定値やエラーコードが16進数で表示されているけど、ビット単位でON/OFFを確認したい&#8230;」</p>



<p>スプレッドシートでシステム管理や障害解析の記録をしていると、16進数の値を2進数のビット列に展開したい場面が出てきます。16進数の「F」が2進数で「1111」、「A」が「1010」というように手計算でやるのは、桁が増えると大変ですよね。</p>



<p>そんなときに役立つのがGoogleスプレッドシートのHEX2BIN関数です。16進数の文字列を指定するだけで、2進数のビット列にすぐ変換できますよ。</p>



<p>桁数を指定してゼロ埋めできるので、ビットフラグの一覧表を8ビット揃えで作ることも可能です。Excelとも互換性があるため、ファイルをやり取りする現場でも安心して使えますね。</p>



<p>この記事では、HEX2BIN関数の基本から桁数指定・ビットフラグ解析・エラー対処法まで解説します。ARRAYFORMULAでの一括変換や実務の活用例にも触れていきますよ。</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">HEX2BIN関数とは？</a><ol><li><a href="#toc2" tabindex="0">関数名の由来</a></li><li><a href="#toc3" tabindex="0">HEX2BIN関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">HEX2BIN関数の書き方（構文と引数）</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進数と2進数の対応表</a></li><li><a href="#toc10" tabindex="0">HEX2BIN関数の基本的な使い方</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">4ビット単位のグループ表示</a></li></ol></li><li><a href="#toc17" tabindex="0">実務活用例：ビットフラグ解析</a><ol><li><a href="#toc18" tabindex="0">権限フラグのビット展開</a></li><li><a href="#toc19" tabindex="0">ネットワーク設定の確認</a></li></ol></li><li><a href="#toc20" tabindex="0">負の数の変換（2の補数・10ビット）</a><ol><li><a href="#toc21" tabindex="0">負の数に相当する16進数の変換例</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">HEX2BIN関数とExcelの互換性</a></li><li><a href="#toc27" tabindex="0">HEX2シリーズ3関数の比較</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p>16進数は0〜9の数字とA〜Fのアルファベット（合計16種類）で数値を表す方法です。16進数の1桁は2進数の4桁に対応します。たとえば「F」は2進数で「1111」（4ビットすべて1）、「A」は「1010」です。</p>



<p>プログラミングやネットワーク設定では、コンパクトに表現できる16進数が好まれますが、ビット単位の解析には2進数の方がわかりやすい場面があります。HEX2BIN関数を使えば、この変換作業をスプレッドシートで自動化できますよ。</p>



<p>たとえば <code>=HEX2BIN("FF")</code> と入力すると、結果は「11111111」です。1バイト（8ビット）すべてが1であることが一目でわかります。</p>



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



<p>関数名を分解すると、次の意味になります。</p>



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



<p>つまり「HEXからBINへ」、16進数を2進数に変換するという意味がそのまま名前になっています。逆変換のBIN2HEX関数とセットで覚えると便利ですよ。</p>



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



<p>HEX2BIN関数の特徴をまとめると、次のとおりです。</p>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>HEX2BIN関数は<a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX関数</a>（2進→16進）と逆の変換を行います。16進数と2進数を行き来する作業なら、両方覚えておくと効率的ですよ。</p></blockquote>



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



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



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



<p>カッコの中に、変換したい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>2進数に変換したい16進数（最大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引数：変換する16進数</span></h3>



<p>数値に指定できるのは、次の条件を満たす値だけです。</p>



<ul class="wp-block-list"><li>0〜9とA〜F（大文字・小文字どちらでもOK）のみで構成された文字列</li><li>変換結果が -512〜511 の範囲に収まるもの<ul><li>正の数: 0〜1FF（16進数、10進数では 0〜511）</li><li>負の数: FFFFFFFE00〜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>16進数の「1FF」は10進数の「511」（2進数の最大正の値）です。この3文字が入力できる最大の正の値になります。</p></blockquote>



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



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



<ul class="wp-block-list"><li>1〜10の範囲で指定する</li><li>結果の桁数より小さい値を指定すると #NUM! エラー</li><li>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>HEX2BIN関数の戻り値は数値ではなく「文字列」です。そのまま計算に使おうとすると文字列として扱われます。2進数を10進数に戻して計算したい場合はBIN2DEC関数を使ってくださいね。</p></blockquote>



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



<p>HEX2BIN関数の動きをイメージしやすくするため、1桁の16進数の対応を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>2進数（4桁）</th><th>備考</th></tr></thead><tbody><tr><td>0</td><td>0000</td><td>ビット全OFF</td></tr><tr><td>1</td><td>0001</td><td>最下位ビットのみON</td></tr><tr><td>4</td><td>0100</td><td>&nbsp;</td></tr><tr><td>7</td><td>0111</td><td>下位3ビットON</td></tr><tr><td>8</td><td>1000</td><td>最上位ビットのみON</td></tr><tr><td>9</td><td>1001</td><td>&nbsp;</td></tr><tr><td>A</td><td>1010</td><td>10進数の10</td></tr><tr><td>F</td><td>1111</td><td>ビット全ON</td></tr></tbody></table></figure>



<p>16進数の1桁が2進数の4桁に対応しているので、複数桁の変換も機械的に行えます。たとえば「3F」は「0011 1111」（先頭ゼロは省略されて「111111」）になります。</p>



<p>HEX2BIN関数の出力では、先頭の不要なゼロは省略されます。8ビット固定で出力したい場合は桁数に「8」を指定してください。</p>



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



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



<p>もっともシンプルな使い方から見ていきましょう。</p>



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



<p>結果は「1010」です。16進数の「A」（10進数の10）が2進数で表されました。</p>



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



<p>結果は「11111111」です。1バイト（8ビット）すべてが1であることがわかります。</p>



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



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



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



<p>結果は「11110000」です。上位4ビットがON、下位4ビットがOFFの状態が一目でわかりますね。</p>



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



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



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



<p>A2からA10までの16進数データを、1つの数式で一気に2進数に変換できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列: 16進数</th><th>B列: 数式</th><th>結果</th></tr></thead><tbody><tr><td>0</td><td>=ARRAYFORMULA(HEX2BIN(A2:A6))</td><td>0</td></tr><tr><td>A</td><td>↓</td><td>1010</td></tr><tr><td>F</td><td>↓</td><td>1111</td></tr><tr><td>FF</td><td>↓</td><td>11111111</td></tr><tr><td>1FF</td><td>↓</td><td>111111111</td></tr></tbody></table></figure>



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



<p>HEX2BIN関数の第2引数「桁数」を使うと、出力の文字数を揃えられます。ビットフラグ解析でとくに便利な機能ですよ。</p>



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



<p>1バイト（8ビット）のデータを解析する場合は、8桁固定にしておくと各ビットの位置が揃って読みやすくなります。</p>



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



<p>結果は「00001010」です。桁数を省略すると「1010」とだけ表示されますが、8を指定したことで先頭に「0000」が追加されました。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>用途</th></tr></thead><tbody><tr><td>=HEX2BIN(&#8220;A&#8221;, 8)</td><td>00001010</td><td>8ビット表示</td></tr><tr><td>=HEX2BIN(&#8220;F&#8221;, 8)</td><td>00001111</td><td>8ビット表示</td></tr><tr><td>=HEX2BIN(&#8220;FF&#8221;, 8)</td><td>11111111</td><td>8ビット表示（すべて1）</td></tr><tr><td>=HEX2BIN(&#8220;1&#8221;, 4)</td><td>0001</td><td>4ビット表示</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">4ビット単位のグループ表示</span></h3>



<p>16進数の1桁は4ビットに対応するため、4桁ずつ管理する場合は4桁固定が便利です。</p>



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



<p>結果は「1100」です。</p>



<h2 class="wp-block-heading"><span id="toc17">実務活用例：ビットフラグ解析</span></h2>



<p>HEX2BIN関数の最も実用的な活用例が、ビットフラグの解析です。各ビットにON/OFFの設定を持つデータを解析する場面で役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc18">権限フラグのビット展開</span></h3>



<p>アクセス権限などを1バイトのビットフラグで管理している場合、HEX2BIN関数で展開するとどのビットがONかすぐわかります。</p>



<p>たとえば権限値「3F」（16進数）は、次のように解析できます。</p>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;3F&quot;, 8)  → 00111111</code></pre>



<p>下位6ビットがすべてONで、上位2ビットがOFFということがわかりました。</p>



<figure class="wp-block-table"><table><thead><tr><th>16進数</th><th>2進数（8桁）</th><th>意味（例）</th></tr></thead><tbody><tr><td>00</td><td>00000000</td><td>権限なし</td></tr><tr><td>01</td><td>00000001</td><td>読取のみ</td></tr><tr><td>03</td><td>00000011</td><td>読取＋書込</td></tr><tr><td>07</td><td>00000111</td><td>読取＋書込＋実行</td></tr><tr><td>3F</td><td>00111111</td><td>下位6ビットON</td></tr><tr><td>FF</td><td>11111111</td><td>全ビットON</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">ネットワーク設定の確認</span></h3>



<p>ネットワーク機器の設定値やステータスレジスタを16進数で管理している場合、HEX2BINで2進数展開するとビット単位の状態確認ができます。</p>



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



<p>A列にレジスタ値（16進数）が並んでいれば、B列に8ビットの状態を並べられます。</p>



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



<p>HEX2BIN関数で負の数に相当する16進数を変換すると、10ビット（10桁）の2の補数表現が返されます。</p>



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



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



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



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



<p>結果は「1000000000」です。10ビット2の補数の最小値（-512）を表しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力（16進数）</th><th>結果（2進数）</th><th>10進数</th></tr></thead><tbody><tr><td>FFFFFFFFFF</td><td>1111111111</td><td>-1</td></tr><tr><td>FFFFFFFE00</td><td>1000000000</td><td>-512（最小値）</td></tr><tr><td>1FF</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桁で返されるため、8桁を指定しても10桁の結果になりますよ。</p></blockquote>



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



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



<p>次のいずれかに当てはまると #NUM! エラーになります。</p>



<ul class="wp-block-list"><li>変換結果が -512〜511 の範囲外（入力の16進数が範囲外）</li><li>桁数に 0 以下の値を指定した</li><li>桁数に結果の桁数より少ない値を指定した</li></ul>



<pre class="wp-block-code"><code>=HEX2BIN(&quot;200&quot;)       → #NUM!（511超の正の値）
=HEX2BIN(&quot;FF&quot;, 1)     → #NUM!（FFは8桁、1桁は不足）</code></pre>



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



<p>桁数に数値型でない値を指定すると #VALUE! エラーになります。</p>



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



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



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



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



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



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



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



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>変換先</th><th>有効範囲（16進→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>HEX2DECだけが桁数引数を持たず、戻り値も数値型です。四則演算に直接使えるのはHEX2DECだけなので、計算が必要な場合はHEX2BINで変換後にBIN2DECで10進数に戻すか、直接HEX2DECを使いましょう。</p>



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



<p>HEX2BIN関数は、16進数を2進数に変換するエンジニアリング関数です。</p>



<ul class="wp-block-list"><li>基本構文: <code>=HEX2BIN(数値, [桁数])</code></li><li>有効範囲: -512〜511（16進数で FFFFFFFE00〜1FF）</li><li>桁数を指定するとゼロ埋めで出力できる</li><li>負の数は常に10桁（10ビット2の補数）で返される</li><li>ビットフラグ解析・ネットワーク設定確認で特に活用される</li></ul>



<p><code>=HEX2BIN(A2, 8)</code> のように8桁固定で出力するパターンは、ビットフラグの一覧表作成で重宝しますよ。</p>



<p>逆変換には<a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX関数</a>を使います。また<a href="https://mashukabu.com/spreadsheet-dec2bin-function/">DEC2BIN関数</a>と組み合わせれば、10進数→2進数のパスも含めたさまざまな基数変換をスプレッドシート上で完結できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-hex2bin-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのBASE関数の使い方｜10進数を2進数・16進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-base/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-base/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 28 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[2進数]]></category>
		<category><![CDATA[BASE]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[基数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2775</guid>

					<description><![CDATA[ExcelのBASE関数で10進数を2進数・8進数・16進数に変換する方法を解説。構文・引数の意味、桁数の指定方法、DEC2BIN等との使い分け、エラー対処法まで網羅します。]]></description>
										<content:encoded><![CDATA[
<p>「10進数を2進数や16進数に変換したいけど、手計算はちょっと面倒&#8230;」</p>



<p>Excelには、そんな基数変換を一発で行えるBASE関数があります。2進数・8進数・16進数はもちろん、最大36進数まで自由に変換できる便利な関数です。</p>



<p>この記事では、BASE関数の基本的な使い方からエラー対処法、似た関数との違いまでまとめて解説します。</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">BASE関数とは</a><ol><li><a href="#toc2" tabindex="0">BASE関数の入出力イメージ</a></li></ol></li><li><a href="#toc3" tabindex="0">BASE関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc6" tabindex="0">BASE関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">10進数を2進数に変換する</a></li><li><a href="#toc8" tabindex="0">10進数を16進数に変換する</a></li><li><a href="#toc9" tabindex="0">10進数を8進数に変換する</a></li><li><a href="#toc10" tabindex="0">最小長を指定して桁数を揃える</a></li></ol></li><li><a href="#toc11" tabindex="0">BASE関数の実践的な使い方・応用例</a><ol><li><a href="#toc12" tabindex="0">カラーコード（RGB値）を16進数に変換する</a></li><li><a href="#toc13" tabindex="0">IPアドレスの各オクテットを2進数で表示する</a></li><li><a href="#toc14" tabindex="0">DECIMAL関数でBASE関数の結果を元に戻す</a></li><li><a href="#toc15" tabindex="0">36進数で短縮コードを生成する</a></li></ol></li><li><a href="#toc16" tabindex="0">BASE関数とDEC2BIN・DEC2HEXとの違い</a></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p>BASE関数は、10進数の数値を指定した基数（2進数、8進数、16進数など）のテキストに変換する関数です。</p>



<p>読み方は「ベース」です。「基数」「基底」を意味する英語の &#8220;base&#8221; が由来です。</p>



<p>BASE関数はExcel 2013以降およびMicrosoft 365で使用できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>基数とは？</strong></p><p>基数とは「何進法で数を表すか」の基準になる数のことです。普段使っている10進法は基数が10、コンピュータでおなじみの2進法は基数が2です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">BASE関数の入出力イメージ</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>入力（10進数）</th><th>基数</th><th>出力</th></tr></thead><tbody><tr><td>10</td><td>2</td><td>1010</td></tr><tr><td>255</td><td>16</td><td>FF</td></tr><tr><td>100</td><td>8</td><td>144</td></tr></tbody></table></figure>



<p>ポイントは、BASE関数の戻り値は<strong>文字列</strong>であることです。数値ではないため、そのまま計算には使えません。</p>



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



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



<pre class="wp-block-code"><code>=BASE(数値, 基数, [最小長])</code></pre>



<h3 class="wp-block-heading"><span id="toc5">引数の説明</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進数の整数（0以上、2^53未満）</td></tr><tr><td>基数</td><td>必須</td><td>変換先の基数（2以上36以下の整数）</td></tr><tr><td>最小長</td><td>省略可</td><td>結果の最小桁数（0以上255以下）。桁数が足りない場合、先頭を0で埋める</td></tr></tbody></table></figure>



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



<p>BASE関数で最もよく使うのは、2進数・8進数・16進数への変換です。それぞれの使い方を見ていきましょう。</p>



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



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



<p>結果: <code>1010</code></p>



<p>10進数の「10」を2進数に変換すると「1010」になります。</p>



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



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



<p>結果: <code>FF</code></p>



<p>10進数の「255」を16進数に変換すると「FF」になります。カラーコードでよく見かける値ですね。</p>



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



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



<p>結果: <code>144</code></p>



<p>10進数の「100」を8進数に変換すると「144」になります。</p>



<h3 class="wp-block-heading"><span id="toc10">最小長を指定して桁数を揃える</span></h3>



<p>第3引数の「最小長」を使うと、結果の桁数を揃えることができます。</p>



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



<p>結果: <code>00001010</code></p>



<p>2進数に変換した結果が8桁未満の場合、先頭を0で埋めて8桁に揃えてくれます。データを一覧で並べるときに桁数がバラバラだと見づらいので、この機能は便利です。</p>



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



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



<p>Webデザインやレポート作成で、RGB値を16進数カラーコードに変換したい場面があります。</p>



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



<p>A2に「255」、B2に「128」、C2に「0」が入っている場合、結果は <code>#FF8000</code> になります。最小長を2に指定することで、必ず2桁の16進数になるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc13">IPアドレスの各オクテットを2進数で表示する</span></h3>



<p>ネットワーク管理で、IPアドレスを2進数に変換したい場面があります。IPアドレスの各オクテット（0〜255の数値）を8桁の2進数に変換してみましょう。</p>



<p>たとえばIPアドレス「192.168.1.1」の場合、セルA2〜D2に各オクテットが入っているとします。</p>



<pre class="wp-block-code"><code>=BASE(A2, 2, 8) &amp; &quot;.&quot; &amp; BASE(B2, 2, 8) &amp; &quot;.&quot; &amp; BASE(C2, 2, 8) &amp; &quot;.&quot; &amp; BASE(D2, 2, 8)</code></pre>



<p>結果: <code>11000000.10101000.00000001.00000001</code></p>



<p>最小長を8に指定することで、各オクテットが必ず8桁になります。サブネットマスクの計算やネットワークアドレスの確認に便利です。</p>



<h3 class="wp-block-heading"><span id="toc14">DECIMAL関数でBASE関数の結果を元に戻す</span></h3>



<p>BASE関数で変換した値を10進数に戻したいときは、DECIMAL関数を使います。BASE関数とDECIMAL関数はちょうど逆の関係です。</p>



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



<p>結果: <code>FF</code></p>



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



<p>結果: <code>255</code></p>



<p>BASE関数で変換した結果をそのまま渡せるので、セル参照で組み合わせるのも簡単です。</p>



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



<p>この数式はA2の値を16進数に変換した後、10進数に戻します。結果は元の値と同じになります。変換結果の検算に使えるテクニックです。</p>



<h3 class="wp-block-heading"><span id="toc15">36進数で短縮コードを生成する</span></h3>



<p>BASE関数は最大36進数まで対応しています。36進数では0-9とA-Zの36文字を使うため、大きな数値を短い文字列で表現できます。</p>



<pre class="wp-block-code"><code>=BASE(1000000, 36)</code></pre>



<p>結果: <code>LFLS</code></p>



<p>100万という大きな数値が、たった4文字で表現できます。管理番号やIDの短縮に活用できるテクニックです。</p>



<h2 class="wp-block-heading"><span id="toc16">BASE関数とDEC2BIN・DEC2HEXとの違い</span></h2>



<p>Excelには基数変換ができる関数が他にもあります。BASE関数との違いを整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>BASE関数</th><th><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN</a> / <a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT</a> / <a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX</a></th></tr></thead><tbody><tr><td>対応する基数</td><td>2〜36（自由に指定）</td><td>2 / 8 / 16（固定）</td></tr><tr><td>入力値の範囲</td><td>0〜2^53未満</td><td>-512〜511（DEC2BIN）</td></tr><tr><td>負の数の対応</td><td>非対応（0以上のみ）</td><td>対応（2の補数表現）</td></tr><tr><td>戻り値</td><td>文字列</td><td>文字列</td></tr></tbody></table></figure>



<p><strong>使い分けのポイント</strong>: 2進数・8進数・16進数への変換で、負の数も扱いたい場合はDEC2BIN系を使いましょう。任意の基数に変換したい場合や、大きな数値を扱う場合はBASE関数が適しています。</p>



<p>逆方向の変換（2進数や16進数を10進数に戻す）には、DECIMAL関数や<a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a>、<a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a>を使います。特にDECIMAL関数はBASE関数と同じく任意の基数に対応しているため、BASE関数の逆変換に最適です。</p>



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



<p>BASE関数で表示されるエラーと、その原因・対処法をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>数値が0未満、または2^53以上</td><td>0以上2^53未満の整数を指定する</td></tr><tr><td>#NUM!</td><td>基数が2未満、または36超</td><td>2以上36以下の整数を指定する</td></tr><tr><td>#NUM!</td><td>最小長が0未満、または255超</td><td>0以上255以下の整数を指定する</td></tr><tr><td>#VALUE!</td><td>引数に文字列を指定した</td><td>数値を指定する。セル参照の場合は参照先を確認する</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td><td>「BASE」の綴りを確認する</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>小数を渡した場合は？</strong></p><p>BASE関数に小数（例: 10.7）を渡した場合、小数部分は切り捨てられて整数部のみが変換されます。<code>=BASE(10.7, 2)</code> の結果は <code>=BASE(10, 2)</code> と同じ「1010」です。エラーにはなりませんが、意図しない切り捨てに注意してください。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>エラーが出たときは</strong></p><p>まずは引数の値が範囲内に収まっているかを確認してみてください。BASE関数のエラーは、ほとんどが引数の範囲外指定が原因です。</p></blockquote>



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



<p>BASE関数は、10進数を任意の基数のテキストに変換する関数です。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=BASE(数値, 基数, [最小長])</code></li><li><strong>基数</strong>: 2〜36まで自由に指定できる</li><li><strong>最小長</strong>: 桁数を揃えたいときに便利（先頭を0で埋める）</li><li><strong>DEC2BIN系との違い</strong>: BASE関数は任意の基数に対応するが、負の数は扱えない</li><li><strong>逆変換</strong>: DECIMAL関数でBASE関数の結果を10進数に戻せる</li></ul>



<p>カラーコードの生成やIPアドレスの2進数変換など、覚えておくと意外と使いどころのある関数です。</p>



<p>基数変換に関連する関数も合わせてチェックしてみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-dec2bin/">DEC2BIN関数</a> &#8212; 10進数を2進数に変換</li><li><a href="https://mashukabu.com/excel-function-howto-use-dec2oct/">DEC2OCT関数</a> &#8212; 10進数を8進数に変換</li><li><a href="https://mashukabu.com/excel-function-howto-use-dec2hex/">DEC2HEX関数</a> &#8212; 10進数を16進数に変換</li><li><a href="https://mashukabu.com/excel-function-howto-use-bin2dec/">BIN2DEC関数</a> &#8212; 2進数を10進数に変換</li><li><a href="https://mashukabu.com/excel-function-howto-use-hex2dec/">HEX2DEC関数</a> &#8212; 16進数を10進数に変換</li><li>DECIMAL関数 &#8212; 任意の基数のテキストを10進数に変換（BASE関数の逆）</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-base/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのHEX2DEC関数｜16進数を10進数に変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-hex2dec/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-hex2dec/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 16 Aug 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[10進数]]></category>
		<category><![CDATA[16進数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[HEX2DEC]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[進数変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2548</guid>

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



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



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



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




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのHEX2DEC関数とは</a><ol><li><a href="#toc2" tabindex="0">関数名の読み方と意味</a></li><li><a href="#toc3" tabindex="0">どんなときに使うか</a></li><li><a href="#toc4" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc5" tabindex="0">HEX2DEC関数の書式と引数</a><ol><li><a href="#toc6" tabindex="0">引数のルール</a></li><li><a href="#toc7" tabindex="0">変換できる数値の範囲</a></li><li><a href="#toc8" tabindex="0">戻り値は数値型</a></li></ol></li><li><a href="#toc9" tabindex="0">HEX2DEC関数の使い方</a><ol><li><a href="#toc10" tabindex="0">正の16進数を変換する</a></li><li><a href="#toc11" tabindex="0">負の数を変換する（2の補数）</a></li><li><a href="#toc12" tabindex="0">カラーコードのRGB値を取得する</a></li></ol></li><li><a href="#toc13" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#NUM!エラー：10文字を超えている</a></li><li><a href="#toc15" tabindex="0">#NUM!エラー：16進数に使えない文字を含む</a></li><li><a href="#toc16" tabindex="0">エラー一覧表</a></li><li><a href="#toc17" tabindex="0">IFERROR関数と組み合わせてエラーを回避する</a></li></ol></li><li><a href="#toc18" tabindex="0">HEX2BIN・HEX2OCTとの違い</a><ol><li><a href="#toc19" tabindex="0">引数・戻り値型・変換範囲の比較表</a></li></ol></li><li><a href="#toc20" tabindex="0">進数変換12関数一覧</a></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>「数値」には10進数に変換したい16進数を指定します。</p>



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



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



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



<p>HEX2DEC関数が変換できる範囲は次のとおりです。</p>



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



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



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



<p>HEX2DEC関数の戻り値は<strong>数値型</strong>です。</p>



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



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



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



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



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



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



<p>まずは正の数を変換してみましょう。</p>



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



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



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



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



<p>合計は 240 + 15 = <strong>255</strong> です。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>大きな違いは3つあります。</p>



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



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



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



<p>用途に応じて使い分けてみてください。</p>



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



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



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



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



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



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



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



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



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

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



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



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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>たとえば <code>=HEX2OCT("F")</code> は「17」です。<code>=HEX2OCT("F", 4)</code> なら「0017」になります。桁数を揃えたい場面で便利ですよ。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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



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



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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>まずは <code>=HEX2BIN("FF")</code> で「11111111」が返ることを試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-hex2bin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
