エクセルでは、16進数を10進数へ直したり、10進数を16進数の文字列へ変換したりする作業を関数で行えます。

プログラムの値、カラーコード、機器のアドレス、メモリ容量などを扱うときは、16進数と10進数を行き来する場面が少なくありません。

本記事では、DEC2HEX関数とHEX2DEC関数を使った16進数変換を中心に、桁数指定、負の数、変換エラー、複数セルへのコピー方法まで解説します。

16進数から10進数への変換にはHEX2DEC関数を使用します。

10進数から16進数への変換にはDEC2HEX関数を使用します。

サンプルデータは1行目を見出し行として作成します。

関数名は似ていますが、変換する向きを取り違えると期待した結果になりません。

まずは基本的な入力方法を押さえ、用途に応じて桁数指定やエラー対策を組み合わせましょう。

 

エクセルで16進数を10進数へ変換する方法

A B C
1 16進数 10進数
2 FF 255
3 1A 26

それではまず、16進数を通常の10進数へ変換する基本操作について解説していきます。

セルB2に16進数のFFが入力されている場合、セルC2にHEX2DEC関数を入力すると255が返ります。

数式はHEX2DEC(B2)です。

 

HEX2DEC関数の基本構文

16進数を10進数に変えるときは、HEX2DEC関数を利用します。

構文はHEX2DEC(数値)です。

引数の数値には、16進数として扱いたい文字列またはセル参照を指定します。

たとえばB2セルにFFが入っている場合、結果を表示したいC2セルへHEX2DEC(B2)と入力してください。

FFは16進数では255を意味するため、数式の結果は255です。

16進数では0から9に加え、AからFを使用します。

Aは10、Bは11、Cは12、Dは13、Eは14、Fは15として計算される仕組みです。

入力された英字が小文字でも大文字でも、通常は同じ16進数として認識されます。

ただし、G以降の文字や全角英数字、不要な空白が混ざるとエラーにつながるため注意が必要です。

エクセルで16進数を10進数へ変換する方法 - HEX2DEC関数の基本構文

直接数値を指定する場合は、HEX2DEC(“1A”)のようにダブルクォーテーションで囲みます。

セルに入力された値を変換する場合はセル参照を使うため、日々変わるデータにも対応できます。

16進数が文字列として表示されていても、HEX2DEC関数は変換用の値として利用できます。

【操作のポイント】16進数をセル参照で指定すると、元データを更新した際に10進数の結果も自動更新されます。

 

16進数の位取りと計算結果

続いては、16進数の位取りと変換結果の考え方を確認していきます。

10進数は各桁が10の累乗で構成されますが、16進数は各桁が16の累乗で構成されます。

16進数の1Aは、1×16+10として計算できます。

したがって、16進数の1Aを10進数へ変換した結果は26です。

16進数の100は、1×16×16であるため、10進数では256です。

16進数の10は10進数では16となり、16進数の20は10進数では32となります。

桁が1つ増えるごとに基準が10倍ではなく16倍になる点を理解すると、変換結果をおおよそ確認しやすくなります。

たとえば、10進数の255は16進数ではFFです。

Fは15であるため、FFは15×16+15となり、255になります。

エクセルで16進数を10進数へ変換する方法 - 16進数の位取りと計算結果

業務で受け取ったログや機器情報に1A3Fのような値がある場合も、HEX2DEC関数で数値化すれば比較や集計がしやすくなります。

変換後の値は通常の数値なので、SUM関数、AVERAGE関数、条件付き書式などにも利用できます。

【操作のポイント】変換結果が想定より大きい場合は、元の値を10進数ではなく16進数として読んでいるかを確認しましょう。

 

複数の16進数を一括変換する手順

続いては、複数行の16進数を一括で10進数へ変換する手順を確認していきます。

1行目に見出しを置き、B列に16進数、C列に10進数の変換結果を並べる構成にすると管理しやすくなります。

まずC2セルにHEX2DEC(B2)を入力し、Enterキーで確定します。

次にC2セルの右下にある小さな四角形、フィルハンドルへマウスポインターを合わせてください。

ポインターが細い十字に変わったら、下方向へドラッグします。

これにより、C3以降では参照先がB3、B4のように自動調整されます。

元データが連続している場合は、フィルハンドルをダブルクリックする方法も便利です。

空白行が途中にある場合は、自動入力がそこで止まることがあります。

その場合は対象範囲を選択してからCtrlキーとDキーを押すか、数式を必要な範囲へコピーしてください。

変換列に数式を残しておけば、B列の16進数を修正したときにC列の10進数も連動します。

別ファイルへ結果だけ渡す場合は、コピー後に値として貼り付けを行う方法もあります。

