web-dev-qa-db-ja.com

Microsoft Excel 2007のセルを16進数でフォーマットする方法

Microsoft Excel 2007のセルを16進数でフォーマットしたいのですが、その方法がわかりません。

セルの基本を10から16に変更する組み込みの方法はありますか?

27
WilliamKF

10進数を入力して自動的に16進数として表示できるようにセルをフォーマットしたい場合、それは不可能です。セルをテキストとして書式設定して16進数を直接入力することもできます(ただし、Excelではそれらを計算に使用できません)。基数10と基数16の間で変換するには、DEC2HEX()およびHEX2DEC()関数を使用します。

16
Indrek

変換するセルがA1の場合は=DEC2HEX(A1)を使用してください。

7
pnuts

16進数に変換された数値に対して数学演算を実行する必要がある場合は、まずそれらを10進数に変換してから操作を実行してから16進数に変換し直します。

たとえば、セルA1が次の数式から作成されるような16進数を持つとします。

=DEC2HEX(17)

これは11と表示され、セルA2は次の式を持ちます。

=DEC2HEX(165)

これはA5として表示され、それらを一緒に追加したいのであれば、この式は望ましい結果になります。

=DEC2HEX(HEX2DEC(A1)+HEX2DEC(A2))

これはB6として表示されます

4
TestIt
=REPT("0",4-LEN(DEC2HEX(B3)))&DEC2HEX(B3)

REPT式は、10進数から変換して生成された16進ストリングの長さと、希望のHEXストリングの長さに基づいて "0"を繰り返します。この例では、長さ4のHEX文字列を生成しようとしています。

次に、先頭のゼロを実際のHEX文字列に連結して、目的の長さのHEX値を生成します。

利点:

  1. 他のワークシートへの数式の簡単な対処再割り当てを行うための10進値B3への2つのセル参照のみ。
  2. この式の結果は、ExcelではHEX値として扱われます。あなたは "0x"を前に付けることもできますが、私はそれが必要であるとは思いません。

注:HEXストリングをコピーしているときにこれを使用し、それらがさまざまな長さでコピーされるようにします。最初に元の値から10進値の列を生成し、それからこの式を実行できます。

1
WSimpson

これらの16進数をHTML形式にフォーマットできることを確認するために見つけた解決策は、次のとおりです。

SWITCH(LEN(DEC2HEX(B6)),1,"000"&DEC2HEX(B6),2,"00"&DEC2HEX(B6),3,"0"&DEC2HEX(B6),4,DEC2HEX(B6))
0
Stephen Frick