- ベストアンサー
エクセルでの2進数変換について
今回もよろしくお願いします。 今回、悩んでいるのはエクセルを使い、「10進数を2進数に変換する」という事です。2進数にへんかんしてしまう関数も探してみるとあるのですが、それとは別に関数をいくつか組み合わせて出したいと思っています。 いろいろやってはみたのですがいまいちうまくいきません。 どうか、よろしくお願いします。
- みんなの回答 (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しか換算できません 実用的ではなさそうに思えるのですが 如何でしょうか?
その他の回答 (2)
- cafe_au_lait
- ベストアンサー率51% (143/276)
どんくさい方法で、自然数(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)
お礼
ありがとうございました。 参考にさせていただきます。
- wishi
- ベストアンサー率28% (37/129)
メニュー[ツール]-[アドイン]をクリックする。 [アドイン]ダイアログ-[分析ツール]チェックをオンにする。 [アドイン]ダイアログ-[OK]ボタンをクリックする。 をして、 =DEC2BIN(二進法にしたい数値かセルの番号) と書いてみてください。 二進法で表示してくれます。 http://www.relief.jp/itnote/archives/000925.php 参照してください。 ここから引用しました。
お礼
ありがとうございました。 とても役に立ちました。