• 締切済み

EXCELの計算結果を値コピーするとおかしな値になる

EXCEL2003を使っていますが、ふとしたことで気になることがあります。 下記のような簡単な計算とコピー作業なのですがコピーした値がおかしいのです。 ・セルA1に420.2を入力する。 ・セルB1に420.3を入力する。 ・セルC1に =A1-B1 の計算式を入れる。 ・セルD1にC1のコピーを形式選択貼り付けで”値”のみ貼り付けする。 すると、セルD1には-0.1が表示されるのですが、ワークシート上段の普段入力とかをするエリアには-0.100000000000023が表示されています。 普通は別に困らないのですが、計算結果が-0.2とかになると-0.199999999999989になりヒストグラム等では頻度のカウントがひとつ繰り上がってしまいます。 (値コピー先ではなく計算結果でヒストグラムをとっても同じ結果になります。) Officeのヘルプも一応見てみたのですが、検索文言がややこしくて見つけられませんでした。簡単なことを見逃しているかも知れませんがアドバイスお願いします。

みんなの回答

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

こんばんは! すでにNo.1さんの方で回答が出ていると思います。 浮動小数点の影響ですね! 時間の計算等でも同様のことがおきる場合があります。 特に「0.1」などの場合、2進数で表した場合循環数値になってしまうみたいです。 一つの方法としてE4セルの数式を =ROUND(D4-C4,5) としてみるやり方もあるみたいですよ。 以上、参考になれば幸いです。m(__)m

copier_2
質問者

お礼

ご回答ありがとうございました。 =ROUND(D4-C4,5)で解決できそうです。 でも EXCELでもこんなことがあるんですね。 助かりました。m(_ _)m

回答No.1

多分そういう仕様です。(対策例の一つが載っています) http://pc.nikkeibp.co.jp/pc21/special/gosa/

copier_2
質問者

お礼

ご回答ありがとうございました。 参考文献ためになりました。計算は完璧だと思っていた EXCELでこんなことが起こるとは思いもよりませんでした。 良い勉強になりました。

関連するQ&A

  • エクセルの値のコピー(自動で)について

    例えば、 セル(A1)に1      セル(B1)に3      セル(C1)に=SUM(A1:B1) と入力します。      セル(C1)は、見た目には4ですが、      実際は「=SUM(A1:B1)」です。  ここで、 セル(D1)には、セル(C1)のコピーを「値」の形式で貼り付けると    セル(D1)は4となります。 このセルDの貼り付けを自動で行いたいのですが可能でしょうか。 私はマクロとか分かりません。 関数での方法を教えて下さい。

  • エクセルマクロで計算結果の値だけをコピーしたい

    エクセルのマクロで計算結果の値だけをコピーする方法は無いでしょうか? 私が遣りたい事は,大雑把に言えば以下の動作がしたいんです. しかし,セルに計算式が入ってしまい計算結果が残らなくて困っています. A,B,Cはセルとする A,Bを作業領域,Cを結果領域として For i = 1 to 10 A=i B=i+1 C=A+B Cの行+1 Next i

  • 計算結果のコピー&貼り付けについて

    計算結果のコピー&貼り付けについて A1セルに関数を入れて、計算結果が表示されているとします。 そして、その計算結果の数字を他のセルへコピーして貼り付ける時、 通常は「形式を選択して貼り付け」にすると思いますが、 もっと簡単な方法を探しています。 ・単純な「コピー&貼り付け」だけで済むような方法はないでしょうか? ・A1セルの下に、計算結果の数字のみを表示させられないでしょうか? ご存じの方、教えてください。 よろしくお願いします。

  • エクセルで計算結果だけを利用したい

    良い方法を教えてください。 シートAは、ワークシートです。 所々に入力欄がありますが、それぞれは計算した結果を入力するものです。計算結果が変わってしまったり、転記ミスを無くすことを目的で、シートBを作り、これもまた、ワークシートとして多々計算したものを+シートB!A1の形でリンクしています。 提出するものは、シートAですが、 提出先には、シートBの存在を知られたくありません。 シートを見えなくするのであれば、セルの中身でリンク表示で 提出先に分かってしまうので、シートAの入力欄(シートBにリンクしている)をコピー、値を貼り付けで、数値だけにした上で、 シートBを削除して、提出しています。 しかしながら、とても面倒です。 なぜなら、そのリンクを切るのに、50回程度コピー、値の貼り付けを 行うからです。 なんとか、簡単に済ませる良い方法はないでしょうか? よろしくお願いします。

  • 値の貼り付けとcounta関数(空白をカウント)

    A1 1 A2 a A3 a A4 1 A5 a 上記のデータがあります。(aは任意の文字列、1は数字の1のみ) 1.B列に、「=IF(A1=1,"",A1)」を入力。(1を消すためです) 2.C列に、B列をコピー、形式を選択して値を張り付け。(値のみをカウントするため) 3.C6に「=COUNTA(C1:C5)」を入力。計算結果=5。 空白以外のセルをカウントして欲しいので、COUNTA関数用いたのに、 空白もカウントされてしまいます。 なお、手作業で空白セル(C1)をデリートすると、計算結果は「4」になります。 計算結果として「3」を表示させる方法をご教授ください。 (データは8000件以上あり、手作業での空白セルのデリートは不可能です) あるいは、違ったやり方での正しい計算結果の出し方があれば、お願いします。 D列に「=CLEAN(B1)」「=SUBSTITUTE(B1," ","")」を入力、E列へ値の貼り付け、もE6のCOUNTAの結果は5になります。(当然D6も) 以上、よろしくお願いいたします。 環境:エクセル2000 XP Pro

  • エクセル 「値貼り付け」の結果が

    Excel2003を使用しています。 【準備】 ・セル"A3"に ="" と入力します。(何も表示されない状態) ・セル"A3"をセル"B3"に値貼り付けをします。 【操作】 この状態でセル"B6"を選択し、End(xlUp)【Endを押した後、↑を押す】を行います。 【結果】 何もデータが無い筈のセル"B3"にひっかかってしまいます。 一度セル"B3"で「F2」を押し「Enter」を押すと、ひっかからなくなります。 データが1つだけの簡単な例なのですが、 A列からB列に値貼り付けした中で、 データの入っているセルのみEnd(xlUp)に引っかかるようにする簡単な方法はないでしょうか。

  • Excelの関数について

    [C1のセル値]-[A1またはB1のセル値] を使って計算したい場合の計算式を教えて下さい。 A列、B列、C列には具体的な数値を入力します。 D列にその結果を表示させる関数を入力したい。 と考えています。 但し、以下の条件を満たす事が必須となります。 (1)A、B、またはCのセルが未入力の場合はDは空白セルのまま。 (2)A、Bいずれかの一方が入力されている場合はCの値を使って計算し結果を表示。 (3)A、Bいずれも入力されている場合はBを優先してCの値を使って計算し結果を表示。 よろしくお願いします。

  • 値が入っているときだけ計算結果が表示されるようにするには・・?

    エクセル計算式で、簡単な引き算(ex.セルC1=A1-B1)ですが、どちらかの数値が入力されていないときは計算結果を表示させないようにするにはどのようにしたらよいのでしょうか・・・?簡単な質問ですみません!!

  • EXCELで値のコピーをキーボードのみで行いたい

    あるセルに数式が入っていて、そこに計算結果があったとします。そのセルをコピーして、値を別のセルに貼付けたいのですが、通常は形式を選択して「値のみ」にチェックを入れて貼り付けますが、通常のコピペのように「CTRL+C」→「CTRL+V」のように、キーボード操作のみで値のみの貼付けを行う方法はありませんか?もしくは、ツールメニューはないですか?書式コピーのツールメニューはあるのですが、値コピーは見つけられませんでした。よろしくお願いします。

  • コピーして貼り付けるには

    コピーして貼り付けるには xcel 2007です。 A列、B列にそれぞれ値が入力してあります。 C列の各セルに =A列の各セル-B列の各セル として 自動計算させ、値を入力しました。 ここでC列をコピーして、K列に貼り付けましたが、 全セル共 0(ゼロ) 表示されてしまいます。 C列の値を正しく表示させる方法を教えていただけませんか。

専門家に質問してみよう