[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『IF関数使用:残業時間の計算』(まろすけ)
Excel2010を使用しています。
どうしてもうまくいかない箇所があるので教えてください。
残業時間の計算です。
条件は、
●定時は17:00
●17:20以上には残業をつける(17:20なら残業20分)
●17:20未満は残業をつけない(17:19なら残業0分)
●5分単位で切り捨てる(17:23なら残業20分)
私なりに、下記まではこじつきました。
B列 C列 D列 E列
定時 退勤 残業 給与計算に反映される残業時間
17:00 17:19 0:19 0:00
17:21 17:21 0:21 0:20
D列は C-B の計算式を入れています。
E列は例えば4行目なら =IF(D4>=TIMEVALUE("0:20"),FLOOR(D4,"0:05"),"0:00")
としています。
問題なのは、退勤が17:20の時です。
17:00 17:20 0:20 0:00
となってしまうのです。
この場合、E列には 0:20 と表示されるようにしたいのですが、
どうしても 0:00 となってしまいます。
E列の計算式のどこを直せばいいのでしょうか?
そもそも計算式が間違っているのでしょうか?
わかる方、お手数ですがお返事いただければ幸いです。
よろしくお願いいたします。
小数演算誤差の関係です。
D列の数式をこの様に変更してください。 ↓ D2セル =TEXT(C2-B2,"h:m")*1
(半平太) 2012/10/24 10:49
解決しました。
半平太さん、どうもありがとうございました。
まろすけ
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.