Microsoft Excel 2007のセルを16進数でフォーマットしたいのですが、その方法がわかりません。
セルの基本を10から16に変更する組み込みの方法はありますか?
10進数を入力して自動的に16進数として表示できるようにセルをフォーマットしたい場合、それは不可能です。セルをテキストとして書式設定して16進数を直接入力することもできます(ただし、Excelではそれらを計算に使用できません)。基数10と基数16の間で変換するには、DEC2HEX()
およびHEX2DEC()
関数を使用します。
変換するセルがA1
の場合は=DEC2HEX(A1)
を使用してください。
16進数に変換された数値に対して数学演算を実行する必要がある場合は、まずそれらを10進数に変換してから操作を実行してから16進数に変換し直します。
たとえば、セルA1
が次の数式から作成されるような16進数を持つとします。
=DEC2HEX(17)
これは11と表示され、セルA2
は次の式を持ちます。
=DEC2HEX(165)
これはA5
として表示され、それらを一緒に追加したいのであれば、この式は望ましい結果になります。
=DEC2HEX(HEX2DEC(A1)+HEX2DEC(A2))
これはB6
として表示されます
=REPT("0",4-LEN(DEC2HEX(B3)))&DEC2HEX(B3)
REPT式は、10進数から変換して生成された16進ストリングの長さと、希望のHEXストリングの長さに基づいて "0"を繰り返します。この例では、長さ4のHEX文字列を生成しようとしています。
次に、先頭のゼロを実際のHEX文字列に連結して、目的の長さのHEX値を生成します。
利点:
注:HEXストリングをコピーしているときにこれを使用し、それらがさまざまな長さでコピーされるようにします。最初に元の値から10進値の列を生成し、それからこの式を実行できます。
これらの16進数をHTML形式にフォーマットできることを確認するために見つけた解決策は、次のとおりです。
SWITCH(LEN(DEC2HEX(B6)),1,"000"&DEC2HEX(B6),2,"00"&DEC2HEX(B6),3,"0"&DEC2HEX(B6),4,DEC2HEX(B6))