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

Excelの時間計算関数について。 お世話になります。 時給での給与計算をするのに添付画像のような表を作りました…

Excelの時間計算関数について。 お世話になります。 時給での給与計算をするのに添付画像のような表を作りました。「実働時間」「法定時間内」「法定時間外」までは自力で入力しましたが 「深夜稼働」「深夜残業」で手が止まってしまいました。 ・休日出勤の計算用に=if(D11="休出",~~~~~)を仕込む必要があるかと。。。 ・入力時間は日付が変わっても「25時」でなく「1時」と入力したいです。 添付画像のような表示になるように水色部分 実働時間・法定時間内・法定時間外・深夜稼働・休日出勤・深夜残業の関数、計算式をご教授いただきたく、お願い申し上げます。

補足

拡大表示されないんですね。。。(汗 ご確認ください。。 http://fast-uploader.com/file/7053653205514/

続きを読む

157閲覧

知恵袋ユーザーさん

回答(3件)

  • ベストアンサー

    時刻区分内の勤務時間は次式で返します。 =MAX(0,MIN(退勤時刻,区分終時刻)-MAX(出勤時刻,区分始時刻)) I11:N11に以下の数式をそれぞれ入力し、下方にコピーしましょう。 (セルの表示形式をユーザー定義「h:mm;;」などとして、0値を非表示にします。) =F11+(F11<E11)-E11-G11-H11 =IF(D11="休出",0,MIN("8:00",MAX(0,MIN(F11+(F11<E11),"22:00")-E11-G11))) =IF(D11="休出",0,MAX(0,MIN(F11+(F11<E11),"22:00")-E11-G11-"8:00")) =IF(D11="休出",0,MAX(0,MIN(F11+(F11<E11),"29:00")-MAX(E11,"22:00")-N11-H11)) =IF(D11="休出",I11-N11,0) =IF(D11="休出",MAX(0,F11+(F11<E11)-MAX("22:00",E11)-H11),MAX(0,F11+(F11<E11)-MAX("22:00",E11+G11+"8:00")*SIGN(E11)-H11))

  • 「勤怠」列の最初の文字が"休"だったら、法定時間内などはゼロになればいいのですね。if関数で分岐してもいいですが、(left(D11,1)<>"休") を掛け算してもいいです。休日出勤列は逆に (D11="休出") を掛け算ですね。 日付が変わった時に退勤時刻をタイムリープさせる場合は、24時間以上の勤務が絶対にないと固く誓ってから、真の退勤時刻を 終了+(開始>終了) とします。 たとえば法定時間内は、深夜時間帯から勤務が始まらないと仮定すれば、「出勤から真の退勤時刻と22時の早い方までの時間から休憩を引く。上限は8時間でマイナスにはしない。そして勤怠列は"休"で始まらない」なので、 =(left(D11,1)<>"休")*min("8:00",max(0, min(終了+(開始>終了), "22:00")-開始)) って雰囲気でしょうかね。

    続きを読む
  • もうちょっと大きい画像ちょうだい。

< 質問に関する求人 >

残業(東京都)

この条件の求人をもっと見る

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

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

求人の検索結果を見る

もっと見る

この質問と関連する質問

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

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

    この条件の求人をもっと見る

    Q&A閲覧数ランキング

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

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

    • 1

      続きを見る

    • 2

      続きを見る

    • 3

      続きを見る

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

    他の質問を探す

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

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

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