• ベストアンサー

時間計算から時給計算の誤差

素人で、調べながらやっているのですが、どうしてもわからないので、質問させて下さい。 日々の実労働時間を、始業時間(E)と、就業時間(F)より導き、 7日間間隔でSUMを利用して週計実労働時間(H)を表示させています。 (H)をもとに、週40時間以内は(I)に表示し、超過分は(J)に表示するように導いています。 IとJをさらにSUMを利用してそれぞれ月計をだしています。 月計I×時給(F16)=基本給 月計J×時給(F17)=時間外手当 で月額給与を導いています。 基本給、時間外手当の計算結果に小数点以下が発生する場合 切り上げ表示を行いたく、基本給を求めるセルに ROUNDUP(J1*F16,0)を入力しました。 手で計算すると4,462.5円になるのですが、 上記の式ですと、4464円となり、2円きり上がってしまいました。 4,463円になるようにするには、どういった式をいれるといいのでしょうか? わかりにくい文章ですみません。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#52504
noname#52504
回答No.3

やはり ・J1セルに表示されている「見た目の値」 ・J1セルに入っている「実際の値」 のずれが直接の原因だと思われます。 Excelの値は、見た目通りに入っているとは限りません。 また、書式の[表示形式]で表示桁数を指定した場合、値は【四捨五入】で調整されます。 例えば、 ・時給:1050円 ・時間:4.251時間 ・時間は小数2桁まで表示させている 場合、 「見た目の値」は小数第3位が【四捨五入】されるので、4.25と表示されます。 「見た目の値」で手計算すると、4.25*1050=4462.5となり、切り上げると4463です。 一方、 数式は通常「実際の値」で計算するので、4.251*1050=4463.55 となり、切り上げると4464です。 「見た目の値」に計算を揃えるのであれば、 Jの値について適切な桁数で【切り上げではなく四捨五入】する必要があります。 例えば、J1を小数第二位まで表示させているのであれば、  =ROUNDUP(ROUND(J1,2)*F16,0) など。 ただし、既に見たように、丸め計算は、桁数だけでなく、 「どのように丸めるか」「どの時点で丸めるか」で結果が変わりますから、 規則上どのように処理すべきなのか、一度きちんと確認された方が良いと思います。 以上ご参考まで。

mimi557788
質問者

お礼

とてもわかりやすいご説明ありがとうございます。 エクセルは本当奥が深いというか、難しいですね^^; なんとか出来るようになりました。 ありがとうございました。

その他の回答 (2)

  • suz83238
  • ベストアンサー率30% (197/656)
回答No.2

ROUNDUP(J1*F16,0)を計算させているとき、J1かF16のどちらかに小数が入っているため誤差が発生しているのではないかと思います。J1とF16についてそれぞれ数値を表示してみて下さい。(セルでみると小数点以下を表示してないかもしれないので)

mimi557788
質問者

お礼

早々のご回答ありがとうございます。 J1に小数点以下が発生しています。 ですが、こちらを切り上げにするとまた同じように多くなってしまいます。(>_<)

  • tama1978
  • ベストアンサー率24% (57/237)
回答No.1

超過分(J)の計算で小数点の誤差がでているのでは? 超過分(J)もROUNDUPで制御してみてはどうでしょうか。

mimi557788
質問者

お礼

早々のご回答ありがとうございます。 (J)もROUNDUPすると、多くなってしまいます(;;) エクセルって難しいですね(>_<)