Excelで16進数に変換する方法|関数や表示形式をやさしく解説

Excel

「Excelで16進数に変換したいけど、どうやるの?」
データ処理やプログラミングをしていると、10進数と16進数を変換する機会がよくあります。

Excelなら関数を使って簡単に16進数へ変換できます。この記事では、以下について初心者向けにやさしく解説します:

  • DEC2HEX関数を使った10進数→16進数変換
  • HEX2DEC関数を使った16進数→10進数変換
  • 実用的な変換テクニックと応用例
  • よくあるエラーと対処法
  • 他の進数(2進数、8進数)への変換方法

逆に16進数を10進数に戻す方法も紹介するので、ぜひ参考にしてください。

スポンサーリンク

16進数とは何か?

基本的な概念

進数の違い

  • 10進数:0-9の10個の数字を使用(普段使っている数字)
  • 16進数:0-9とA-Fの16個の文字を使用
  • 使用文字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

16進数の表記

10進数16進数説明
00そのまま
10A10は16進数でA
11B11は16進数でB
15F15は16進数でF
161016は16進数で10
255FF15×16 + 15 = 255

なぜ16進数を使うのか

コンピュータでの利便性

  • 2進数との相性:1桁の16進数 = 4桁の2進数
  • メモリアドレス:コンピュータのメモリ位置を表現
  • 色指定:WebやデザインでRGBカラーを表現
  • プログラミング:効率的なデータ表現

実用例

  • カラーコード:#FF0000(赤色)、#00FF00(緑色)
  • IPv6アドレス:2001:0db8:85a3::8a2e:0370:7334
  • ハードウェア設定:機器の設定値や制御コード

Excelで10進数を16進数に変換する方法

DEC2HEX関数の基本

関数の書式

=DEC2HEX(数値, [桁数])

パラメーター説明

  • 数値:変換したい10進数(必須)
  • 桁数:表示したい桁数(省略可能)

基本的な使い方

簡単な変換例

=DEC2HEX(10)

結果:A

=DEC2HEX(255)

結果:FF

=DEC2HEX(1000)

結果:3E8

より詳しい例

10進数関数16進数結果
1=DEC2HEX(1)1
16=DEC2HEX(16)10
100=DEC2HEX(100)64
255=DEC2HEX(255)FF
256=DEC2HEX(256)100

桁数を指定した変換

桁数指定の活用

=DEC2HEX(255, 4)

結果:00FF(4桁、先頭に0を補完)

=DEC2HEX(10, 2)

結果:0A(2桁、先頭に0を補完)

=DEC2HEX(255, 6)

結果:0000FF(6桁、先頭に0を補完)

桁数指定が便利な場面

  • データの統一:すべて同じ桁数で表示
  • ファイル名生成:連番ファイル名の作成
  • プログラミング:固定長データの作成
  • レポート作成:見た目の統一

DEC2HEX関数の制限

変換可能な範囲

  • 最小値:-512(-200₁₆)
  • 最大値:511(1FF₁₆)
  • 桁数制限:最大10桁まで

範囲外の場合の対処法

=DEC2HEX(1000)

エラー:#NUM!(範囲外のため)

解決法:大きな数値は分割して処理するか、他の方法を使用

Excelで16進数を10進数に戻す方法

HEX2DEC関数の基本

関数の書式

=HEX2DEC(16進数)

重要なポイント

16進数は文字列として扱われるため、必ずダブルクォーテーション(”)で囲みます。

基本的な使い方

変換例

=HEX2DEC("A")

結果:10

=HEX2DEC("FF")

結果:255

=HEX2DEC("100")

結果:256

セル参照を使った変換

セルA1に16進数「FF」が入力されている場合:

=HEX2DEC(A1)

結果:255

実用的な変換例

RGBカラーコードの分解

カラーコード「FF8000」を赤・緑・青に分解:

=HEX2DEC(LEFT("FF8000",2))    // 赤成分:255
=HEX2DEC(MID("FF8000",3,2))   // 緑成分:128
=HEX2DEC(RIGHT("FF8000",2))   // 青成分:0

データ一覧での活用

16進数関数10進数結果
1=HEX2DEC("1")1
A=HEX2DEC("A")10
10=HEX2DEC("10")16
FF=HEX2DEC("FF")255
100=HEX2DEC("100")256

他の進数変換関数

2進数への変換

DEC2BIN関数

=DEC2BIN(10)

結果:1010

=DEC2BIN(255, 8)

結果:11111111(8桁指定)

BIN2DEC関数

=BIN2DEC("1010")

結果:10

8進数への変換

DEC2OCT関数

=DEC2OCT(255)

結果:377

OCT2DEC関数

=OCT2DEC("377")

結果:255

進数間の相互変換

16進数→2進数

=DEC2BIN(HEX2DEC("FF"))

結果:11111111

2進数→16進数

=DEC2HEX(BIN2DEC("11111111"))

結果:FF

実際の活用場面

プログラミング・開発での活用

カラーコードの計算

RGB値からWebカラーコードを生成:

=DEC2HEX(255,2)&DEC2HEX(128,2)&DEC2HEX(0,2)

