教えて!しごとの先生
教えて!しごとの先生
  • 解決済み

エクセルでの給与計算で、始業と終業と休憩時間を入れると 通常時間05:00~22:00の間で最大8時間(A) 残業時…

エクセルでの給与計算で、始業と終業と休憩時間を入れると 通常時間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閲覧

回答(1件)

  • ベストアンサー

    休憩は入力にして下さい。 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 ではないですか?

この質問を見ている人におすすめの求人

< 質問に関する求人 >

残業(東京都)

求人の検索結果を見る

< 平日勤務で週末はリフレッシュしたい人におすすめ >

正社員×土日祝休み(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

    < いつもと違うしごとも見てみませんか? >

    覆面調査に関する求人(東京都)

    求人の検索結果を見る

    Q&A閲覧数ランキング

    カテゴリ: 労働条件、給与、残業

    転職エージェント求人数ランキング

    あわせて読みたい
    スタンバイプラスロゴ

    他の質問を探す

    答えが見つからない場合は、質問してみよう!

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

    スタンバイ アプリでカンタン あなたにあった仕事見つかる