Excelを使っていると、16進数と10進数の変換が必要になる場面は意外と多いものです。
プログラミングやネットワーク設定、カラーコードの確認など、さまざまな場面で16進数と10進数を行き来することがあるでしょう。
そんなときに役立つのが、Excelに備わっているHEX2DEC関数とDEC2HEX関数です。
この2つの関数を使いこなせば、手動での計算ミスを防ぎながら、素早く正確に変換作業を行えるようになります。
本記事では、【Excel】エクセルで16進数と10進数を変換する(HEX2DEC・DEC2HEX・関数)方法について、基本から応用まで丁寧に解説していきます。
初めて使う方でも迷わず操作できるよう、具体的な例を交えながら説明しますので、ぜひ最後までご覧ください。
ExcelのHEX2DEC関数・DEC2HEX関数で16進数と10進数の変換が簡単に行える
それではまず、ExcelにおけるHEX2DEC関数とDEC2HEX関数の役割と、変換の全体像について解説していきます。
Excelでは、16進数を10進数に変換するHEX2DEC関数と、10進数を16進数に変換するDEC2HEX関数の2つが用意されています。
これらはExcelのエンジニアリング関数カテゴリに属しており、数値変換の作業を大幅に効率化してくれる便利な関数です。
16進数とは、0〜9の数字とA〜Fのアルファベットを使って数値を表現する方法で、コンピューターの世界では非常に頻繁に登場します。
一方、10進数は私たちが日常的に使っている0〜9の数字で表現する方法のことです。
HEX2DEC関数は「16進数 → 10進数」、DEC2HEX関数は「10進数 → 16進数」への変換を担う、Excelのエンジニアリング関数です。この2つをセットで覚えておくと、変換作業がぐっと楽になります。
たとえば、16進数の「1F」は10進数では「31」に相当し、10進数の「255」は16進数では「FF」と表現されます。
手動で計算しようとすると複雑な桁変換が必要になりますが、Excelの関数を使えばセルに入力するだけで瞬時に変換できるのです。
どちらの関数も引数がシンプルで、初めて使う方でも取り組みやすい点が大きな魅力といえるでしょう。
HEX2DEC関数の基本的な役割
HEX2DEC関数は、16進数の文字列を10進数の整数に変換する関数です。
関数名は「Hexadecimal to Decimal」の略で、その名の通り16進数から10進数への変換を行います。
入力できる16進数の最大桁数は10桁で、最上位ビットは符号ビットとして扱われるため、負の数にも対応しています。
DEC2HEX関数の基本的な役割
DEC2HEX関数は、10進数の整数を16進数の文字列に変換する関数です。
「Decimal to Hexadecimal」の略で、HEX2DECとは逆方向の変換を担っています。
変換できる10進数の範囲は-549,755,813,888〜549,755,813,887で、日常的な使用では十分な範囲をカバーしているといえるでしょう。
エンジニアリング関数としての位置づけ
HEX2DECとDEC2HEXはどちらも、Excelの「エンジニアリング関数」に分類されています。
このカテゴリにはほかにも、BIN2DEC(2進数→10進数)やOCT2DEC(8進数→10進数)など、さまざまな進数変換関数が揃っています。
目的に応じてこれらを組み合わせることで、より複雑な変換作業にも対応できるようになるでしょう。
HEX2DEC関数の使い方・16進数から10進数への変換方法
続いては、HEX2DEC関数の具体的な使い方と、実際の変換例について確認していきます。
HEX2DEC関数の書式は非常にシンプルで、引数に変換したい16進数を指定するだけです。
HEX2DEC関数の書式
=HEX2DEC(数値)
「数値」には、変換したい16進数の文字列またはセル参照を指定します。
引数「数値」には、直接16進数の文字列を入力する方法と、16進数が入力されているセルを参照する方法の2種類があります。
文字列として直接入力する場合は、ダブルクォーテーション(”)で囲む必要がある点に注意しましょう。
HEX2DEC関数の基本的な入力例
実際にHEX2DEC関数を入力する手順を見ていきましょう。
入力例1:16進数「FF」を10進数に変換する場合
=HEX2DEC(“FF”)
結果:255
入力例2:セルA1に「1A」と入力されている場合
=HEX2DEC(A1)
結果:26
文字列を直接入力するときはダブルクォーテーションが必要ですが、セル参照の場合は不要です。
どちらの方法でも正しく変換が行われるため、使いやすい方を選んで問題ないでしょう。
よく使う16進数と10進数の変換表
理解を深めるために、よく使われる16進数と10進数の対応表を確認しておきましょう。
| 16進数 | 10進数 | HEX2DEC関数の入力例 |
|---|---|---|
| A | 10 | =HEX2DEC(“A”) |
| F | 15 | =HEX2DEC(“F”) |
| 1F | 31 | =HEX2DEC(“1F”) |
| FF | 255 | =HEX2DEC(“FF”) |
| 100 | 256 | =HEX2DEC(“100”) |
| FFFF | 65535 | =HEX2DEC(“FFFF”) |
この表を参考にしながら関数を入力すると、正しく変換できているか確認しやすくなるでしょう。
HEX2DEC関数でエラーが出るケースと対処法
HEX2DEC関数を使っていると、#NUM!エラーが表示されることがあります。
このエラーは、入力した16進数が有効な範囲を超えている場合や、16進数として正しくない文字(G以降のアルファベットや記号など)が含まれている場合に発生します。
また、入力した値が10桁を超えるとエラーになるため、桁数にも注意が必要です。
#NUM!エラーが出た場合は、入力した16進数の文字が正しいか(0〜9、A〜Fのみか)、桁数が10桁以内かを確認してみましょう。大文字・小文字はどちらでも認識されますが、それ以外の文字が混じるとエラーの原因になります。
DEC2HEX関数の使い方・10進数から16進数への変換方法
続いては、DEC2HEX関数を使って10進数を16進数に変換する方法について確認していきます。
DEC2HEX関数は、HEX2DECとは逆の方向、すなわち10進数から16進数への変換を行う関数です。
書式はHEX2DECよりも引数が1つ多く、オプションで桁数を指定できる点が特徴です。
DEC2HEX関数の書式
=DEC2HEX(数値, [桁数])
「数値」には変換したい10進数を、「桁数」には出力する16進数の桁数を指定します(省略可)。
「桁数」を省略した場合は、変換結果に必要な最小限の桁数で表示されます。
一方、桁数を指定した場合は、その桁数になるよう先頭にゼロが補完されるため、桁数を揃えたいときに便利です。
DEC2HEX関数の基本的な入力例
実際のDEC2HEX関数の入力例を確認してみましょう。
入力例1:10進数「255」を16進数に変換する場合
=DEC2HEX(255)
結果:FF
入力例2:桁数を4桁に指定する場合
=DEC2HEX(255, 4)
結果:00FF
入力例3:セルA1に「26」と入力されている場合
=DEC2HEX(A1)
結果:1A
桁数を指定すると、先頭にゼロが補完され、常に一定の桁数で出力されます。
これは、複数のデータを表形式で管理するときや、カラーコードの変換をするときに特に役立つ機能です。
よく使う10進数と16進数の変換表
DEC2HEX関数でよく使われる変換例も表にまとめておきます。
| 10進数 | 16進数(桁指定なし) | 16進数(2桁指定) | DEC2HEX関数の入力例 |
|---|---|---|---|
| 10 | A | 0A | =DEC2HEX(10, 2) |
| 15 | F | 0F | =DEC2HEX(15, 2) |
| 31 | 1F | 1F | =DEC2HEX(31, 2) |
| 255 | FF | FF | =DEC2HEX(255, 2) |
| 256 | 100 | 100 | =DEC2HEX(256, 3) |
| 65535 | FFFF | FFFF | =DEC2HEX(65535, 4) |
桁数を指定するかどうかで出力の形式が変わるため、用途に合わせて使い分けるのがポイントです。
DEC2HEX関数でエラーが出るケースと対処法
DEC2HEX関数でも、条件によっては#NUM!エラーが発生することがあります。
主な原因は、入力した10進数が変換可能な範囲(-549,755,813,888〜549,755,813,887)を超えている場合や、指定した桁数が実際の変換結果の桁数より少ない場合です。
桁数を指定するときは、変換結果が収まるだけの桁数を確保するよう注意しましょう。
HEX2DEC・DEC2HEX関数の応用テクニックと実践的な活用例
続いては、HEX2DECとDEC2HEX関数を組み合わせた応用的な使い方や、実務での活用シーンについて確認していきます。
基本的な使い方を覚えたら、次は他の関数と組み合わせることで、さらに幅広い変換作業に対応できるようになります。
ここでは実践的なシーンを想定した活用例をいくつか紹介しましょう。
カラーコードのRGB変換への応用
Webデザインなどで使われるカラーコード(例:#FF5733)は、16進数で表現されたRGB値です。
このような場面でも、HEX2DEC関数を活用することができます。
カラーコード「FF5733」のR(FF)・G(57)・B(33)を10進数に変換する例
Rの値:=HEX2DEC(“FF”) → 255
Gの値:=HEX2DEC(“57”) → 87
Bの値:=HEX2DEC(“33”) → 51
MID関数やLEFT関数、RIGHT関数と組み合わせると、カラーコードの文字列から自動的に各色の値を抜き出して変換することも可能です。
たとえば、セルA1に「FF5733」と入力されている場合、次のような組み合わせ式で対応できるでしょう。
MID関数とHEX2DECを組み合わせた例(A1に”FF5733″が入力されている場合)
R:=HEX2DEC(LEFT(A1,2))
G:=HEX2DEC(MID(A1,3,2))
B:=HEX2DEC(RIGHT(A1,2))
このように組み合わせることで、カラーコードの変換作業を一気に効率化できます。
複数データの一括変換に活用する方法
変換したいデータが複数ある場合、関数をコピーすることで一括変換が可能です。
たとえば、A列に16進数のリストが入力されている場合、B列にHEX2DEC関数を入力して下方向にコピーするだけで、すべてのデータを一瞬で変換できます。
大量データの変換には、関数のコピーが最も効率的です。セルB2に「=HEX2DEC(A2)」と入力し、B2を選択した状態でセルの右下角をダブルクリックすると、A列にデータが入力されている最後の行まで自動的に関数がコピーされます。
このオートフィル機能を活用することで、数百件・数千件のデータでも瞬時に変換処理が完了します。
TEXT関数・UPPER関数との組み合わせ活用
DEC2HEX関数で変換した結果は、デフォルトでは大文字のアルファベットで出力されます。
もし小文字で出力したい場合は、LOWER関数を組み合わせると対応できます。
LOWER関数でDEC2HEXの結果を小文字にする例
=LOWER(DEC2HEX(255))
結果:ff
逆に大文字で統一したい場合はUPPER関数を使いましょう。
また、「#」記号を頭に付けてカラーコード形式で表示したい場合は、次のような形で対応できます。
カラーコード形式(#RRGGBB)で出力する例
=”#”&DEC2HEX(255,2)&DEC2HEX(87,2)&DEC2HEX(51,2)
結果:#FF5733
このような組み合わせを使いこなすと、Excelでのデータ管理がより柔軟になるでしょう。
まとめ
本記事では、【Excel】エクセルで16進数と10進数を変換する(HEX2DEC・DEC2HEX・関数)方法について詳しく解説してきました。
HEX2DEC関数は16進数を10進数へ、DEC2HEX関数は10進数を16進数へ変換するための関数で、どちらもExcelのエンジニアリング関数に分類されています。
書式はどちらもシンプルで、引数に変換したい値を指定するだけで簡単に変換できる点が大きな魅力です。
DEC2HEX関数では桁数を指定する引数もあり、出力桁数を統一したい場面で特に便利に使えるでしょう。
また、MID・LEFT・RIGHT関数やLOWER関数など、他の関数と組み合わせることで、カラーコード変換や大量データの一括処理など、より高度な活用も可能になります。
エラーが発生した場合は、入力値の文字が正しいか、桁数が適切かを確認することで、多くの問題を解決できるでしょう。
ぜひ今回紹介したHEX2DEC関数とDEC2HEX関数を活用して、16進数と10進数の変換作業をスムーズに進めてみてください。