- ベストアンサー
EXCELで10進数表記をBCD表示にしたい
あるソフトのCSVデータがあり、 その中に4664という数値があります。 実際この数値をBCDデータの1234と変換したいです。 変換後のデータは0000~9999までの4桁で、 元データもその範囲外のデータはありません。 関数を探しても、9桁以上のものは変換できないようです。 A1セルの数値をE10セルに表示できる方法を教えてください 変換途中で、他のセルで2進数に変換して、とかでもいいです。 マクロより、単に関数がいいです。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
E10セルに=DEC2HEX(A1, 4) と入力します ちなみに4664は1238ではないでしょうか? 関数のヘルプです 10 進数を 16 進数に変換します。 この関数が使用できず、エラー値 #NAME? が返される場合は、分析ツール アドインを組み込む必要があります。 その方法は? [ツール] メニューの [アドイン] をクリックします。[アドイン] の一覧の [分析ツール] チェック ボックスをオンにし、[OK] をクリックします。必要に応じて、セットアップ プログラムで表示される手順に従って操作します。 書式 DEC2HEX(数値,桁数) 数値 変換する 10 進の整数を指定します。数値に負の数を指定すると、桁数は無視され、10 桁 (40 ビット) の 16 進数が返されます。16 進数の最上位のビットは符号を表し、残りの 39 ビットは数値の大きさを表します。負の数は 2 の補数を使って表します。 桁数 16 進表記するときに使用する文字数 (桁数) を指定します。桁数を省略すると、必要最小限の桁数で結果が返されます。桁数を指定することによって、変換結果の先頭に 0 (ゼロ) を表示することができます。 解説 •数値 < -549,755,813,888 または数値 > 549,755,813,887 の場合、エラー値 #NUM! が返されます。 •数値に数値以外の値を指定すると、エラー値 #VALUE! が返されます。 •計算結果の桁数が指定した桁数の値よりも大きくなる場合、エラー値 #NUM! が返されます。 •桁数に整数以外の値を指定すると、小数点以下は切り捨てられます。 •桁数に数値以外の値を指定すると、エラー値 #VALUE! が返されます。 •桁数に負の数を指定すると、エラー値 #VALUE! が返されます。 使用例 使用例を新規のワークシートにコピーすると、計算結果を確認できます。 その方法は? 数式 説明 (計算結果) =DEC2HEX(100, 4) 10 進数の 100 を 4 桁の 16 進数に変換します (0064) =DEC2HEX(-54) 10 進数の -54 を 16 進数に変換します (FFFFFFFFCA)
その他の回答 (1)
- bunjii
- ベストアンサー率43% (3589/8249)
DEC2BIN関数で8bitずつ文字列に変換して連結する方法になります。 上桁の0を表示する方法と非表示にする方法では少々異なります。 9999を2進数に変換すると以下のようになります。 =DEC2BIN(INT(A1/256),8)&DEC2BIN(MOD(A1,256),8) → 0010011100001111 =(DEC2BIN(INT(A1/256),8)+0)&DEC2BIN(MOD(A1,256),8) → 10011100001111 4664 → 2進数変換 → 0001001000111000
お礼
回答有難うございます。 あれ?簡単にできた! といった感じで、シンプルでベストです。 有難うございました。