「Excelで16進数に変換したいけど、どうやるの?」
「データ処理やプログラミングをしていると、10進数と16進数を変換する機会がよくある」
このような悩みを持つ方は多いでしょう。Excelなら関数を使って簡単に16進数へ変換できます。
この記事では、Excelでの16進数への変換方法を初心者向けにやさしく解説します。逆に16進数を10進数に戻す方法も紹介するので、ぜひ参考にしてください。
急いでいる人は、=DEC2HEX(255)
をセルに入力してみてください。「FF」と表示されて、16進数変換ができます。
16進数とは?基本を理解しよう

10進数と16進数の違い
普段わたしたちが使っている数字は「10進数」です。0から9までの10個の文字を使って数を表します。
一方、16進数は0から9に加えて、A、B、C、D、E、Fの文字を使って数を表す方法です。
16進数の文字と対応する10進数
16進数 | 10進数 | 16進数 | 10進数 |
---|---|---|---|
0 | 0 | 8 | 8 |
1 | 1 | 9 | 9 |
2 | 2 | A | 10 |
3 | 3 | B | 11 |
4 | 4 | C | 12 |
5 | 5 | D | 13 |
6 | 6 | E | 14 |
7 | 7 | F | 15 |
なぜ16進数を使うのか
16進数が使われる理由:
- コンピュータは2進数で動作するため、16進数は扱いやすい
- メモリアドレスやカラーコードの表現に適している
- データ量を短く表現できる(例:255 → FF)
- プログラミングでよく使用される
Excelで10進数を16進数に変換する方法
DEC2HEX関数の基本的な使い方
Excelでは「DEC2HEX(デック トゥ ヘックス)」関数を使うことで、簡単に10進数を16進数に変換できます。
基本の構文
=DEC2HEX(数値)
具体的な使用例
例1:基本的な変換
=DEC2HEX(255)
→ 結果:「FF」
例2:小さな数値の変換
=DEC2HEX(10)
→ 結果:「A」
例3:大きな数値の変換
=DEC2HEX(1000)
→ 結果:「3E8」
桁数を指定した変換
DEC2HEX関数は第2引数で桁数を指定できます。これにより、表示を統一したい場合に便利です。
桁数指定の構文
=DEC2HEX(数値, 桁数)
実際の使用例
例1:4桁で表示
=DEC2HEX(255, 4)
→ 結果:「00FF」(4桁になるまで先頭に0が補われる)
例2:8桁で表示
=DEC2HEX(10, 8)
→ 結果:「0000000A」
桁数指定のメリット
- データの並び順が整理される
- 見た目が統一されて読みやすい
- プログラムでの処理がしやすくなる
DEC2HEX関数の制限と注意点
変換できる数値の範囲
DEC2HEX関数には以下の制限があります:
- 最小値:-549,755,813,888
- 最大値:549,755,813,887
- 負の数は2の補数形式で表現される
エラーが発生する場合
以下の場合にエラーが表示されます:
- 範囲外の数値を入力した場合
- 文字列(数値以外)を入力した場合
- 桁数に0以下の値を指定した場合
Excelで16進数を10進数に戻す方法
HEX2DEC関数の基本的な使い方
逆に、16進数を10進数にしたい場合は「HEX2DEC(ヘックス トゥ デック)」関数を使います。
基本の構文
=HEX2DEC("16進数")
具体的な使用例
例1:基本的な変換
=HEX2DEC("FF")
→ 結果:「255」
例2:英字を含む変換
=HEX2DEC("A")
→ 結果:「10」
例3:複数桁の変換
=HEX2DEC("3E8")
→ 結果:「1000」
HEX2DEC関数の重要なポイント
文字列として指定する
16進数は必ずダブルクォーテーション(”)で囲む必要があります。これは、16進数が文字として扱われるためです。
正しい書き方
=HEX2DEC("FF")
間違った書き方
=HEX2DEC(FF) ← エラーになる
大文字・小文字の区別
HEX2DEC関数では、大文字と小文字のどちらでも認識されます:
=HEX2DEC("ff") → 255
=HEX2DEC("FF") → 255
=HEX2DEC("Ff") → 255
セル参照を使った変換
セルに入力された16進数を変換することもできます:
A1セルに「FF」と入力されている場合
=HEX2DEC(A1)
→ 結果:「255」
この場合、A1セルの値が自動的に文字列として認識されるため、ダブルクォーテーションは不要です。
表示形式を16進数にする方法
Excelの表示形式の制限
Excelには標準で「16進数」という表示形式設定はありません。そのため、見た目だけ16進数にしたい場合は、関数を使って別のセルに16進数を表示する必要があります。
実用的な表示方法
2列を使った表示
最も実用的な方法は、以下のように2つの列を使うことです:
- A列:10進数の元データを入力
- B列:16進数の変換結果を表示
具体的な手順
- A1セルに「255」と入力
- B1セルに「=DEC2HEX(A1)」と入力
- 結果:B1セルに「FF」と表示される
一覧表の作成例
複数の数値を一度に変換したい場合:
A列(10進数) | B列(16進数) |
---|---|
1 | =DEC2HEX(A2) |
10 | =DEC2HEX(A3) |
100 | =DEC2HEX(A4) |
255 | =DEC2HEX(A5) |
カスタム表示形式での工夫
接頭辞を付けた表示
16進数であることを明確にするため、接頭辞を付けることができます:
="0x"&DEC2HEX(A1)
→ 結果:「0x255」(プログラミングでよく使われる形式)
="#"&DEC2HEX(A1)
→ 結果:「#FF」(カラーコードでよく使われる形式)
大文字・小文字の統一
16進数を小文字で表示したい場合:
=LOWER(DEC2HEX(A1))
→ 結果:「ff」
大文字で表示したい場合:
=UPPER(DEC2HEX(A1))
→ 結果:「FF」
実際の活用場面と具体例

