「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進数 | 説明 |
---|---|---|
0 | 0 | そのまま |
10 | A | 10は16進数でA |
11 | B | 11は16進数でB |
15 | F | 15は16進数でF |
16 | 10 | 16は16進数で10 |
255 | FF | 15×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進数値に色を付ける:
- セル範囲を選択
- 「ホーム」→「条件付き書式」
- 「新しいルール」→「数式を使用」
- **
=HEX2DEC(A1)>200
**などの条件を設定
データ validation(入力規則)
16進数のみ入力を許可
- セルを選択
- 「データ」→「データの入力規則」
- 「ユーザー設定」を選択
- 数式:
=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との連携:より大きな数値や複雑な処理
コメント