こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル2003で勤務時間計算をしたいのですが、

エクセル2003で勤務時間計算をしたいのですが、
現状は下記のように、H列の計算式が30分単位なのですが、
5分単位で給与計算して、小数点以下を切り捨てするには、
H列の計算式のどこを訂正するとよろしいでしょうか?


■現状(時給880円の場合)
C列     D列     E列     F列     H列
始業時刻  終業時刻  休憩時間  実働時間  日給
10:00    17:30     0:45    6:45     5720円

H列の計算式
=IF(OR(C9="",D9=""),"",G9*HOUR(F9)+IF(AND(MINUTE(F9)>=0,MINUTE(F9)<=29),0,IF(AND(MINUTE(F9)>29,MINUTE(F9)<=59),G9/2,G9)))

投稿日時 - 2010-10-27 18:59:36

QNo.6279348

すぐに回答ほしいです

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

次の式でできるかと思います。
ご確認ください。
 
=IF(OR(C9="",D9=""),"",INT(G9*(HOUR(F9)+(ROUNDDOWN(MINUTE(F9)/5,0)/12))))

投稿日時 - 2010-10-27 19:53:48

お礼

お礼が遅くなり申し訳ございませんでした。
jcctaira様のご教示くださいました式で、イメージ通りの結果になりました。
誠にありがとうございました。

投稿日時 - 2010-11-11 20:11:21

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

G列を特に作る必要もないと思いましがG列には5分単位の実働時間を表示させるのでしたら次のような式になるでしょう。セルの表示形式は時刻にします。

=IF(COUNT(C9:D9)<>2,"",FLOOR(F6,"0:05"))

H列の式は次の式でセルの表示形式は標準にします。

=IF(G9="","",ROUNDDOWN(G6*24*880,0))

G列のない場合には次の式でよいでしょう。セルの表示形式は標準にします。

=IF(COUNT(C9:D9)<>2,"",ROUNDDOWN(FLOOR(F6,"0:05")*24*880,0))

投稿日時 - 2010-10-28 09:15:38

お礼

お礼が遅くなり申し訳ございませんでした。
おかげ様でイメージ通りの結果になりました。
誠にありがとうございました。

投稿日時 - 2010-11-11 20:12:15

ANo.2

まず、F列の実働時間計算でFLOOR関数を用いて5分切捨てします。
F9 =FLOOR(D9-C9-E9,"0:05")

するとH列の金額計算式はつぎのように簡単になります。
H9 =IF(OR(C9="",D9=""),"",F9*G9*24)

注:*24はそれまでの計算単位が「日」のため、これを時間に直すためです。

投稿日時 - 2010-10-27 20:19:39

お礼

お礼が遅くなり申し訳ございませんでした。
おかげ様でイメージ通りの結果になりました。
誠にありがとうございました。

投稿日時 - 2010-11-11 20:12:01

あなたにオススメの質問