【操作のポイント】コピー前に数式の参照先が相対参照になっていることを確認すると、行ごとの変換ミスを防げます。

 

エクセルで10進数を16進数へ変換する方法

A B C
1 10進数 16進数
2 255 FF
3 26 1A

続いては、10進数を16進数へ変換するDEC2HEX関数について解説していきます。

セルB2に255が入力されている場合、セルC2の数式はDEC2HEX(B2)です。

表示結果はFFになります。

 

DEC2HEX関数の基本構文

10進数を16進数へ変換する場合はDEC2HEX関数を使用します。

構文はDEC2HEX(数値,桁数)です。

第1引数の数値には、変換元となる10進数またはセル参照を指定します。

第2引数の桁数は省略できますが、指定すると先頭に0を付けて表示桁数をそろえられます。

たとえばB2セルが255なら、C2セルにDEC2HEX(B2)と入力するとFFが表示されます。

DEC2HEX関数の結果は見た目が数字でも、16進数を表す文字列として扱われることが重要です。

そのため、変換後のセルを足し算の対象にしたい場合は、先にHEX2DEC関数で10進数へ戻してから計算します。

入力できる値には範囲があり、一般的な10進整数であれば問題なく利用できます。

エクセルで10進数を16進数へ変換する方法 - DEC2HEX関数の基本構文

小数が含まれる値を指定した場合は、小数部分が切り捨てられることがあります。

数量や金額のように小数が意味を持つデータでは、変換前に整数であることを確認してください。

【操作のポイント】数値を16進数のまま比較したいときは、文字列比較にならないよう変換前後のデータ型を意識します。

 

桁数指定と先頭ゼロの表示

続いては、DEC2HEX関数で桁数を指定する方法を確認していきます。

機器の識別コードや色情報などでは、16進数を常に2桁、4桁、8桁で表示したいことがあります。

このような場合は第2引数に必要な桁数を指定します。

10進数の10を2桁の16進数にする数式はDEC2HEX(10,2)です。

結果はAではなく0Aになります。

同じ10を4桁にそろえる場合はDEC2HEX(10,4)と入力し、000Aという結果を得ます。

桁数指定は値そのものを変える操作ではなく、表示する16進数文字列の長さをそろえる操作です。

桁数をそろえると、一覧表での視認性が高まり、外部システムへ貼り付ける際の形式不一致も避けやすくなります。

指定した桁数が変換結果の必要桁数より短い場合は、エラーになります。

エクセルで10進数を16進数へ変換する方法 - 桁数指定と先頭ゼロの表示

たとえば255はFFなので、DEC2HEX(255,1)では1桁に収まりません。

一方でDEC2HEX(255,2)なら正常にFFが返り、DEC2HEX(255,4)なら00FFが返ります。

カラーコードのように6桁を扱う用途では、RGBの各成分を2桁ずつにそろえる運用が一般的です。

【操作のポイント】外部システムの仕様書に桁数が記載されている場合は、DEC2HEX関数の第2引数で形式を統一します。

 

変換結果を複数行へコピーする操作

続いては、DEC2HEX関数を複数行へコピーする操作を確認していきます。

B列に10進数が並ぶ表なら、C2セルにDEC2HEX(B2)を入力してから下方向へコピーします。

2桁固定にしたい場合は、最初の数式をDEC2HEX(B2,2)としておきます。

フィルハンドルを使うと、C3セルでは自動的にDEC2HEX(B3,2)、C4セルではDEC2HEX(B4,2)となります。

元データをExcelのテーブルとして書式設定している場合は、新しい行を追加した際にも計算列が自動で広がることがあります。

データ件数が多い場合は、手入力よりも数式のコピーを使う方が入力ミスを抑えられます。

結果を外部の帳票へ渡す前には、先頭ゼロが失われていないかを確認しましょう。

セルの表示形式だけでゼロを追加する方法もありますが、実データの文字数を合わせる必要がある場合はDEC2HEX関数の桁数指定が適しています。

【操作のポイント】コピー後は先頭行と最終行の数式を数式バーで確認し、参照セルがずれていないか確認します。

 

16進数変換関数の入力例と数式バー

A B C D
1 10進数 16進数 再変換結果
2 42 2A 42

続いては、DEC2HEX関数とHEX2DEC関数を数式バーから入力する流れについて解説していきます。

Book1 – Excel ● □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
貼り付け  フォント  配置  数値  Σ オートSUM  並べ替えとフィルター
名前ボックス C2  fx =DEC2HEX(B2,2)
A B C D
1   10進数 16進数 再変換
2   42 2A 42
➤ C2を選択し、数式バーへDEC2HEX(B2,2)を入力します。

 

セル参照による往復変換