結果:FF8000(オレンジ色)

メモリアドレスの計算

ベースアドレス + オフセットの計算:

=DEC2HEX(HEX2DEC("1000") + HEX2DEC("FF"))

結果:10FF

データ分析での活用

ハッシュ値の部分抽出

データの一意性を確認するためのハッシュ値処理:

=HEX2DEC(RIGHT("A1B2C3D4",4))

最後の4桁を10進数に変換

暗号化データの処理

暗号化されたデータの数値化:

=SUMPRODUCT(HEX2DEC(MID("ABCDEF",ROW(1:3)*2-1,2)))

IoT・制御機器での活用

センサーデータの変換

IoTデバイスからの16進数データを数値に変換:

=HEX2DEC("A0")/255*100

16進数A0を0-100%の値に変換

制御コマンドの生成

機器制御用の16進数コマンド生成:

="CMD"&DEC2HEX(256+ROW(),4)

連番の制御コマンドを生成

よくあるエラーと対処法

#NUM!エラー

原因と対処法

原因1:DEC2HEXで範囲外の数値を変換

=DEC2HEX(1000)  // エラー

対処:数値を分割するか、他の方法を使用

原因2:負の数値を不適切に処理

=DEC2HEX(-600)  // エラー

対処:範囲内の負数(-512~511)を使用

#VALUE!エラー

原因と対処法

原因:HEX2DECに不正な文字列を指定

=HEX2DEC("XYZ")  // エラー

対処:有効な16進数文字(0-9、A-F)のみ使用

文字列の扱いでの注意点

正しい書き方

=HEX2DEC("FF")     // 正しい
=HEX2DEC(A1)       // A1に"FF"が入っている場合

間違った書き方

=HEX2DEC(FF)       // エラー:クォートなし
=HEX2DEC('FF')     // エラー:シングルクォート

表示形式での工夫

セルの表示形式設定

Excelには標準で16進数の表示形式はありませんが、工夫することで見やすくできます。

カスタム表示形式

"HEX: "@

結果:「HEX: FF」のように表示

条件付き書式の活用

特定の16進数値に色を付ける:

  1. セル範囲を選択
  2. 「ホーム」→「条件付き書式」
  3. 「新しいルール」→「数式を使用」
  4. **=HEX2DEC(A1)>200**などの条件を設定

データ validation(入力規則)

16進数のみ入力を許可

  1. セルを選択
  2. 「データ」→「データの入力規則」
  3. 「ユーザー設定」を選択
  4. 数式: =AND(LEN(A1)<=6,ISNUMBER(HEX2DEC(A1)))

応用テクニック

大きな数値の16進数変換

DEC2HEXの制限を超える数値の変換:

=DEC2HEX(MOD(A1,65536))&DEC2HEX(INT(A1/65536))

65536以上の数値を上位・下位に分けて変換

16進数の四則演算

加算

=DEC2HEX(HEX2DEC("FF") + HEX2DEC("01"))

結果:100(FF + 01 = 100)

減算

=DEC2HEX(HEX2DEC("FF") - HEX2DEC("0F"))

結果:F0(FF – 0F = F0)

配列数式での一括変換

複数の値を一度に変換:

=DEC2HEX(ROW(1:16))

1から16までの数値を16進数に一括変換

VBAを使った高度な変換

カスタム関数の作成

大きな数値対応の16進数変換

Function BigDEC2HEX(decValue As Long) As String
    BigDEC2HEX = Hex(decValue)
End Function

使用例

=BigDEC2HEX(1000000)

結果:F4240

配列処理

複数データの一括変換

Sub ConvertRangeToHex()
    Dim cell As Range
    For Each cell In Selection
        If IsNumeric(cell.Value) Then
            cell.Offset(0, 1).Value = Hex(cell.Value)
        End If
    Next cell
End Sub

まとめ

Excelでの16進数変換は、以下の関数を使って簡単に行えます:

基本的な変換方法

10進数→16進数

  • =DEC2HEX(数値):基本的な変換
  • =DEC2HEX(数値, 桁数):桁数を指定した変換
  • 変換範囲:-512 ~ 511

16進数→10進数

  • =HEX2DEC("16進数"):基本的な変換
  • 注意点:16進数は文字列として扱う(クォートで囲む)

実用的な活用場面

開発・プログラミング

  • カラーコード計算:RGB値からWebカラーを生成
  • メモリアドレス計算:プログラムのアドレス管理
  • データ形式変換:様々な進数間での変換

データ分析

  • IoTデータ処理:センサーデータの数値化
  • 制御システム:機器制御コマンドの生成
  • 暗号化データ:ハッシュ値の処理

注意点とコツ

エラー回避

  • 数値範囲の確認:DEC2HEXは-512~511の範囲内で使用
  • 文字列の正しい記述:HEX2DECでは必ずクォートを使用
  • 有効な16進数文字:0-9、A-Fのみ使用可能

効率化テクニック

  • 桁数指定の活用:データの統一と見やすさの向上
  • 他の進数との組み合わせ:2進数、8進数との相互変換
  • VBAとの連携:より大きな数値や複雑な処理

コメント

タイトルとURLをコピーしました