- ベストアンサー
エクセルでの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 参照してください。 ここから引用しました。
関連する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進数を2進数に変換した際に頭の0を表示させる方法は?
エクセルの関数についての質問です。 1つのセルに16進数で2e14という値があった場合に、これを一旦2進数に変換すると、計算機上では10 1110 0001 0100となります。 普通にこれがエクセル関数でできればいいのですが、桁数が問題なのか変換できませんでした。 そこで、2つのセルに2eと14に分けてから2進数表記して連接しようとしたのですが、そこで問題が起きました。 14の頭に0が3つついていますが、これが表示されませんでした。これを表示させないと当然連接した結果の値が全く違うものになってしまいます。 エクセル関数のHEX2BINを使った際に、変換後に頭の0が表示されるようなことは出来ないでしょうか。 エクセルなどに関してまだ素人当然なので教えて下さい。 よろしくお願いします。
- ベストアンサー
- その他(学問・教育)
- 2進数と16進数の相互変換
VBScriptで 2進数と16進数の相互変換をしたいのですが、 進数を変換する関数としては、 Hex関数やOct関数ぐらいしか見当たりません。 どうしたらいいのでしょうか? よろしくお願いします。
- ベストアンサー
- Microsoft ASP
- 16進数を10進数に簡単に変換する関数は?
16進数を10進数に簡単に変換する関数は何かありますか? もしご存知でしたら教えていただけないでしょうか? 例えば、3BDF8という16進数を10進数に変換したいと思っています。
- ベストアンサー
- C・C++・C#
- Excelを使用して、32進数に変換するにはどのようにしたら良いのでし
Excelを使用して、32進数に変換するにはどのようにしたら良いのでしょう。 できればセルA1 に入力した結果を B1に 出力するのが理想なのですが Excelでは難しいのでしょうか。色々調べましたが16進数までで32進数についてはわかりませんでした。よろしくお願い致します。
- ベストアンサー
- その他(インターネット・Webサービス)
- 10進数→2進数への変換
VBの関数で 10進数→2進数への変換 のライブラリはあるのでしょうか? それとも自分で作成するのでしょうか? もし作成する場合、何か参考になるHPを教えて下さい また作成された方が居られましたら、その関数を頂けないでしょうか 初歩的な質問で申し訳ございません、よろしくお願い申し上げます
- 締切済み
- Visual Basic
- 2進数から10進数変換
int henkan(char [ ]) という関数に、”10111”と 2進数で表記されている文字列を数値に変換したいんですが、 どうやったらよいのか教えてください。
- ベストアンサー
- C・C++・C#
お礼
ありがとうございました。 とても役に立ちました。