- ベストアンサー
エクセル DEC2BIN 範囲外数値の演算
エクセルの2進数変換関数の「DEC2BIN」について、 -32768から32767の範囲の数値を符号付の16bitへ変換したく、 調べたところDEC2BIN関数にたどり着いたのですが、 -512から511の範囲外では、使用できず、エラーが返ってきます。 何か良い解決策は、ないでしょうか? 初めての質問となりますが、よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3,4です。 =RIGHT("0000000000000000"&DEC2BIN(INT(A1/256),8)&DEC2BIN(MOD(A1,256),8),16) でどうでしよう。
その他の回答 (4)
- okormazd
- ベストアンサー率50% (1224/2412)
回答No.4
#3です。 ごめんなさい。不備がありました。 修正しないとダメですね。
- okormazd
- ベストアンサー率50% (1224/2412)
回答No.3
=RIGHT("0000000000000000"&DEC2BIN(INT(A1/256))&DEC2BIN(MOD(A1,256)),16) で、 どうでしょうね。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
回答No.2
酔っぱらいクロメートです。じゃなかった。 酔っているのは間違いないです。。。。 符号の処理がわかりませんが =DEC2BIN(A1/256)&TEXT(DEC2BIN(MOD(A1,256)),"00000000") とすると解決またはヒントになりませんか?
質問者
お礼
連絡が遅くなり申し訳ございません。 無事、okormazd様の方法で解決致しました。 8bit単位の処理なんて、全くもって見当がつきませんでした。 ご回答、有難うございました。
- wisemac21
- ベストアンサー率39% (171/429)
回答No.1
最初に、DEC2HEXで16進数に変換して、その結果から1桁ずつHEX2BINで2進数に変換する。 変換された4つの2進数を文字列で繋げば、16ビットの2進数になる。
質問者
お礼
連絡が遅くなり申し訳ございません。 無事、okormazd様の方法で解決致しました。 ご回答、有難うございました。
お礼
連絡が遅くなり申し訳ございません。 無事、okormazd様の方法で解決致しました。 8bit単位の処理なんて、全くもって見当がつきませんでした。 ほんと、関数やマクロを巧みに使い、思い通りの動作をさす方に感動します。 今後も他の方の参考になる関数となると思います。 ご回答、有難うございました。