• ベストアンサー

時間外勤務の計算方法

17時から翌日の8時までの間の残業時間を普通残業と深夜残業に分けて表示させたいのですが、A2とB2を入力すると自動でC2とD2に表示させることは出来るのでしょうか? 普通残業は17時~22時と翌朝の6時~8時 深夜残業は22時~6時です。    A    B     C       D 1 開始  終了  普通残業  深夜残業 2

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.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)),"")

totoro1956
質問者

お礼

遅くなりましたがありがとうございました。

その他の回答 (4)

  • cockerel
  • ベストアンサー率46% (253/548)
回答No.4

No3です。 C1に、 =IF(HOUR(B1)>8,A1,24-A1) は、 =IF(HOUR(B1)>8,B1-A1,24-A1) の誤りです。

  • cockerel
  • ベストアンサー率46% (253/548)
回答No.3

C1に、 =IF(HOUR(B1)>8,A1,24-A1) D1に、 =IF(HOUR(B1)>8,0,B1) を入力します。 ただし、A1が17時前の通常勤務を含む場合には、もう1つ条件が必要になります。さらに、B1が8時以降の通常勤務を含む場合には、さらに条件を追加する必要があります。 入力誤りを考慮する場合には、さらに慎重なデータの扱いが必要です。つまり、給与計算等に反映させる場合には、あらゆる誤りの可能性からデータの検証を行う必要があります。

totoro1956
質問者

お礼

解りやすい説明ありがとうございました。

noname#204879
noname#204879
回答No.2

例えば、「開始」が 09:00 で、「終了」が翌日の 09:00 の場合は、「終了」はどのように入力するのですか? あるいは、「開始」が 14:00 で、「終了」が翌日の 14:00 の場合は、「終了」はどのように入力するのですか?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

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),"")

totoro1956
質問者

お礼

大変解りやすい説明で助かりました。ありがとうございました。

totoro1956
質問者

補足

教えて頂いた通りやってみたのですが午前6時以降の分が普通残業ではなく深夜残業に含まれてしまいます。最初に質問させていただいたとおり午前6時以降8時までの時間を普通残業に含まれるようにするにはどうしたらよいのでしょうか?

関連するQ&A

専門家に質問してみよう