それではまず、セル参照で10進数と16進数を往復変換する方法について解説していきます。

B2セルに42を入力し、C2セルにDEC2HEX(B2,2)を入力すると2Aが表示されます。

さらにD2セルへHEX2DEC(C2)と入力すると、42へ戻ることを確認できます。

変換前と再変換後が一致するかを確認すると、元データや数式の間違いを見つけやすくなります。

桁数を2に指定しているため、10進数の5ならC列は05と表示されます。

変換結果を他の数式で使う場合は、16進数の列と10進数の列を明確に分けておくと安全です。

【操作のポイント】変換確認用の列を1つ作ると、データ貼り付け後の検算を効率化できます。

 

関数の挿入ダイアログによる選択

続いては、関数名を覚えていない場合に関数の挿入ダイアログから選択する方法を確認していきます。

結果を表示するセルを選び、数式バー左側のfxボタンをクリックします。

関数の検索欄にHEX2DECまたはDEC2HEXと入力すると、候補を絞り込めます。

関数を選択すると、引数を入力する画面が表示されます。

数値欄に変換元のセルを指定し、DEC2HEX関数では必要に応じて桁数欄も入力してください。

数式を手入力することに不安がある場合は、関数の挿入画面を使うと引数の役割を確認できます。

入力後にOKを押せば、選択したセルへ数式が入ります。

ただし、大量のデータを扱う場合は、最初の1セルだけ作成したあとにオートフィルで展開する方が効率的です。

【操作のポイント】関数の挿入画面では、セル参照をマウスで選択できるため入力ミスの防止に役立ちます。

 

オートフィルによる数式の展開

続いては、先頭セルの数式をオートフィルで展開する方法を確認していきます。

最初にC2セルへDEC2HEX(B2,2)を入力します。

数式を確定したらC2セルを選択し、右下のフィルハンドルを下へドラッグしてください。

隣接するB列に連続データがある場合は、フィルハンドルをダブルクリックしても数式を下端までコピーできます。

数式をコピーした後、C列の複数セルを選択して数式バーを確認すると、行ごとに参照先が変わっていることを確かめられます。

先頭セルだけに正しい数式を作ることが、オートフィルを正しく使うための出発点です。

途中に見出し行や空白行がある表では、必要な範囲だけを選択してCtrlキーとDキーで入力する方法も選べます。

【操作のポイント】数式を展開する前に、1行目が見出し行でありデータ開始行が2行目であることを確認します。

 

16進数変換で発生するエラーの原因

A B C
1 入力値 数式 確認項目
2 1G HEX2DEC(B2) Gは16進数で使用不可

続いては、16進数変換で表示されやすいエラーと確認箇所について解説していきます。

16進数として使用できる文字は0から9とAからFです。

文字の混入、範囲外の値、桁数不足はエラーの主な原因です。

 

使用できない文字と空白

それではまず、入力文字に起因するエラーについて解説していきます。

HEX2DEC関数に指定する値には、0から9およびAからFだけを使用します。

たとえば1G、ZZ、12Hのような値は16進数ではないため、正しく変換できません。

コピー元に全角文字、スペース、改行、記号が含まれているケースも見落としやすい原因です。

見た目ではFFに見えても、先頭または末尾に空白が入っているとエラーになることがあります。

不要な空白を削除するにはTRIM関数を使う方法があります。

たとえば、HEX2DEC(TRIM(B2))とすると、セルB2の前後にある半角スペースを除去してから変換できます。

外部システムから貼り付けたデータでは、全角スペースや見えない制御文字が含まれる場合もあるため、元データの確認が大切です。

【操作のポイント】エラーが出たセルは、数式だけでなく変換元セルの文字種と余分な空白を確認します。

 

値の範囲と負の数

続いては、変換できる数値の範囲と負の数の扱いを確認していきます。

DEC2HEX関数とHEX2DEC関数は、無制限の桁数を扱う関数ではありません。

一般に、DEC2HEX関数は一定の範囲内にある整数を16進数へ変換します。

範囲外の大きな数値を指定すると、数値エラーになることがあります。

負の10進数をDEC2HEX関数に指定すると、10桁の16進数表現が返ることがあります。

これはコンピューターで負の整数を表現する補数の考え方に基づく形式です。

負の数の16進数表記は単純なマイナス記号付きの値ではないため、通常の一覧表では意図を確認してから使う必要があります。

符号付きの値を機器仕様に合わせて扱う場合は、ビット数や符号形式を確認してください。

【操作のポイント】負の値や大きな値を変換する前に、相手側のシステムが求めるビット数と符号表現を確認します。

 

IFERROR関数による表示の整備

続いては、変換エラーを見やすくするIFERROR関数の使い方を確認していきます。

