- ベストアンサー
時間外勤務の計算方法
17時から翌日の8時までの間の残業時間を普通残業と深夜残業に分けて表示させたいのですが、A2とB2を入力すると自動でC2とD2に表示させることは出来るのでしょうか? 普通残業は17時~22時と翌朝の6時~8時 深夜残業は22時~6時です。 A B C D 1 開始 終了 普通残業 深夜残業 2
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#1のmshr1962です。すみません。午前中の残業(早出)が抜けてましたね。 >午前6時以降8時までの時間を普通残業に含まれるようにするにはどうしたらよいのでしょうか? C2=IF(OR(A2,B2),MAX(17/24,MIN(22/24,B2))-MIN(22/24,MAX(17/24,A2))+MAX(6/24,MIN(8/24,B2))-MIN(8/24,MAX(6/24,A2)),"")
その他の回答 (4)
- cockerel
- ベストアンサー率46% (253/548)
No3です。 C1に、 =IF(HOUR(B1)>8,A1,24-A1) は、 =IF(HOUR(B1)>8,B1-A1,24-A1) の誤りです。
- cockerel
- ベストアンサー率46% (253/548)
C1に、 =IF(HOUR(B1)>8,A1,24-A1) D1に、 =IF(HOUR(B1)>8,0,B1) を入力します。 ただし、A1が17時前の通常勤務を含む場合には、もう1つ条件が必要になります。さらに、B1が8時以降の通常勤務を含む場合には、さらに条件を追加する必要があります。 入力誤りを考慮する場合には、さらに慎重なデータの扱いが必要です。つまり、給与計算等に反映させる場合には、あらゆる誤りの可能性からデータの検証を行う必要があります。
お礼
解りやすい説明ありがとうございました。
例えば、「開始」が 09:00 で、「終了」が翌日の 09:00 の場合は、「終了」はどのように入力するのですか? あるいは、「開始」が 14:00 で、「終了」が翌日の 14:00 の場合は、「終了」はどのように入力するのですか?
- mshr1962
- ベストアンサー率39% (7417/18945)
AB列の表示形式をユーザー定義にして [hh]:mm として 深夜零時は24:00、翌8時は32:00と入力するなら C2=IF(OR(A2,B2),MAX(17/24,MIN(22/24,B2))-MIN(22/24,MAX(17/24,A2)),"") D2=IF(OR(A2,B2),MAX(22/24,B2)-MAX(22/24,A1),"")
お礼
大変解りやすい説明で助かりました。ありがとうございました。
補足
教えて頂いた通りやってみたのですが午前6時以降の分が普通残業ではなく深夜残業に含まれてしまいます。最初に質問させていただいたとおり午前6時以降8時までの時間を普通残業に含まれるようにするにはどうしたらよいのでしょうか?
お礼
遅くなりましたがありがとうございました。