解決済み
会社の勤怠がエクセルの関数で作られています。 その中で、終了時間が22時より早ければ、終了時間から18をひくという式があるのですが、この18はなんのためなのでしょうか。一般的な計算式なのか独自のものなのかもわかりません。 作った人は退職していて、不具合がでているので直さなくてはいけないのですが、わからないです。
45閲覧
18時から22時の間を「通常残業」としてるのでは。すっきりした数式が書けなくていろいろ条件を考えながらif関数の山で分岐して引き算していくのは、あっちこっちで見かけますよ。 時間計算の基本「出勤から退勤までのうち時刻1から時刻2の間に該当する時間」は、「退勤と時刻2の早い方から出勤と時刻1の遅い方を引き算、ただしマイナスにはしない」と考えて =max(0, min(退勤*1, 時刻2)-max(出勤, 時刻1)) と書きます。18時から22時でも22時から29時でも数式の形は同じ。退勤してない日は自動的に0時間になります。表示形式は[h]:mm;;としましょう。ゼロは綺麗さっぱり消えます。
例えばB2セルから下方に出勤時刻、C2セルから下方に退勤時刻を入力して18時以降で22時までの超勤時間を計算するのでしたらD2に入力する式は通常の計算では次の式になりますね。 =MAX(0,MIN(C2,"22:00")-MAX(B2,"18:00")) セルの表示形式は時刻から好みの表示に変えます。 しかしながら時刻を数字として入力する人がいます。例えばB2セルに9時ならば9、C2セルが23時ならば23のように通常の時刻表示とは違った入力をしているケースが有ります。あまりお勧めではありませんがその場合のD2の式は次のようになりますね。 =MAX(0,MIN(C2,22)-MAX(B2,18)) その場合のセルの表示形式は「標準」にします。 上のケースでは時給1000円なら超勤手当は単なる掛け算で =D2*1000となります。 時刻表示の最初に紹介したケースでは次の式になります。 =D2*24*1000 時刻を単なる数値として上のように扱う場合には1時50分は数値の入力ではどうなるかいちいち考えることが必要になりますね。その分負担になり誤りも多くなることでしょう。1:50のように入力するのが常道のように思いますね。 参考にしてください。
深夜時間ではない実働時間を計算しているのでは? あなたの終業時間18時で、18時以降は残業なのでは?
< 質問に関する求人 >
残業(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る