コンピュータ関連での活用
メモリアドレス管理
プログラミングやシステム管理では、メモリアドレスを16進数で表現します:
=DEC2HEX(1048576, 8)
→ 結果:「00100000」(1MBのアドレス)
IPアドレスの変換
IPアドレスの各オクテットを16進数に変換:
10進数 | 16進数 | 計算式 |
---|---|---|
192 | C0 | =DEC2HEX(192) |
168 | A8 | =DEC2HEX(168) |
1 | 1 | =DEC2HEX(1) |
100 | 64 | =DEC2HEX(100) |
Webデザインでの活用
RGBカラーコードの作成
Webデザインでよく使われるカラーコードの計算:
赤色の値を16進数に変換
="#"&DEC2HEX(255,2)&DEC2HEX(0,2)&DEC2HEX(0,2)
→ 結果:「#FF0000」(純粋な赤色)
カスタムカラーの作成
- R(赤):200 → C8
- G(緑):150 → 96
- B(青):100 → 64
="#"&DEC2HEX(200,2)&DEC2HEX(150,2)&DEC2HEX(100,2)
→ 結果:「#C89664」
制御機器・IoTでの活用
センサーデータの変換
IoTデバイスから送られてくるデータの変換:
=DEC2HEX(1023, 4)
→ 結果:「03FF」(10ビットADCの最大値)
通信プロトコルでのデータ確認
制御機器との通信で使用されるコマンドの確認:
機能 | 10進数 | 16進数 |
---|---|---|
開始 | 1 | 01 |
停止 | 2 | 02 |
リセット | 255 | FF |
応用テクニックと便利な使い方
複数の変換を一度に行う
配列数式を使った一括変換
複数のセルを一度に変換する場合:
- 変換したい範囲を選択(例:A1:A10)
- 結果を表示したい範囲を選択(例:B1:B10)
- 「=DEC2HEX(A1:A10)」と入力
- Ctrl + Shift + Enter で配列数式として確定
VLOOKUP関数との組み合わせ
変換表を作成して参照する方法:
=VLOOKUP(A1, 変換表, 2, FALSE)
エラー処理を含む安全な変換
IFERROR関数との組み合わせ
エラーが発生した場合の処理を含める:
=IFERROR(DEC2HEX(A1), "変換エラー")
入力値の検証
有効な数値範囲内かどうかを確認:
=IF(AND(A1>=-549755813888, A1<=549755813887), DEC2HEX(A1), "範囲外")
自動化と効率化
マクロを使った自動変換
VBAを使用してより高度な処理を行う場合:
Function CustomHEX(value As Long, digits As Integer) As String
CustomHEX = Format(Hex(value), String(digits, "0"))
End Function
条件付き書式との連携
16進数の値に応じてセルの色を変更:
- 16進数が表示されているセルを選択
- ホーム → 条件付き書式 → 新しいルール
- 数式を使用して書式設定するセルを決定
- 「=HEX2DEC(B1)>100」のような条件を設定
よくある問題と解決法
トラブルシューティング
「#NUM!」エラーが表示される
原因: 変換できない値が入力されている
解決法:
- 数値が変換可能な範囲内かを確認
- 負の数の場合は2の補数形式で表現されることを理解
- 桁数指定が適切かを確認
「#VALUE!」エラーが表示される
原因: 不正な形式のデータが入力されている
解決法:
- HEX2DEC関数で16進数を文字列として指定しているか確認
- 16進数に使用できない文字(G以降の文字)が含まれていないか確認
期待した結果と異なる
原因: 負の数の処理やデータ型の理解不足
解決法:
- 負の数は2の補数形式で表現されることを理解
- 必要に応じて絶対値を使用:
=DEC2HEX(ABS(A1))
パフォーマンスの最適化
大量データの処理
大量のデータを変換する場合の効率化:
- 計算設定を手動に変更して処理速度を向上
- 配列数式を活用して一括処理
- 不要な再計算を避けるため、値の貼り付けを活用
メモリ使用量の最適化
メモリ使用量を抑える方法:
- 不要な中間計算セルを削除
- 使用しない列や行を非表示にする
- ファイルサイズを定期的に最適化
まとめ
Excelでの16進数変換は、適切な関数を使えば非常に簡単に行えます。
主要なポイント
基本的な変換方法:
=DEC2HEX(数値)
で10進数を16進数に変換=HEX2DEC("16進数")
で16進数を10進数に戻す- 桁数指定で表示を統一可能
実用的な活用場面:
- プログラミングでのデータ処理
- Webデザインでのカラーコード作成
- 制御機器やIoTでのデータ管理
- システム管理でのアドレス計算
効率化のコツ:
- エラー処理を含めた安全な数式作成
- 条件付き書式や関数の組み合わせ活用
- 大量データ処理時のパフォーマンス最適化
コメント