[[20190615131831]] 『勤務表の普通残業時間、深夜残業時間について』(初心者HN) ページの最後に飛ぶ

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

 

『勤務表の普通残業時間、深夜残業時間について』(初心者HN)

勤務表を作成しているのですが
普通残業時間と深夜残業時間の計算が上手くできずに困っています。

勤務開始 8:00
勤務終了 17:00
休憩時間 1:00
普通残業 18:00〜22:00
深夜残業 22:00〜5:00

A1 勤務開始時間
B1 勤務終了時間
C1 普通残業時間
D1 深夜残業時間

C3=IF(OR(A1="",B1=""),"",IF(B1>TIME(22,,),TIME(5,,),B1-TIME(18,,)))
D4=IF(B1>TIME(22,,),B1-TIME(22,,),0)

C3の式では、終了時間が22:00まででは18:00〜22:00の4:00で合っているのですが、23:00以降の終了時間では5:00になってしまいます。

皆さんのお力をお貸しください。
宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


間違えがありました。

C1=IF(OR(A1="",B1=""),"",IF(B1>TIME(22,,),TIME(5,,),B1-TIME(18,,)))
D1=IF(B1>TIME(22,,),B1-TIME(22,,),0)

になります。
(初心者HN) 2019/06/15(土) 13:36


 >23:00以降の終了時間では5:00になってしまいます。 

 何になればいいんですか?

 多すぎるという事なら、MIN関数で上限を限定できます。

 Min("4:00,多すぎた結果)

(半平太) 2019/06/15(土) 14:51


洋平太さん

終了時間が23:00の場合
普通残業時間4:00
深夜残業時間1:00
としたいです。

分かりにくくてすみません。
(初心者HN) 2019/06/15(土) 14:55


 こう言う問題はほぼ公式化したものがあるので、それを活用した方が間違いが少ないです。

 (1) C1セル =IF(COUNT(A1:B1)<2,"",MAX(0,MIN("22:00",B1+(B1<A1))-MAX("18:00",A1)))
 (2) D1セル =IF(COUNT(A1:B1)<2,"",MAX(0,MIN("5:00",B1+(B1<A1))-A1)+MAX(0,MIN("29:00",B1+(B1<A1))-MAX("22:00",A1)))
                                       ~~~↑~~       ~~~~~~~↑~~~~~~~~
                                       29時から         22時の間
 <結果図>
 行  __A__  __B__  __C__  __D__
  1   8:00  17:00  0:00   0:00 
  2   8:00  22:00  4:00   0:00 
  3   8:00  23:00  4:00   1:00 
  4   8:00   6:00  4:00   7:00 
  5  15:00  6:00   4:00   7:00 
  6   4:00  12:00  0:00   1:00 

(半平太) 2019/06/15(土) 15:12


洋平太さん

私の知識不足でした。
有難う御座いました。
(初心者HN) 2019/06/15(土) 15:23


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.