• ベストアンサー

エクセル DEC2BIN 範囲外数値の演算

エクセルの2進数変換関数の「DEC2BIN」について、 -32768から32767の範囲の数値を符号付の16bitへ変換したく、 調べたところDEC2BIN関数にたどり着いたのですが、 -512から511の範囲外では、使用できず、エラーが返ってきます。 何か良い解決策は、ないでしょうか? 初めての質問となりますが、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.5

#3,4です。 =RIGHT("0000000000000000"&DEC2BIN(INT(A1/256),8)&DEC2BIN(MOD(A1,256),8),16) でどうでしよう。

minichan_xxxx
質問者

お礼

連絡が遅くなり申し訳ございません。 無事、okormazd様の方法で解決致しました。 8bit単位の処理なんて、全くもって見当がつきませんでした。 ほんと、関数やマクロを巧みに使い、思い通りの動作をさす方に感動します。 今後も他の方の参考になる関数となると思います。 ご回答、有難うございました。

その他の回答 (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) で、 どうでしょうね。

回答No.2

酔っぱらいクロメートです。じゃなかった。 酔っているのは間違いないです。。。。 符号の処理がわかりませんが =DEC2BIN(A1/256)&TEXT(DEC2BIN(MOD(A1,256)),"00000000") とすると解決またはヒントになりませんか?

minichan_xxxx
質問者

お礼

連絡が遅くなり申し訳ございません。 無事、okormazd様の方法で解決致しました。 8bit単位の処理なんて、全くもって見当がつきませんでした。 ご回答、有難うございました。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.1

最初に、DEC2HEXで16進数に変換して、その結果から1桁ずつHEX2BINで2進数に変換する。 変換された4つの2進数を文字列で繋げば、16ビットの2進数になる。

minichan_xxxx
質問者

お礼

連絡が遅くなり申し訳ございません。 無事、okormazd様の方法で解決致しました。 ご回答、有難うございました。

関連するQ&A

  • エクセルでハイフンで示した数値の範囲を別々の数値へ

    エクセルでハイフンで示した数値の範囲を別々の数値へ変換したいのですが、行う方法はありますでしょうか。 例:1-5 → 1,2,3,4,5 といった感じです。 なお、実際のセルでは 1,3,6-9,11,14,15-18 といった感じで、範囲と普通の区切りが混在しております。 エクセルで行わなくともソフトウェア等で変換後にエクセルに貼り付けられれば問題ありません。 ご教授のほどよろしくお願いいたします。

  • エクセルの範囲から残りの数値を取り出す

    エクセルの範囲から残りの数値を取り出す方法を教えてください   図の様に縦方向に1~9の数値入ったセル範囲があります そこから 入力されている数値外の9以内の数値をとりだす マクロを使わないで  関数だけでできるでしょうか?

  • 10進数(+-)→2進数への変換(2)

    先ほど、ご質問させて頂きました者です、詳細にご説明させて頂きます (1)10進数:-16072 → 2進数:1100 0001 0011 1000 補足:2進数の16bit目の「1」は符号ビット「ー」 (2)10進数:+16072 → 2進数:0011 1110 1100 1000 補足:2進数の16bit目の「0」は符号ビット「+」 補足:10進数の値の範囲は    2進数で 符号1bitを含む16bitの値の範囲です と変換できるVB関数をご教示ください 宜しくお願いいたします

  • Excel 2007の関数ですが、数値範囲の正の数、又は、負の数のみを

    Excel 2007の関数ですが、数値範囲の正の数、又は、負の数のみを合計する関数がわかりません。 調べる方法を教えてください。

  • Excelでの数値の範囲指定

    Excelで、数値の範囲指定はできますか? "123~1234の間にある数字"(123,124,125,…,1232,1233,1234) みたいな感じを関数内に組み込みたいのですが、分からなくて。。 お分かりになる方、よろしくお願いします。

  • HEX2BIN関数の使い方。

    HEX2BINを使用して16進数4桁を2進数に変換しようとしたところ=HEX2BIN(B2) (B2セルは6F67)としたところ#NUMエラーが出てしまいます。 B2を”B2”にすれば変換ができたのですが今度はオートフィルが使えなくなってしまいます。 なので、=HEX2BIN(B2)で変換できる方法か””をつかってもオートフィルで=HEX2BIN("C2")などにする方法を教えて下さい Excelは2007です。

  • EXCELの関数

    古いバージョンで、 =DEC2HEX(A2,4) という10進数を16進数4桁表示にする関数を使っていました。 EXCEL2003にして、何もしなければ問題ないのですが、関数のセルをさわるとエラーになってしまいます。もとにも戻りません。 関数のヘルプ(関数がバージョンアップにより、変わってしまった?)又は、何か修正手段はないのでしょうか? それと、10進数を8進数に変換できる関数はないのでしょうか? EXCELの関数のホームページとかあれば教えて下さい。

  • 数値・文字列を決まった範囲の数値に変換・割り当てる(ハッシュする?)方

    数値・文字列を決まった範囲の数値に変換・割り当てる(ハッシュする?)方法について ハッシュ関数を使えば、ある文字列・数値を何らかの法則で暗号のように変換できることは分かったのですが、その変換される結果の範囲を決まった数値として指定することは可能なのでしょうか。 例えば『文字列を「1~95」の数値のどれかに割り当てたい』という感じです。 ランダムでなく、何度やっても同じ結果にしたいのです。 また、範囲は例では「1~95」としていますが、「1~230」「1~500」など自由に変更したいと思っています。 ※以前質問した占いに関連するものでして、結果の数が定まっていないため、 結果の数に応じて、元となるデータから占い結果に割り当てるということをやりたいと思っています。 ご教示いただけますようお願いします。

    • ベストアンサー
    • PHP
  • 10進数を2進数に変換したい。

    業務上であるログの値を解析しています。 ※ログはcsv形式で、Excelに落として編集加工しています。 その中で、10進数を2進数に変換する必要がありますが、変換方法がよくわかりません。 ExcelでDEC2BINという関数があるところまでは突き止めたのですが、 この関数は、与件(10進数)が512を超えるとエラーとなってしまいます。 (解析対象は10進数で10桁です・・。) 2進数に変換する関数、方法などはあるのでしょうか? 大量にログがあるので、一括して加工したいのですが・・。 (VBAの使いかたがわからないので、何とか関数か何かで対処したいのですが・・・。Excelは2002を使ってます)

  • エクセルの16進と2進の扱いに関して

    お世話になります エクセルの16進と2進の扱いに関して教えてください DEC2HEX,DEC2BIN,HEX2BIN,BIN2HEX等を使って、 相互に数値を変換し表記する場合 (1) 16進の扱い時、0xを付ける、もしくは認識させる方法 (2) 16進の扱い時、2桁ずつ区切り-を間に入れた表記にする方法 (3) 2進の扱い時、4桁ずつ区切り空白を間に入れた表記にする方法 (4) 2進で扱える値をもっと大きくしたい(現在は255(ff)との2進変換まで) (とりあえず32Bitまででもできればたすかります) このような時、セルの書式設定等はどのように設定すればよろしいのでしょうか、 ご存知の方、ご教授お願いいたします。

専門家に質問してみよう