Title | Round関数で四捨五入できない?!:Excel エクセルの使い方-マクロ/VBA |
---|---|
http://www.relief.jp/itnote/archives/003535.php | |
Home | インストラクターのネタ帳 |
http://www.relief.jp/itnote/ |
四捨五入については、VBA(Visual Basic for Applications)を利用してらっしゃるレベルの方からご質問をいただくこともあります。
VBAで四捨五入をするにはどうしたらいいのでしょうか? といったご質問です。
「そんなのRound関数でしょ!」と思ったVBAユーザーの方、それは本当ですか? VBAのRound関数の仕様をちゃんと確認しましたか?
VBAの「Round(2.5,0)」の結果を「3」だと思ってらっしゃいませんか?
上の答えは「2」です。
現役の頃はステンレス鋼板の品質を管理する業務をしていた。「JIS G4310 ステンレス鋼板及び耐熱鋼板質量算出方法」には、次のように載っていたと記憶している。(不正確)
幅と長さを掛け、有効数字4桁に丸める。
両者を掛け合わせ、有効数字3桁に丸める。
要するに計算結果を「四捨五入する」という表現はありませんでした。「四捨五入」と「丸める」を使い分けていました。
「丸め方」は JIS Z8401 に載っていたと記憶しています。これが上記の答えにつながっています。