• ベストアンサー

エクセルの割り算

エクセルで、AとBとCとDの4つのセルがあります。いろいろ他のセルを参照して計算された結果がA,B,C,Dですが、A=C B=Dになっています。 が、A/B、C/Dは一緒になるはずですが、あっているかどうか、if関数で調べるとイコールにはなっていないようです。 割り算の影響でしょうか?

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

  • ベストアンサー
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

デジタル計算には必ず精度の限界があるため、ではないでしょうか? 例えば、A1 セル,B1 セル,C1 セルに以下のように記入してみてください。 A1 =1.2-1.1 B1 0.1 C1 =A1-B1

mathematiko
質問者

お礼

回答いただけてありがとうございます。 へーです。 ありがとうございます。

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

その他の回答 (4)

回答No.5

>A=C B=Dになっています。 それが嘘ってことだよ。 本当にすべてそうなってるか確認したのか?

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

エクセルの(悪い意味で)奥深い(有名な)ところでしょう。 コンピューターの数値の計算の困った、有名なポイントに関連している事項と思います。 コンピュター利用をエクセルから始め、それしかやってないと、今になってこういう疑問が出るのだと思います。エクセルは素人向けに、いろいろ工夫してあるので、見えない点は多多あります。 Googleで「excel 計算誤差」などで照会し、出てきた記事を「ゆっくり」読んで、どれに該当するか、考えることです。 https://answers.microsoft.com/ja-jp/office/forum/office_2013_release-excel/excel%E3%81%AE%E5%8D%98%E7%B4%94%E3%81%AA%E8%A8%88/e5421c34-8053-4132-a0a6-14729e505376?auth=1 初めたくさんの記事が出ます。 A、B,C,Dなどが小数点つき数かどうかちか、A、B,C,D間の計算式さえも、質問に書かないで、質問するレベルでは、理解は大変だろうな。

mathematiko
質問者

お礼

回答いただけてありがとうございます。 勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • f272
  • ベストアンサー率46% (8035/17170)
回答No.3

A/BとC/Dが等しくないのであれば,それはA=C B=Dになっていないということです。見た目で判断するのではなく等しいことをちゃんと確認しましたか? #2さんが例を出しているように内部的には2進数で値を保持しているものを10進数として表示しますから,見た目では同じように見えても値が違うことはごく普通のことですよ。

mathematiko
質問者

お礼

回答いただけてありがとうございます。

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

  ABCD夫々の値 計算式 これを書かないと判断できません。  

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

