解決済み
エクセルでの給与計算で、始業と終業と休憩時間を入れると 通常時間05:00~22:00の間で最大8時間(A) 残業時間05:00~22:00の間で8時間を超えるもの(B)深夜時間22:00~05:00の間で(A)の8時間に満たない(C) 深夜残業時間22:00~05:00の間で8時間を超えたもの(D) に自動的に割り振られる式を求めています。 勤務形態がバラバラで全てに対応したいのです。 例1) 22時~32時 休憩1(24時~25時) A=2 B=1 C=6 D=0 ※この場合のA=2は、29:00~31:00です。 例2) 08時~14時 休憩1(12時~13時) A=5 B=0 C=0 D=0 例3) 08時~20時 休憩2(12時~13時・17時~18時) A=8 B=3 C=0 D=0 例4) 08時~26時 休憩3(12時~13時・17時~18時・24時~25時) A=8 B=4 C=0 D=3 等々です。 基本的に休憩は 12時~13時 17時~18時 24時~25時 です。 よろしくお願いします。
すいません。例3)は間違いです。 kkyy5223さんに教えて頂いた通りにやってみた所、ほぼ全てのパターンにハマりました。 ただ、一点だけハマらない所があります。 理屈は分からないのですが 19時〜26時と入れた時に A=0 B=0 C=4 D=0となり 休憩無しの場合は正しいのですが、そこに休憩③を1と入れてもC=4からC=3に変化しません。 逆に19時〜29時と入れた時 A=3 B=0 C=5 D=2 となり、この時に休憩③に休憩1を入れると D=2からD=1に正常に変化します。 そこの部分だけ再度ご指導頂きたいです。
132閲覧
休憩は入力にして下さい。 F2 =IF(COUNT(A2,B2)<2,"",MAX(0,MIN("8:00",MIN("22:00",B2)-MAX("5:00",A2)-C2-D2+MAX(0,B2-MAX("29:00",A2)-E2)))) G2 =IF(COUNT(A2,B2)<2,"",MAX(0,MIN("22:00",B2)-MAX("5:00",A2)-C2-D2)+MAX(0,B2-MAX("29:00",A2))-F2) H2 =IF(COUNT(A2:B2)<2,"",MAX(0,MIN("8:00"-F2,MIN(B2,"29:00")-MAX(A2,"22:00")))) I2 =IF(COUNT(A2:B2)<2,"",MAX(0,B2-A2-SUM(C2:E2)-SUM(F2:H2))) 例3) 08時~20時 休憩2(12時~13時・17時~18時) ですが A=8 B=2 C=0 D=0 ではないですか?
< 質問に関する求人 >
求人の検索結果を見る
< 平日勤務で週末はリフレッシュしたい人におすすめ >
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
求人の検索結果を見る