- ベストアンサー
エクセルで入力した数値が勝手に置き換わります
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
質問とちょっと違うが、「エクセル 誤差」でWEB照会(Googleなど)すれば、演算誤差を中心に、沢山記事が出ます。 http://pc.nikkeibp.co.jp/pc21/special/gosa/eg2.shtml http://www.kentei.ne.jp/quali/column/knowhow/030415.html http://support.microsoft.com/kb/78113/ja http://nadesi.com/wiki/index.php?%C1%C6%C3%E3%2FExcel%2F%B1%E9%BB%BB%B8%ED%BA%B9 http://support.microsoft.com/kb/402554/ja これらを見て、質問者がショックを受けないようにね。 ーー これら深入りする前に、エクセルやその他のことを勉強されることを お勧めする。エクセルの日常の課題解決の利用で他に学ぶことが沢山あるから。
その他の回答 (2)
- okormazd
- ベストアンサー率50% (1224/2412)
そのような例は珍しいものではありません。どんなコンピュータでもどこでもいつでもおこります。現在のコンピュータの宿命です。 といっても始まらないので、もう少し・・・ コンピュータは2進数で計算します。私たちが普段使っているのは10進数です。したがって、コンピュータに計算させるには、10進数を2進数に変換してやらなければいけません。この変換が、いつもぴったりと行くとは限らないのです。誤差が出ます。また、コンピュータの計算結果を私たちにわかるようにするには、2進→10進の変換が必要です。このときも誤差が出ます。 コンピュータを使うときは、これらの誤差が生じることを承知で使わなければなりません。繰り返し計算ではその誤差がどんどんたまります。誤差を生じるのがいやなら、誤差が出ないように工夫する必要があります。工夫によって我慢できる誤差範囲に収めることができるのです。 なお、質問の誤差は、EXCELでの誤差です。他のソフトでも同じ誤差が出るかというとその誤差はそれぞれのソフトによります。 EXCELの精度は10進の桁数で15桁位です。 詳しいことは勉強してください。
お礼
回答ありがとうございます。 バグか何かで対処方法があるのかと思ったのですが、これが正しいのですね。 確かに「63010.0979999999」に置き換わってしまったセルに1000000をかけた場合、「63010.098」と入力したものに1000000をかけた結果が返ってくるのですね。 なので計算結果は正しいのかと思ったのですが、逆に「63010.0979999999」と入力して1000000をかけた場合、正しく算出されないのですね。 とはいえ、誤差だといえば、誤差ですね。 バグ!?対処方法は???と思ったのですが、ちゃんと認識することが大事なのですね。 これからは誤差が生じることを認識して使用いたします。 ありがとうございました。
- cmc32000
- ベストアンサー率41% (103/251)
コンピューターの内部では2進数で処理しているので、それが正しい中身です。 小数点以下の表示を3桁にすれば、希望の表示になります。 ツールバーの.00→.0のボタンを何回か押してみてください。
お礼
回答ありがとうございます。 表示が問題なのではなく、持っている数値が変わってしまうことに弱ってしまいました。 63010.098で計算処理をしたいのに、63010.0979999999 で計算処理をされると困ると・・ バグか何かで対処方法があるのかと思ったのですが、これが正しいのですね。 納得しました。ありがとうございました。
関連するQ&A
- エクセルでの数値入力で
こんにちは。 エクセルで数値を入力する場合に,その入力したセルの表示を条件によって小数点以下の桁数を変えたいのです。 例えば,入力セルがB4だとし,B4に 12.8 を入力したとき, A1が1のときはB4の表示は 12.80 (小数点以下2桁まで表示) A1が2のときはB4の表示は 12.8 (小数点以下1桁まで表示) としたいのです。直接入力するセルの表示なので,関数は使えず,条件付書式では,表示形式が使えません。 また,マクロは使わずにやりたいのです。ワークシートは,エクセルにも不慣れな初心者が入力することを想定して作っています。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで関数が無効
会社から家に添付メールしたエクセルBOOKを更新しようとしています。 複数sheetあるのですが、そのうちの1つが関数が効いていません。 例えば、=IF(B30="2","b","x") と入力するとそのままが表示されます。また、日付を 12/3 と入力すると、見かけの表示は 38689 となりますが、そのセルへカーソルを合わせると数式バーには 2005/12/3 と表示されます。この現象は、他のsheetでは起きません。 エクセルbookは会社で excel2000 にて作成。家は、excel2002です。 表示形式は、なぜか ユーザー定義 になっています。 関数が効いているsheetは 作成時のまま 標準 となっています。 (関数が効いているsheetには、保護 をかけてあります) 以上の情報だけで対処方法が分かるでしょうか? 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel時間の入力方法
Excel2013です。 38時間15分を入力するのに、38:15と入力すると セルには38:15:00と表示され、数式バーには 1900/1/1 14:15:00 と表示されています。 38:15:00と表示されたセルの「書式設定」→「h:mm」を選択すると セルの38:15:00が14:15に変わります。数式バーの1900/1/1 14:15:00 はそのままです。 時間の38:15を入力する方法はどうすればいいでしょうか? Windows8.1です。
- ベストアンサー
- Excel(エクセル)
- excelで関数が入力できないのですが・・・
質問があるんですが、excel2003でセルに関数を入力しようとしたら 「入力した数式は正しくありません」って表示が出て 関数が入力できません。ただし、シートのすぐ上にあるfx(関数の挿入) からだと入力できます。数式自体は間違ってないのになぜなんでしょうか? 2000だったら入力できるんですが・・・ しょうがないので今は、openofficeってソフトにある表計算を 使っているんですが、それも入力できます。 excel2003だけ入力できないのはなぜ!?
- 締切済み
- オフィス系ソフト
- エクセルで自動入力されちゃう
自分で作ったデータなのですが,ある名簿を作成するに当り, フルネームのセルを通常入力で入れ,姓と名や,同姓が居たら名の1文字目を()して付けるなどの列もあり,それらはすべて関数で導き出しています。 今は1400レコードを超えているのですが,いつからか,名前を入れると,姓や名が自動的に表示されるようになりました。 自分で細工したのかと思うのですが,すぐ一行下のセルをクリックして 数式バーで確認しても関数が入っているわけでもなく, 入力規則が設定されているわけでもなく, 条件付き書式が設定されているわけでもなく, マクロが組まれているわけでもなく... 自分で作ったデータなのですが,わかりません。 エクセルが賢くなって,しばらく上の行に続いた関数をそのまま引き継いでくれているかとも思うのですが, 同じ行数続く,ある関数(関数として8個目=8列目)は自動入力されません。 何かご存知の方,またはこんな設定をしたのでは?ということがわかれば教えて下さい。 便利なのですが,書式は引き継がれないし,気持ち悪くて,結局上の行の数式をコピーしています。
- ベストアンサー
- オフィス系ソフト
- Excelの条件付き書式で、数式と数値を区別する方法
Excelの条件付き書式の使い方を教えてください。 ちょっとややこしめの表があって、数式や関数がちりばめられています。 この表は、毎月、数値を変えて使いたいのですが、 数値が入っているセルと、数式が入っているセルが混在していて、 どこに値を入力すればいいのか、いまいちつかみにくいのです。 数値のセルだけ色をつけ、入力するところのみを際立たせたいのですが、 条件付き書式でできないでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelの数値の桁数が増えてしまいます。
こんにちは。Excel2000を使用しています。新規のブックのセルに「34819.7389」と入力するとセル上での表示は変わらないのですが、数式バーには入力されている数値が「34819.7388999999」となってしまいます。他のパソコンでもそのようになるようなので、何か設定を変更したとは思えません。 どうしてこのような現象が発生するのでしょうか?よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ExcelからCSV出力して読込むと削除変換される
Excelのブック1のシートに入力されたデータを 一度、CSVファイルに出力して このCSVファイルを別のツール(perlなど)で変換して この変換されたCSVファイルを再び 別のExcelのブック2のシートに読み込ませたいのですが Excelのブック1から出力したCSVファイルを 別のツールで変換しなくてもそのまま Excelのブック2のシートに読み込ませた時点で 文字の一部が消えたり数式が値になったりしてしまっています。 具体的には、 セルの先頭の ' (シングルクォーテーション) が消えてしまったり、 1つ足りなくなったりしています。また、 先頭の =1+1 などは、(表示上) 2になったりしてしまっています。 なお、セルの書式設定が標準だと、先頭の @ の後に続けて入力すると 正しく入力できませんが、セルの書式設定を文字列にすると、 この @ の問題は起きなくなりました。でも、セルの書式設定を文字列にしても ' (シングルクォーテーション) や数式が計算結果になる問題は 解決していません。 (問1) 削除されたり変換されてしまうのは ・先頭の ' (シングルクォーテーション) ・先頭の = ・先頭の @ の3つのケースだけでしょうか。 このほかにもありましたら教えてください。 (問2) 先頭の =1+1 の場合ですが セルの書式設定が標準の状態で =1+1 と入力すると 数式バーには =1+1 と表示されていて セルの書式設定が標準だと2と表示されていてその後 セルの書式設定を文字列にしても2と表示されています。 逆に、 セルの書式設定が文字列の状態で =1+1 と入力すると 数式バーには =1+1 と表示されていて セルの書式設定が文字列だと =1+1 と表示されていてその後 セルの書式設定を標準にしても =1+1 と表示されています。 いずれも入力したデータは同じなのに 入力時点での表示形式で表示内容が固定されてしまっていて その後、表示形式を変更しても表示内容が反映されていない ように感じるのですが何が起きているのでしょうか。 (問3) 前述の理由により、CSVファイルをセルの書式設定が文字列 の状態で読み込ませることはできるのでしょうか。 (後でセルの書式設定を文字列に変更しても =1+1 と表示されないので) (問4) Excelのブック1のシートのセルには ユーザーが好き勝手な文字や数値や記号を入力します。 何を入力されても変化してしまわないようにすることはできるでしょうか。 ( 頭に ' を付けることをユーザーに強要するとか、 事前にセルの頭に ' を入力しておくなどはなしです) (問5) もし、できない場合、Excelのブック1のシートの各セルの先頭に ' (シングルクォーテーション) や = から始まる数式を 入力することができないように制限をかけることはできるのでしょうか。 よろしくお願いします。(Windows7,Excel2010)
- 締切済み
- Excel(エクセル)
- Excelの条件付き書式、直接入力と参照した数値は違う?
Excelの条件付き書式、直接入力と参照した数値は違う? Sheet1のA1セルの数値を Sheet2のA1セルが「=IF(Sheet1!A1="","",Sheet1!A1)」という数式で参照しています。 数値に、「%以上」という文字列を追加したいので、 Sheet2のA1セルの書式設定を、ユーザー定義で「0"%""以""上"」としています。 Sheet1のA1セルに数値を入力 → Sheet2のA1セルが参照 → ユーザー定義で「○%以上」と表示させる。 ・・・ここまでは簡単にできました。 さらに、数値が表示されたときにセルの色を赤くしようと、 条件付き書式で、 「セルの値が 次の値以上 0」 と設定したのですが、入力が無くても赤いままになってしまいます。 設定を、 「セルの値が 次の値以上 ="0"」とか、 「セルの値が 次の値より大きい 0」とか、 いろいろとやってみましたがどうしてもうまくいきません。 参照ではなく、セルに直接入力するのであればこれでうまくいっていましたので、簡単に出来るものだと思っていたのですが、 これはたぶん、私が根本的なことをわかっていないのだと思います。 ご教授頂けましたら助かります。
- ベストアンサー
- その他MS Office製品
お礼
お礼が遅くなり、すみません。 バグ!?って思ってしまったので、”誤差”という言葉が浮かびませんでした。 仕様(とまでは言わないのかもしれませんが…)なのですね。 これからは、これらのことを認識して使用していきたいと思います。 参考になりました。 ありがとうございます。