[[20121024100430]] 『IF関数使用:残業時間の計算』(まろすけ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『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.