HEX2OCT関数:16進数を8進数に変換する

HEX2OCT 関数は Excel で用意されている関数の一つで、引数に指定した 16 進数の形式で記述された数値を 8 進数の形式の文字列に変換します。ここでは Excel における HEX2OCT 関数の使い方について解説します。

※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010 2007

※ 公式サイトでの解説 : HEX2OCT 関数

(Last modified: )

HEX2OCT関数の使い方

HEX2OCT 関数は 16 進数の形式で記述された数値を 8 進数の形式の文字列に変換します。

HEX2OCT(数値,桁数)

1 番目の引数に対象の数値を指定します。数値は 16 進数の形式で記述します。数値に A から F の文字が含まれる場合は文字列として指定する必要があります。最大 10 文字まで記述できますが、最上位のビットは符号を表し 1 なら負の値となります。

16 進数の形式で最大 10 文字まで記述できるので、記述可能な値は次の範囲内の値となります。

0000000000 から FFFFFFFFFF

これらの 16 進数の数値の中で 8 進数の表記にしたときに最上位のビットが 1 になるのは 16 進数の数値の最上位の数値が 8 (二進数で 1000 ) から F (二進数で 1111 )までのいずれかの値です。よって正の値と負の値の範囲は次のようになります。

(正の値) 0000000000 から 7FFFFFFFFF
(負の値) 8000000000 から FFFFFFFFFF

さらに 8 進数に変換する場合は、正の値は 0 から 1FFFFFFF までの間しか指定することができないという制限があります。また負の値は FFE0000000 より小さい値は指定できないという制限があります。これらのことから HEX2OCT 関数で指定可能な値は次のようになります。

(正の値) 0000000000 から 001FFFFFFF 
(負の値) FFE0000000 から FFFFFFFFFF

※ 正の値の場合、先頭から最初に 1 が現れるまでの 0 は記述しなくても構いません。 00000000FF は単に FF と記述します。

2 番目の引数には戻り値の桁数を指定します。例えば 8 進数に変換した戻り値が "72" だった場合、 2 番目の引数を省略した場合は "72" が返されますが、 2 番目の引数に例えば 4 を指定した場合は 0 で補って "0072" という文字列が返されます。なお戻り値の値が 4 桁なのに 2 番目の引数に 3 を指定するなど必要な桁数よりも小さい値を指定すると #NUM! エラーが発生します。

例えば 1 番目の引数に "3C" を指定すると、戻り値は "74" になります。

=HEX2OCT("3C")
--> 74

1 番目の引数に "3C" を指定し、 2 番目の引数に 4 を指定すると、戻り値は "0074" になります。

=HEX2OCT("3C",4)
--> 0074

1 番目の引数に "FFE000A52C" を指定すると、戻り値は "4000122454" になります。

=HEX2OCT("FFE000A52C")
--> 4000122454

HEX2OCT関数のサンプル

それでは実際に HEX2OCT 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。

HEX2OCT関数のサンプル(1)

8 進数に変換した結果を表示する C3 セルを選択し、次のように入力しました。変換する対象の数値として B3 を指定しています。今回 2 番目の引数の桁数は省略しました。

=HEX2OCT(B3)

HEX2OCT関数のサンプル(2)

Enter キーを押すと、 C3 セルには次のように表示されます。

HEX2OCT関数のサンプル(3)

C4 セルから C8 セルに対しても同じように HEX2OCT 関数を入力すると、次のように表示されました。

HEX2OCT関数のサンプル(4)

関数の挿入を使ってHEX2OCT関数を入力する

HEX2OCT 関数を入力する場合に関数の挿入を使って行う方法を試してみます。関数を挿入するセルをクリックして選択したあとで、関数の挿入をクリックします。

関数の挿入を使ってHEX2OCT関数を入力する(1)

「関数の挿入」ダイアログが表示されたら関数名のところで「HEX2OCT」をクリックしてください。そのあとで「OK」をクリックしてください。

関数の挿入を使ってHEX2OCT関数を入力する(2)

「関数の引数」ダイアログが表示されたら、 1 番目の引数に 8 進数に変換する対象となる数値が入力されたセルを指定します。 1 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセルを Excel 上でクリックして下さい。

関数の挿入を使ってHEX2OCT関数を入力する(3)

関数の挿入を使ってHEX2OCT関数を入力する(4)

ダイアログの 1 番目の引数のところに先ほど選択したセルが表示されます。

関数の挿入を使ってHEX2OCT関数を入力する(5)

次に 2 番目の引数に結果の桁数を指定します。 2 番目の引数を入力するテキストボックスをクリックして選択してから今回は 4 を直接入力しました。

関数の挿入を使ってHEX2OCT関数を入力する(6)

引数の指定が終わると結果としてセルに表示される値も表示されます。最後に「OK」をクリックしてください。

関数の挿入を使ってHEX2OCT関数を入力する(7)

最初に選択したセルに HEX2OCT 関数が入力され、対象の 16 進数で記述された数値を 8 進数に変換して文字列として取得した結果がセルに表示されます。

関数の挿入を使ってHEX2OCT関数を入力する(8)

-- --

Excel における HEX2OCT 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。