アカウント名:
パスワード:
そういや前の会社の経理さんはいつもでっかい電卓で検算してました。
Excelファイルでで元ネタが供給されるから、使わざるを得ないけどもうイヤだっていつもぼやいてたのを思い出した。
Excelでの数値計算ってそういうレベルなの?
#学生の頃は1-2-3使ってたっけ。
こんな解説 [nikkeibp.co.jp]があります。
いいえ、単にそんなことでは説明できない意味不明の問題 [mie-u.ac.jp]があるだけです。というかどんなこじつけでも説明できればいいという問題ではありません。どういうアルゴリズムで端数処理をしているのかが明確でなければ、演算誤差を見込んで処理すること自体ができません。
に関して、問題の核心はあなたの提示したリンク先にありますか?
リンク先の問題に関しては、仕様が明らかではなく、勝手に端数処理をするというところが問題なわけですが、そもそも、精度ぎりぎりの演算をさせている時点で、ユーザ側にも問題があるように思います。たとえ、Fortranであっても、そのような精度が期待できないような演算をさせること自体、問題だと思いますし、避けなければいけません。科学計算の専門家ならね。
ただ、会計の場合でも、はまるところはあります。
そうですねぇ。学校で実験ばっかしてたときは、ひつこいくらいに有効桁数と単位系を確認してたけど会社に入るとその辺がめちゃくちゃイイカゲンで呆れてたっけ。今はもう慣れてしまって水は低きに流れる物だと体感。
金額がかかわる処理をExcelで行う場合に、端数処理を「表示形式」で行うケースなんてあるんですか。その場合はROUND関数とかをはさむのが普通では。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
計算結果 (スコア:5, すばらしい洞察)
Re:計算結果 (スコア:1)
そういや前の会社の経理さんはいつもでっかい電卓で検算してました。
Excelファイルでで元ネタが供給されるから、使わざるを得ないけどもうイヤだっていつもぼやいてたのを思い出した。
Excelでの数値計算ってそういうレベルなの?
#学生の頃は1-2-3使ってたっけ。
Re:計算結果 (スコア:1, 参考になる)
こんな解説 [nikkeibp.co.jp]があります。
Re:計算結果 (スコア:1, 参考になる)
---
計(円)
---
100
100
100
200
300
---
802
---
のように、表示や印字が会計上、正しくないことが起こりえます。表示や印字だけを見ると、端数がありませんが、書式次第で、端数がある可能性があります。たとえば、実際にセルにある数値や数式の計算結果が、それぞれ、100.4、100.4、100.4、200.4、300.4であり、小数点以下を表示しない書式になっていた場合は、上記のようになります。
そのような間違いを防ぐためには、検算をすることであり、数字を読み、電卓で打ち、計算結果を比較すると言うのは、最も確実な方法です。1桁打ち間違えたのも検出できますし。
Excelの計算が正しくないと騒ぐ奴ほど、問題の核心を捉えていないような気がする。
Re:計算結果 (スコア:1, 興味深い)
いいえ、単にそんなことでは説明できない意味不明の問題 [mie-u.ac.jp]があるだけです。
というかどんなこじつけでも説明できればいいという問題ではありません。どういうアルゴリズムで端数処理をしているのかが明確でなければ、演算誤差を見込んで処理すること自体ができません。
Re: (スコア:0)
に関して、問題の核心はあなたの提示したリンク先にありますか?
リンク先の問題に関しては、仕様が明らかではなく、勝手に端数処理をするというところが問題なわけですが、そもそも、精度ぎりぎりの演算をさせている時点で、ユーザ側にも問題があるように思います。たとえ、Fortranであっても、そのような精度が期待できないような演算をさせること自体、問題だと思いますし、避けなければいけません。科学計算の専門家ならね。
ただ、会計の場合でも、はまるところはあります。
Re:計算結果 (スコア:1)
そうですねぇ。
学校で実験ばっかしてたときは、ひつこいくらいに有効桁数と単位系を確認してたけど会社に入るとその辺がめちゃくちゃイイカゲンで呆れてたっけ。
今はもう慣れてしまって水は低きに流れる物だと体感。
Re: (スコア:0)
金額がかかわる処理をExcelで行う場合に、端数処理を「表示形式」で行うケースなんてあるんですか。
その場合はROUND関数とかをはさむのが普通では。
Re:計算結果 (スコア:1, 参考になる)
その他、範囲指定が間違っていたり、不可視の行があったり、不可視の様で不可視でなかったりと、落とし穴がいろいろあるわけで、そういったものを目視で全てチェックするとなると、見落としが生じます。
余談ですが、Excelのシート関数のRound()は学校で習った四捨五入、VBAのRound()はISO式の丸めです。ISO式の場合、ちょうど中間の数字は末尾が偶数になるように丸められます。(例:1.5→2、2.5→2、3.5→4)
Re: (スコア:0)
書式に頼っちゃいけないことを知っているかどうかの問題ではないでしょうか。
ROUNDなんて普段意識しない人が作ったシートなら書式で解決されちゃいますし、
そのシートがお客さんから指定されたものであれば尚更です。
# 結構払いすぎてたんだろうなぁ
# てかほんと、何で今まで誰も気付かなかったんだろう……
Re: (スコア:0)
それはあなたの普通です。世の中にはマネジャーレベルの普通とか犯罪者の普通とか酔っ払いの普通とかいろいろあるんですよ