入力値に誤りがある可能性を前提にした表では、エラー記号をそのまま表示するよりも、確認を促す文字を表示する方が実務で便利な場合があります。

エラー時に確認と表示する数式はIFERROR(HEX2DEC(B2),”確認”)です。

この数式では、B2が正しい16進数なら10進数を返し、変換できない場合だけ確認と表示します。

空白セルでは空欄にしたい場合は、IF(B2=””,””,IFERROR(HEX2DEC(B2),”確認”))のように作成できます。

エラーを隠すだけではなく、入力修正が必要な行を識別できる表示にすることが重要です。

確認と表示された行をフィルターで絞り込めば、誤ったデータだけをまとめて点検できます。

【操作のポイント】IFERROR関数では空文字を返す方法と確認メッセージを返す方法を、表の利用目的に応じて使い分けます。

 

16進数と10進数を利用する実務場面

A B C
1 用途 16進数 10進数
2 カラー成分 FF 255

続いては、16進数と10進数の変換が役立つ代表的な実務場面について解説していきます。

 

カラーコードのRGB成分

Web制作やデザインでは、色を16進数のカラーコードで扱うことがあります。

たとえば白はFFFFFF、黒は000000として表されます。

RGBは赤、緑、青の各成分を2桁ずつの16進数で表したものです。

FFは10進数の255なので、FFFFFFは各成分が最大値の白を意味します。

ExcelでRGB成分を管理する場合は、DEC2HEX関数で各数値を2桁の16進数へ変換できます。

赤の値が255、緑が128、青が0の場合は、それぞれFF、80、00になります。

3つの結果を連結すれば、FF8000のような6桁カラーコードを作成できます。

文字列の結合には&演算子やCONCAT関数を利用できます。

【操作のポイント】カラーコードを作る場合は、各RGB成分をDEC2HEX関数で必ず2桁にそろえます。

 

機器ログとアドレス情報

続いては、機器ログやアドレス情報を扱う場面について確認していきます。

制御機器、ネットワーク機器、センサーなどのログには、値やアドレスが16進数で出力されることがあります。

16進数のままでは大小関係や差分を把握しにくい場合でも、10進数へ変換すると集計やグラフ化がしやすくなります。

たとえば、ログから抽出した値をB列に並べ、C列でHEX2DEC関数を使用すれば、数値として平均値や最大値を求められます。

16進数の表示を残した列と、計算用の10進数列を分ける運用にすると、元ログとの照合も容易です。

アドレスのように16進数での桁並び自体に意味がある情報は、安易に数値表示へ変えず元の文字列も保存してください。

特に先頭ゼロを含む識別子では、表示形式の変更で桁が消えないように注意しましょう。

【操作のポイント】元の16進数列を残し、別列で10進数化すると照合と計算を両立できます。

 

他の進数変換関数との使い分け

続いては、エクセルに用意されている他の進数変換関数との使い分けを確認していきます。

エクセルには16進数専用の関数だけでなく、2進数、8進数、10進数を変換する関数もあります。

2進数から10進数へ変換する場合はBIN2DEC関数を使用します。

10進数から2進数へ変換する場合はDEC2BIN関数を使用します。

8進数から10進数へ変換する場合はOCT2DEC関数、10進数から8進数へ変換する場合はDEC2OCT関数です。

関数名の前半は変換元、後半は変換先の進数を示しています。

HEX2DECは16進数から10進数、DEC2HEXは10進数から16進数という順番で読むと覚えやすいでしょう。

複数の進数を扱う表では、見出しに変換元と変換先を明記し、列を混同しない設計にすることが大切です。

【操作のポイント】関数名は変換元から変換先への順番で読み、入力するセルと結果を出すセルを取り違えないようにします。

 

まとめ エクセルで16進数を変換する方法と10進数との変換関数

エクセルで16進数を10進数へ変換する場合はHEX2DEC関数を使用します。

10進数を16進数へ変換する場合はDEC2HEX関数を使用します。

HEX2DEC(B2)はB2の16進数を10進数へ変換し、DEC2HEX(B2)はB2の10進数を16進数へ変換する数式です。

16進数の桁数をそろえたいときは、DEC2HEX(B2,2)のように第2引数で桁数を指定できます。

入力値にG以降の文字、全角文字、余分な空白が含まれていると、変換エラーになる可能性があります。

エラーが発生し得る一覧表では、IFERROR関数を組み合わせて確認しやすい表示に整える方法も有効です。

カラーコード、機器ログ、アドレス情報などを扱う際は、16進数の元データと10進数の計算用データを別列で管理すると安全です。

目的に合った関数と桁数指定を使い分け、エクセルでの進数変換を効率よく進めましょう。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう