- ベストアンサー
EXCEL 2003 について質問です
EXCEL 2003 について質問です 一つのセルに 43009.598 と入力すると 43009.597999999 に 勝手に変換されてしまいます、別のPCの2000でも同じ症状になりました。 どなたか解決方法をご教授下さい、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
パソコンでは二進法が基本となって数の認識が行われますが、小数点を伴う数値などの場合には数値によってはお示しのような結果となる場合があります。これらの現象は浮動小数点と呼ばれるものでどのパソコンでも見られる現象です。 回避するためには計算に当たって数値を例えばROUND(A1,3)などのようにして使われるとよいでしょう。これでしたら小数点以下3位までの数値として扱うことができます。
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
小数点以下の数値を演算した場合には、浮動小数点誤差が出るケースはごく一般的に見られますが、今回の質問のように、セルに入力した値自体値が変わるケースは私自身初めて遭遇しました。 このような現象が発生する条件は不明ですが、たとえばセルの中の数式内で「43009.598」と入力した場合も勝手にその値が変更されてしまいます。 したがって、たとえばこのように表示されているセル(たとえばA1セル)を「=ROUND(A1,3)」のような数式で小数点以下3桁で四捨五入しても、3桁の数字とはならず、43009.597999999 になります(セルの書式を数値にして小数点以下の桁数を増やしてみてください)。 以上のことから、小数点以下の数値の演算が伴わず、セルに入力した値だけの比較をするような場合は、そのまま比較しても問題がないことになります(その数値が入力できないことは気になりますが)。
お礼
返事が遅れて済みませんでした パソコンの性能上だと知り ROUNDで対応したいと思います ありがとう御座いました。
- MackyNo1
- ベストアンサー率53% (1521/2850)
小数点以下の数値を演算した場合には、浮動小数点誤差が出るケースはごく一般的に見られますが、今回の質問のように、セルに入力した値自体値が変わるケースは私自身初めて遭遇しました。 このような現象が発生する条件は不明ですが、たとえばセルの中の数式内で「43009.598」と入力した場合も勝手にその値が変更されてしまいます。 したがって、たとえばこのように表示されているセル(たとえばA1セル)を「=ROUND(A1,3)」のような数式で小数点以下3桁で四捨五入しても、3桁の数字とはならず、43009.597999999 になります(セルの書式を数値にして小数点以下の桁数を増やしてみてください)。 以上のことから、小数点以下の数値の演算が伴わず、セルに入力した値だけの比較をするような場合は、そのまま比較しても問題がないことになります(その数値が入力できないことは気になりますが)。
お礼
返信が遅れて済みません やはりパソコンの性能上したかたのないことなのですね 大変参考になしました。 ありがとう御座いました。