「教えて!ピックアップ」リリース!

エクセルで勤務時間の計算をしています。
下記図でstartは勤務開始時間、endは勤務終了時間です。
定時が8:00-17:00(休憩1時間)だとして、①定時時間内の勤務時間②定時時間外の勤務時間を計算したいのですが、計算式はどうすればいいでしょうか?
例えばstart 8時 end 22時だとしたら、①8時間②5時間になります。

↓エクセルでこういう表を作りたいです。
start end 定時時間内 定時時間外
8 22 8 5
8 17 8 0

質問者からの補足コメント

  • 補足です。
    start 23時 end32時 とかもあるので、そういう場合も対応できる計算式を教えてください。、
    この場合は①0②9

      補足日時:2022/06/07 13:55

A 回答 (5件)

もう面倒だから素直に引き算でOKでしょ。


ただし日付を含んだ時間にして計算する必要があります。

 "2022/6/8 17:00" - "2022/6/8 13:00"

こんなんでOK。
これなら32時なんて表現もしなくて良い。
休憩時間は、勤務時間内にあるかを判定してからさらに引けば良いでしょう。

・・・

これ、「シリアル値」の考え方を理解していれば難しくないことです。
    • good
    • 0

No3です。



補足をいただきましたけれど・・
>その場合は定時2時間になります。
どうやら、質問の意図を理解していただけない様で・・

「休憩1時間」というのが、
 ① 一般的な 12:00~13:00 のような一律固定時間なのか
 ② 各人ずらして決められた固定時間(=個人で異なる)なのか
 ③ あるいは定時勤務〇時間以上なら休憩1時間というような
  変則的なルール等なのか
という意味です。
①あるいは②なら、定時の計算を「8:00~休憩開始時刻」と「休憩終了時刻~17:00」の二つの時間帯に分けて求め、合計すれば良いでしょう。
③他の場合は、その仕組みに応じた計算をする必要があります。

また、ご質問文からは、入力値が時刻(いわゆるエクセルのシリアル値)なのか、単なる数値なのかもはっきりしないので、式にはなりませんけれど、計算方法のみを以下に紹介しておきます。


勤務時刻のStart、Endを S ~ E (S < E)とした場合に。
この時間帯と、調べたい時間帯 s0 ~ e0 (s0 < e0)とでラップしている時間は、
 =MAX(MIN(E,e0) - MAX(S,s0),0)
を計算することで求めることができます。
(S < E、s0 < e0 が保証されていない場合は、もう少し面倒な計算になります)
それぞれ必要な時間帯に区切ってこの時間を求め、合計することでお求めの計算はできるはずです。

※ 32時以降の入力が存在した場合に、定時扱いなのか時間外扱いなのかもご質問文からは読み取れません。
 また、通常の勤務管理であると仮定するのなら、No1様がご指摘のように、深夜や早朝の時間も必要になるはずと思いますけれど・・・
    • good
    • 0

こんにちは



直接の回答ではありません。

ご質問文からは読み取れないところが・・
例えば、15:00-24:00の勤務だったら、定時は1時間?それとも2時間?
    • good
    • 0
この回答へのお礼

その場合は定時2時間になります。

お礼日時:2022/06/07 15:06

計算は引き算すりゃいいだけ。


①と②を区別する方法は、
END時間が17を超えてるか否か、で
判断すりゃいい。
    • good
    • 0
この回答へのお礼

そのやり方が分からないのです。

お礼日時:2022/06/07 15:09

引き算するだけですよね。


定時勤務が8時間なら、
終業時間から始業時間と昼休み時間を引いて、8時間より超えた分が残業時間ですよね。
その計算式が分からないとゆう質問ですか?
小学一年で習いましたよね?
残業時間計算なら、それだけじゃなくて深夜勤務時間や早朝勤務時間も計算しなくてはいけないと思いますよ。あなたの会社の深夜勤務割増や早朝勤務割増の時間を調べてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング