• ベストアンサー

10進法を2進法に変換する関数

エクセル2003です。 エクセルの数式バーから呼び出す関数で 10進法を2進法に変換する関数はないのでしょうか? アドインなどを使うしかないですか? A1に2を入れたらB1に10と表示させたいです。 B1に=DEC2BIN(A1)をするとNAMEになります。

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

  • ベストアンサー
回答No.7

アドイン「分析ツール」をインストールしたくないとかって場合は、仕方がないので、添付図みたいな感じで補助セルを使って計算するか、同じ計算をする関数を VBA の Function プロシージャで作るくらいかと。それか Excel2007 なら、アドインなしで DEC2BIN 関数が使えますが。 添付図には、次式を入力しています。10 ビットで表示するには、セルのユーザー定義書式で「0000000000」を指定。桁あふれやマイナスの扱いに注意。 C2  =2^b2 D2  =mod(d1,c2) E2  =int(d1/c2) F2  =e2*10^b2 F12 =sum(f2:f11)

uwhodlvj
質問者

お礼

ありがとうございました。

その他の回答 (7)

回答No.8

No.7 です。一つ、言い忘れたことを補足します。 DEC2BIN 関数の書式は「DEC2BIN(数値,桁数)」となっているのですが、「数値」として指定できる数は、-513 < m < 512 を満たす整数 m です。また、「桁数」として指定できる数は、1 ≦ n < 11 を満たす整数 n です。m や n に小数を指定すると、整数に直して計算されてしまうので注意してください。また、範囲外の値を指定すると、「#NUM!」というエラーが表示されます。 つまり整数 m として指定できる数の個数は 1,024 個ありますが、+512 は -512 として、+513 は -511 として扱わないといけないし、1024 以上の値は、この関数のみでは表現できないことになります。

uwhodlvj
質問者

お礼

ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.6

Excel2003では、DEC2BIN関数はツールメニューのアドインで「分析ツール」のチェックを入れないと使えません。分析ツールアドインは、通常エクセルの標準で最初からインストール済みなので、チェックを入れるだけで使えるようになります。 なお。 DEC2BIN関数の「桁数」は省略可能なので、分析ツールを入れた後に =DEC2BIN(2) =DEC2BIN(A1) とするだけで正しい答えが出てきます。 #NAME!エラーは、数式に間違った言葉を記入した時に「そんな言葉は判りません」という意味のエラーです。 今回はアドインが無いと呼び出せない関数を使おうとしたので、「そんな言葉は知りません」になります。 #参考 Excel2007以降を使っていれば、分析ツールアドイン無しでもDEC2BIN関数などを利用できます。

uwhodlvj
質問者

お礼

ありがとうございました。

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.5

NAME というのはエラーメッセージです。関数などの使い方が違うと出てきます。 ほかにも、ゼロで割るとDIV/0などと出てきます。

uwhodlvj
質問者

お礼

ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! とりあえず fx のアイコンをクリックして関数の挿入ダイアログボックスで確認してみてください。 その中に DEC2BIN関数が見当たらない場合は Excel2003だと メニュー → ツール → アドイン → 「分析ツール」に チェックを入れる必要があると思います。m(_ _)m

uwhodlvj
質問者

お礼

ありがとうございました。

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.3

=DEC2BIN(A1,2) ですね

uwhodlvj
質問者

お礼

ありがとうございました。

回答No.2

NAME、ってなんダァ~? ほんとにィ、マイクロソフトのあのEXCEL?? 全角でもOKなんじゃが、、、

uwhodlvj
質問者

お礼

ありがとうございました。

  • usami33
  • ベストアンサー率36% (808/2210)
回答No.1

DEC2BIN(数値,桁数) 今回は桁数に4か8を入れましょう

uwhodlvj
質問者

お礼

ありがとうございました。

関連するQ&A

  • 10進法を2進法に変換する関数を教えてください。

    10進法 2進法 1     1 2     10 3     11 4 5 6 という表を作るときに 「10進法の3は2進法の11」と変換するエクセル関数はありますか? vbaで自作関数を作るしかないですか?

  • エクセル関数/10進法から60進法への変換(カンマ表示)

    勤怠打刻システムより勤怠データを取り出すと10進法で出力されます。 60進法へ変換するエクセル関数をご教示いただけませんでしょうか。 【例】10進法⇒60進法へ変換したい。 5.233333⇒5.14 8.783334⇒8.47 時間表示は「:(コロン)」ではなく「.(小数点)」で表示させたいです。 また上記と逆に、60進法⇒10進法に変換する関数も教えていただけると大変ありがたいです。 どうぞよろしくお願いいたします。

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

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

  • EXCELの関数

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

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

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

  • EXCELの関数について

    DATA,NUM name1,1_a name2,1_a name3,1_a name4,1_b name5,1_b name6,1_c name7,1_c 上記のようなcsvファイルを DATA,NUM 1_a・・・3 1_b・・・2 1_c・・・2 のように集計したいと思っています。 個数に関しては、EXCELの関数「COUNTIF」を使って表示したのですが、DATAの記述は普通に打ち込んで書いています。 しかし、普通に打ち込んでいては量が多いと大変なので、関数で表示させる方法はないでしょうか?

  • エクセルで10進法から60進法に変換する方法

    エクセルで10進法から60進法に変換する方法を教えてください。 たとえば、31.7041667という数字があったとして、それが31度42分15秒という角度に変換したいのです。関数電卓では簡単にできるのですが、エクセルでの方法、また関数などあったら教えてください。

  • エクセル関数入力の件

    初心者です、関数打ち込みで、=A1-B1 と打つと上の関数式バー?に A1-+B1と表示されて#NAME?と出て計算できません、A1+B1であればうまくいくのですが、マイナス計算の場合どのように打てばいいのでしょうか?よろしく。

  • 現在のセルの位置を返す関数はありますか

    Excel97を使っています。 マウスで指定されたセルの位置が返される関数はありますか? 例えば、その関数をA1に入れておくと、マウスで指定したセルの位置がA1に返されるという関数です。 要するに数式バーの左端に現在のセルの位置が表示されていますよね。 それを関数で指定のセルに表示したいのです。

  • DATEDIF関数を使うには?

    ある質問を見ていて、日付と日付の間の日数を求める関数、DATEDIFを使うといいという回答を見ました。 「そういう関数あるんだ」とおもい、試してみたら、わたしのEXCELでは使えないようなのです。 =datedif(A1,B1,"m") と入力すると、#NUMという表示になります。 追加アドインなど必要なのでしょうか? WinXp Excel2003です。

専門家に質問してみよう