関連するQ&A

  • エクセル割り算

    エクセル2002です。関数割り算で分母のセルが変わってしまいます。 例: 関数設定 分子:C2 分母:B2 関数C2/B2をC3に設定 WINNDOWS再起動しファイル開くとC3の関数の分母だけが変わる。(C2/A2) A2は以前分母に関数設定したことあります。 エクセル壊れたのでしょうか?

  • #value!を非表示にしたい

    エクセルの関数に関する質問です。 Book「A」または「A'」のセルを参照にして、いくつかの関数をBook「B」、Book「C」およびBook「D」に書き込みました。 まずは、Book「A」のセル「a」またはBook「A'」のセル「a'」のどちらか入力されている方のセルを表示させる関数をBook「B」のセル「b」に作りました。 これです。↓ =if(「a」="",(if(「a'」=""," ",「a'」),「a」) 次に、セル「b」を参照にして、 =if(「b」=""," ",「b」) という関数をBook「C」のセル「c1」に作りました。 「a」または「a'」に入力されていなければ、「c1」は空欄になるはず・・・だけど、実際には参照セルに関数が入力されているからどうかな・・・と思いましたが、これは見事に、成功しました。 これが成功したので、さらに、「c2」に、 =if(「c1」=""," ",datedif(「b」,「c1」,"Y")) を作りました。 しかし、空欄か年齢のどちらかになるはずのセルが、「#value!」がでてきてしまい、空欄が出てきません。「a」または「a'」に入力されていれば問題なく年齢を計算して返してくれるのですが、「#value!」は目障りなので、表示させたくありません。参照を「a」または「a'」までさかのぼって関数を作ればもちろん問題ないのですが、いろいろ並べ替えなどをしておりそれは最高に面倒くさいのです。参照を「b」や「c1」にするとオートフィルを使って楽にできるので、こっちの方法を採用したいと思っています。 上の関数を使った結果出てきてしまった「#value!」を解決するにはどのような方法があるのでしょうか? 長くなった上にややこしくなって申し訳ありません。ぜひともご意見よろしくお願いします。

  • エクセルの足し算の関数について

    エクセルの足し算の設定について質問です。 とてもシンプルな計算式で、あるセルに、仮に =A + B + C という 足し算を設定しようとしています。 Aは、計算結果を入れようとしているセルと同じシートにある別のセルとイコールで結びます。 BとCは、他のシートにあるセルを参照しようとしています。 参照先のセルは、複数のセルを結合したもので、 =B1 + B3 + B5 + B7・・・・といったような少し長めの足し算が入っています。 これで計算結果を反映しようとすると、#VALUE! エラーとなってしまいます。参照先のシートの構成などはできれば変えたくありません。 どのように直せばいいのでしょうか? 詳しい方ご教示お願いいたします。

  • エクセルで文字を参照してフラグを立てたい

    下記のようなエクセルで |-------------------| | |  A  |  B  |  C  |  D  | |-|-----------------| |1|     |あああ様|     |     | |-|-----------------| |2|     |     |いいい様|     | |-|-----------------| |3|     |     |     |ううう様| |-------------------| Aの列に(B~Cを参照して)"様"の入っているセルにフラグを立てたいのです。 数式をいれるAの列から数えて1つ右のセルに"様"があれば1を立てたいのです。 例えばA1のセルには1を A2のセルには2を A3のセルには3をという具合です。 if関数とright関数を使えばできそうな気がしますが私には難しいです…。 よろしくお願いします!

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • Excelで0(ゼロ)を0と認識していない件

    Excelで設定した単純なIF構文の関数で発生している事象です。 あるExcel上の表で、数値を入力後その値の有効性を検算するセルがあります。 2つの方法で入力した値がイコールであれば「OK」、イコールで無ければ「NG」と表示される様に、 IF構文で「=IF(セルA-セルB=0,"OK","NG")」と設定してあるのですが、0であるはずのセルの一部がOKになりません。 単純にこれだけであれば、見かけ0だけど実際は0でないからじゃない?とか思うのですが、以下の様に (1)セルA-セルBの計算を別のセルで行い、そのセルの値が0かどうか判断するIF構文を組むとOKになる (2)元の数式を「セルA-セルB=0」から「セルA=セルB」とするとOKになる など、計算結果としては確実に0になっていると判断しています。 数式自体直してしまえば特に問題は発生しないので重要な要素では無いのですが、何故このような事象が発生するか不思議だったので質問してみました。 条件付き書式などの設定はありません。 使用しているExcelは2010ですが2003でも同様な結果になりました。 もし何か情報をお持ちの方いらっしゃいましたらご教授頂ければ幸いです。

  • エクセルでの割り算、0解答について

    エクセルで0で割り算をするエラーがでてしまいます。 これを0として表示、認識させる方法はありますか? A1=4、B1=0の場合、A1/B1=0に表示、数字として認識させたいです。また、反対で計算してもB1/A1でも0であるように ひとつの関数でorとかつなげて表示したいのですが? よろしくお願いします。

  • エクセル 計算式

    エクセルの関数についての質問です。 A1のセルにおいて、計算式を作成しました。その計算結果がマイナスの場合にA1のセルは0と表示させ、更に、B1セルではA1のセルの計算結果を計算式に入れているため、A1がマイナスであった場合は、B1での計算式中のA1の値を0として計算させたいのですが、どうやればよいのか教えて下さい。 IF関数ですか?色々やってみたのですが、うまく出来ません。 よろしくお願い致します。

  • EXCEL、文字の数をカウントしたい。

    エクセル関数を使って、文字(100文字以上)の数をカウントしたいのですが、可能でしょうか。 例えば:セルに一つずつ、ABCAAACDを入力した場合に、A=4、B=1、C=2、D=1 のように表示したいんです。 ※Aを数える場合に、IF関数を使ってAのとき1となるように IF(A1="A",1)+IF(A2="A",1)+・・・+・・・のように順次足していけば短い文字であれば可能ですが、文字数が多くなってくると、セル内に関数がはいりきらずに計算できなくなります。別の関数をつかってより簡単に計算できないでしょうか?

  • エクセルで計算の結果がある数値の場合のみ文字列を表示させたいです・・・。

    エクセルで計算の結果がある数値の場合のみ文字列を表示させたいのですが、IF関数を使うのかなと思いますが関数がよく解かりません。。。 やりたいことはこんな感じです。 セルG1にはA1-B1、H1にはC1-D1、I1にはE1-F1と計算式が入っています。 計算の結果、▲1になるセルだけを文字列『売上』と表示させたいのですが・・・。 なお、計算の結果は、必ず『1』か『▲1』のどちらかにしかなりません。 つたない質問ですが解決したく困っています。よろしくお願いします。

専門家に質問してみよう