• ベストアンサー

エクセルでの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