• ベストアンサー

エクセルでの2進数変換について

今回もよろしくお願いします。 今回、悩んでいるのはエクセルを使い、「10進数を2進数に変換する」という事です。2進数にへんかんしてしまう関数も探してみるとあるのですが、それとは別に関数をいくつか組み合わせて出したいと思っています。 いろいろやってはみたのですがいまいちうまくいきません。 どうか、よろしくお願いします。

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

  • ベストアンサー
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

E7に換算すべき10進数が入っているとして =10^INT(LN(E7)/LN(2))+10^INT(LN(E7-2^INT(LN(E7)/LN(2)))/LN(2))+10^INT(LN(E7-2^INT(LN(E7)/LN(2))-2^INT(LN(E7-2^INT(LN(E7)/LN(2)))/LN(2)))/LN(2))… としようかとも思ったのですが 関数では再帰的記述が無理と思われる以上 すぐにネスト数の壁にぶち当たることが必定ですし 第一上位桁を全て間引いてマッチングしているわけですから これでは途方もないです なので excelお得意の配列数式で =SUMPRODUCT(INT(MOD(E7/2^(ROW($A$1:$A$16)-1),2))*10^(16-ROW($A$1:$A$16))) としてみたのですが 65535を変換しようとして1111111111111111となるはずですが これまた有効桁数の壁に阻まれ 1111111111111110となってしまいました どうやら文字列で表現しないといけないようですが 文字列配列の各要素の結合は 残念ながら私はまだ出来ていないので =INT(MOD(E7/2^15,2))&INT(MOD(E7/2^14,2))&INT(MOD(E7/2^13,2))&INT(MOD(E7/2^12,2))&INT(MOD(E7/2^11,2))&INT(MOD(E7/2^10,2))&INT(MOD(E7/2^9,2))&INT(MOD(E7/2^8,2))&INT(MOD(E7/2^7,2))&INT(MOD(E7/2^6,2))&INT(MOD(E7/2^5,2))&INT(MOD(E7/2^4,2))&INT(MOD(E7/2^3,2))&INT(MOD(E7/2^2,2))&INT(MOD(E7/2^1,2))&INT(MOD(E7/2^0,2)) とするしかないように思えます しかしこれですらやっと65535しか換算できません 実用的ではなさそうに思えるのですが 如何でしょうか?

porno_00
質問者

お礼

ありがとうございました。 とても役に立ちました。

その他の回答 (2)

回答No.2

どんくさい方法で、自然数(1~63)対応です。参考までに。 =MOD(ROUND((A1-2^4)/2^5,0),2) &MOD(ROUND((A1-2^3)/2^4,0),2) &MOD(ROUND((A1-2^2)/2^3,0),2) &MOD(ROUND((A1-2^1)/2^2,0),2) &MOD(ROUND((A1-2^0)/2^1,0),2) &MOD(ROUND(A1,0),2)

porno_00
質問者

お礼

ありがとうございました。 参考にさせていただきます。

  • wishi
  • ベストアンサー率28% (37/129)
回答No.1

メニュー[ツール]-[アドイン]をクリックする。 [アドイン]ダイアログ-[分析ツール]チェックをオンにする。 [アドイン]ダイアログ-[OK]ボタンをクリックする。 をして、 =DEC2BIN(二進法にしたい数値かセルの番号) と書いてみてください。 二進法で表示してくれます。 http://www.relief.jp/itnote/archives/000925.php 参照してください。 ここから引用しました。

関連するQ&A

  • 10進数を2進数に変換したい。

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

  • Excelで16桁の16進数を10進数に変換

    Excelを使って、16桁の16進数を10進数に変換したいと考えております。 HEX2DECでは、桁数が多すぎてエラーとなってしまいました。 関数の組み合わせでも、VBAで組むのでもどちらでも構いません。 こうすればできる、というようなアイデアだけでも、いただけるとうれしいです。 宜しくお願いいたします。

  • 16進数変換

    エクセルで10進数のデータを一括で16進数変換する方法があったら教えてください。1セルずつなら関数で変換できるのですが一括変換する方法がわからないのです。わかる方がいらっしゃったらよろしくお願いいたします。

  • エクセルで16進数を2進数に変換した際に頭の0を表示させる方法は?

    エクセルの関数についての質問です。 1つのセルに16進数で2e14という値があった場合に、これを一旦2進数に変換すると、計算機上では10 1110 0001 0100となります。 普通にこれがエクセル関数でできればいいのですが、桁数が問題なのか変換できませんでした。 そこで、2つのセルに2eと14に分けてから2進数表記して連接しようとしたのですが、そこで問題が起きました。 14の頭に0が3つついていますが、これが表示されませんでした。これを表示させないと当然連接した結果の値が全く違うものになってしまいます。 エクセル関数のHEX2BINを使った際に、変換後に頭の0が表示されるようなことは出来ないでしょうか。 エクセルなどに関してまだ素人当然なので教えて下さい。 よろしくお願いします。

  • エクセルで16進数を10進数に変換できますか?

    エクセルで16進数を10進数に変換できますか?

  • 2進数と16進数の相互変換

    VBScriptで 2進数と16進数の相互変換をしたいのですが、 進数を変換する関数としては、 Hex関数やOct関数ぐらいしか見当たりません。 どうしたらいいのでしょうか? よろしくお願いします。

  • 16進数を10進数に簡単に変換する関数は?

    16進数を10進数に簡単に変換する関数は何かありますか? もしご存知でしたら教えていただけないでしょうか? 例えば、3BDF8という16進数を10進数に変換したいと思っています。

  • Excelを使用して、32進数に変換するにはどのようにしたら良いのでし

    Excelを使用して、32進数に変換するにはどのようにしたら良いのでしょう。 できればセルA1 に入力した結果を B1に 出力するのが理想なのですが Excelでは難しいのでしょうか。色々調べましたが16進数までで32進数についてはわかりませんでした。よろしくお願い致します。

  • 10進数→2進数への変換

    VBの関数で  10進数→2進数への変換 のライブラリはあるのでしょうか?  それとも自分で作成するのでしょうか? もし作成する場合、何か参考になるHPを教えて下さい また作成された方が居られましたら、その関数を頂けないでしょうか  初歩的な質問で申し訳ございません、よろしくお願い申し上げます

  • 2進数から10進数変換

    int henkan(char [ ]) という関数に、”10111”と 2進数で表記されている文字列を数値に変換したいんですが、 どうやったらよいのか教えてください。

専門家に質問してみよう