• ベストアンサー

MOD関数の値が・・・

MOD(○○,1.8)の関数を入力して返ってきた値が、 ○○のセルの値が「1.8」「3.6」等の場合は「0」なのに対して、 「5.4「18」等の場合は「-0」になってしまいます。 なぜでしょうか??教えてください!!

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

  • ベストアンサー
  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.1

1.8は、十進法では正確な値が表示できますが、内部で使用している二進数では8÷10が割り切れず、無限小数になるため、正確な値を記憶できません。そのため、0に近い、わずかにマイナスの誤差が残り、そのために-0と表示されます。表示桁数を増やすと、-○○.○E-16などと表示されます。E-16とは、×(10の-16乗)という意味です。 ためしに、18から1.8を10回引いてみてください。0にならずに誤差が残ると思います。 ちなみに、内部で正確に表現できる小数は、2の-N乗にあたるものです。 0.5、0.25、0.125、0.0625、・・・やその倍数です。

chikachu
質問者

お礼

ためになる回答、ありがとうございます!! なんだか難しくてちょっと理解できませんが・・・(苦笑 教えていただいたことを念頭において、作業を進めます。 また何かありましたらよろしくお願いします!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Mod(row)***

    =SUM(IF(MOD(ROW(A1:A20),4)=MOD(ROW(A3),4),A1:A20)) と、ネットに書いてある通り入力しても0になるか最後に,””を入れた場合、Valueになってしまいます。 理解しようと簡単な数字でやっているのですが計算ができません。 最初はMod、Row関数の意味から調べました。 昔、会社の技師が入力した関数を噛み砕こうとしています。 技師の入力したものは。範囲が200ほどあり、4行ごとの1行目の合計、別に2行目の合計を作成されています。 時々、おかしくなったから直してと言われることがあり、取り急ぎコピペで事なきを得ましたが、 理解したいと思っています。 ただ、実際に入ってる場所で同じ形で同じ関数を入れて作成すると、あるセルはちゃんと計算できるのですが、 あるセルだけは39,248,338分足された値が出てきます。 まったく同じ数式なのでなぜそうなるのかわかりません。 どなたかお詳しい方よろしくお願い致します。

  • MOD関数のMODって??

    エクセルの関数でMOD関数というのがありますが、 この『MOD』ってどういう意味なのですか? 英語の略か何かでしょうか?

  • MOD関数と、オートシェイプのグリッド。

    EXCEL2000を使っています。 本を読んだだけではどうしても分からないので、 どなたか教えて下さい。 (1)MOD関数の意味がよく分かりません。 MOD(○,△)とあったとしたら、○÷△という意味でしょうか。 で、○÷△=□.●●…という風に、答えに小数点が続く場合でも、 MOD関数での答えとしたら、「□」の部分が答えになるのか、 それとも「●●…」の部分が答えになるのか分かりません。 問題に、『12.3456を10で割った数の余り=2.3456』とあったのですが、 これはMOD関数を使うのでしょうか? 単純に考えたら、12.3456を10で割ると、1.23456になり、 どういう風に考えたら、2.3456となるのか分かりません。 (2)オートシェイプを描く時に、"グリッド"を選択して図形を動かすと、 セルに合わせて動くはずなのに、全然セルに合いません。 これはどういう事なのでしょうか? どなたか宜しくお願い致します。

  • 関数で値を移動出来ない?

    セルA1に"12"という値が入っています。 セルB1に"=A1"と入力するとB1の表示は"12"となりますが、 A1をクリアするとB1も"0"になってしまいます。 セルの移動のようにA1の値をそのままB1に持って行くことのできる関数はありませんか?

  • Excelの関数で求めた値を行数として使用出来ますか。

    例えば A1 =A2+5 A2 10 という値が入力されていた場合、A1には15が表示されると思います。 ここで、A3の関数として=HLOOKUP(A2,A15:D15,1)のような関数を入力する場合A15:D15の値をA(A1):D(A1)のように使うことは出来ませんでしょうか。 要するに関数で出した値を行数として使用することは出来るかということです。 INDIRECT関数も試してみましたがだめでした。 最悪、関数で求めた値でなくてもセルに入力されている値を行数として使用できれば構いません。 マクロ等を組めば出来ることかもしれませんが、そのような時間もないので解決策があれば教えていただけますでしょうか。 よろしくお願い致します。

  • MOD関数について詳しく教えてください

    Excelの関数なんですけど、 MOD(2,-9) はなんで -7なんですか?

  • エクセルで挿入した列に関数が値を返しません。

     エクセルで列を挿入したセルに、関数を入力しても値を返しません。 関数を入力しても、数式バーに表示される数式がセルに表示されるだけで、答えは出ません。式はあっていて、違うセルに数式をコピーして張り付けると、値を返します。  また、挿入した列に元からある空白の列をコピーして貼り付け、関数を入力しても値を返します。  どこかで変な設定をしてしまったのでしょうか?  分かる方、どうか教えてください。

  • 関数が入っている列で値のある最後のセルの値を返す

    お尋ねします。 関数が入っている列で式の値が入っている一番下のセルの値を調べるにはどうしたら良いでしょうか? 例      A列   1   5   2   10   3   13   4   (式の値が無いのでゼロ) B1セルにA3セルの13と言う値を返したいのですが、列に式(SUMPRODUCT関数)が入っていて、実際はA4セルのゼロが返ってきます。 またシート1~シート5 まで上記と同じ式が入っていて、シート1のA列の最後の値「13」をシート6のB1セルに値を返す場合、INDIRECT関数を使った場合、どういう式になるでしょうか? ご回答よろしくお願いします。

  • Mod関数?に関して

    会社のASPのソースの中に以下のようなものがあります。 <% for iRowAnswer = 0 to ubound(ArrAnswer, 2)   if iRowAnswer Mod 4 = 0 And iRowAnswer > 0 then ・・・・・ とあるのですが、2行目のif文のModはどのように解釈すればよろしいのでしょうか? Modというと N = MOD(30,4) という感じで割り算の余りを計算する関数という認識しかないのですが、まったく違う使い方なのでしょうか? これだけでは分からないかも知れないのですが、どうぞよろしくお願い致します。

  • 差し込み印刷でのMOD関数

    Wordの差し込み印刷についてお聞きしたいことがあります。 Word、Excelについては多少知識はありますが 差し込み印刷については初心者です。 Excelからデータを持ってきたいのですが セルには6桁の数字が入っていて、そのうちの頭1桁をとる場合に フィールドコードでMod関数のような式を入れると 上手く行くのではないかと考えています。 http://okwave.jp/qa/q4865527.html 上記ページを参考にしたのですが、なかなか上手く行きません。 私の場合、参照しているセルの名前がF2なので 初期段階のフィールドコードは { MERGEFIELD "F2" } とあったので { = MOD ( { MERGEFIELD "F2" },100000 ) \# # } としてみました。 構文エラーになります。 よろしくお願いいたします。

このQ&Aのポイント
  • パスワード変更時に間違った操作をしてしまい、正しいパスワードがわからなくなったという問題が発生しました。
  • お使いの環境は、iPadを使用しており、無線LANで接続されています。
  • 関連するソフトやアプリは特にありません。
回答を見る

専門家に質問してみよう