エクセル勤務表で昼休憩を挟んだ場合の休憩算出方法

このQ&Aのポイント
  • エクセルで勤務表を作成中のあなた。労働時間に応じた休憩時間は自動算出できていますが、お昼休憩を挟んだ場合の休憩時間に困っています。
  • 例えば、勤務時間が9時~15時の場合、休憩30分しか算出されず、問題ですよね?計算式の微調整で、お昼休憩を挟んだ場合でも適切な休憩時間を算出できるようにしたいです。
  • エクセルの勤務表を使って正確な時間管理を目指しているあなたへ。計算式を調整してお昼休憩を挟んだ場合の適切な休憩時間を算出する方法を教えます。
回答を見る
  • ベストアンサー

エクセル勤務表で昼休憩を挟んだ時の休憩算出方法

エクセルで添付のような勤務表を作成しています。 労働時間(表中・小計)に応じた休憩時間は自動算出出来るようになったのですが、まだ課題がありまして… それは、お昼休憩を挟んだ時の休憩時間についてです。 うちでは、お昼を挟むと、勤務時間に関係なく1時間の休憩になります。(お昼休憩) 例えば、9時~18時だと、小計9時間・休憩1時間(8時間以上なので)・実労働(表中・合計)時間8時間となるので大丈夫なのですが。 9時~15時の勤務だと、小計6時間・休憩30分・実働5時間30分になってしまいます。 これを、小計6時間・休憩1時間・実働5時間になるように計算させたいのです。 表中の各計算式は以下です。 C8→勤務開始を入力 D8→勤務終了を入力 D8の小計→=IF(D8<C8,1+D8-C8,D8-C8) F8の休憩→=IF(E8<"4:00"*1,0,IF(E8<"6:00"*1,10,IF(E8<"7:00"*1,30,IF(E8<"8:00"*1,40,60))))/24/60 G8の合計→=E8-F8 です。 アドバイスよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#194317
noname#194317
回答No.1

であれば、F列のIF関数の最初に次の条件を追加すればいけるのでは? 「業務開始時間が12時より前かつ、勤務終了時間が13時より後ろだったら、休憩時間は1.0hとする」 =IF(AND(C8<"12:00",D8>"13:00"),1,IF(E8<"4:00"*1,0,IF(E8<"6:00"*1,10,IF(E8<"7:00"*1,30,IF(E8<"8:00"*1,40,60))))/24/60)

akesaka
質問者

お礼

エクセルの使用環境がありましたので検証してまいりました。 その結果…どうにもうまく行きませんでした(涙) 丸々コピーしたので打ちミスはないと思います。また、一応抜け?などが無いかも見たのですが分からず… 書式設定の変更などをすれば解決するでしょか? 具体的には、9時~15時と打っても、今までと同じく30分間の休憩のみとなってしまいます。 補足を使用してしまったのでお礼欄への記入で失礼いたします。 他に、方法やアドバイス等ありましたら、引き続きよろしくお願い致します。 siremonoさま、ヒントとなる回答、ありがとうございました!

akesaka
質問者

補足

先ずはご回答ありがとうございます。 こ、これです!この条件をどう入力すれば良いのか、また「○時間」以上の「時:分」と「○時○分」の「時:分」が両立してくれるものか悩んでしまって行き詰っておりました。 私の探していたイメージぴったりの式で、どう条件設定をすれば良いか勉強になりました。 イメージぴったりという事で、この式でやってみてOKだったら質問を締め切ろうかとも思ったのですが、他の角度からのアプローチもあり、今後の参考・勉強のためにもご回答くださった皆様の式を試したいと思っております。 お礼が遅くなってしまいますが、今エクセルソフトが手元にないため、お礼とベストアンサーについては色々な検証が終わり、疑問が解決(課題クリア)しましたら改めて書かせて頂きますのでよろしくお願いします。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

小計の計算の式から判断すると深夜12時を過ぎた時間は0:30のように入力するようになっていますが休憩時間の計算式が複雑になりますので24:30のように入力するとします。そこでF8セルへは次の式を入力します。 =IF(MIN("13:00",D8)>MAX("12:00",C8),MIN("13:00",D8)-MAX("12:00",C8),0)+IF(D8>"13:00"*1,IF(D8-MAX("13:00",C8)<"4:00"*1,0,IF(D8-MAX("13:00",C8)<"6:00"*1,"0:10",IF(D8-MAX("13:00",C8)<"7:00"*1,"0:30",IF(D8-MAX("13:00",C8)<"8:00"*1,"0:40","1:00"))))) この式では午前中からの13時過ぎまで働いた場合には12時から13時まで休憩の時間を取っていますので、13時以降の時間について働いた時間を計算して休憩時間を計算するようにしています。なお、12時30分から勤務が始まっている場合には13時までは休憩時間にしています。 例えば12:30に勤務が始まって20:00に終了した場合には13時以降の勤務が7時間となることから40分の休憩と昼の時間の30分がプラスされて合計の休憩時間は1時間10分となります。

akesaka
質問者

補足

先ずはご回答ありがとうございます。 えぇと、せっかく素晴らしい回答くださったのに…こちらの説明不足でちょっと実用的では無くなってしまいました(汗) 実は、この勤務表、夜勤の計算にも使用しております。 (夜勤は日勤でいうお昼休憩という概念はなく、一律1時間です。全日8時間以上なため。) また以前は、翌9時などを33時と打っており、この脳内変換作業がミスの元になったので、入力方法を現在の形にしたという経緯があります。(0時ちょっと過ぎくらいが多いなら24時で対応出来たのですが、大抵は朝の時間帯が勤務終了時間なので…。タイムカードには9時と印字されるので、うっかりそのまま打つ…とか。) 式の解説を読むと「おぉ!」と声をあげるくらい取り入れたいと思った式なのですが、本当に申し訳ありません。 私事ですが、今エクセルソフトが手元にないため、お礼とベストアンサーについては検証が終わり、疑問が解決(課題クリア)しましたら改めて書かせて頂きますのでよろしくお願いします。

回答No.2

取り敢えずJ列とK列を使ってテーブルを作り、それをVLOOKUP関数で取り出すという方法を・・・ E8= IF(D8="","",(D8+IF(D8-C8<0,1,0))-C8) ←この式を下へコピー F8= IF(E8="","",VLOOKUP(ROUNDUP(E8,3),$J$7:$K$11,2,1))←この式を下へコピー G8= IF(E8="","",E8-F8)←この式を下へコピー 一応エラー処理してます  サンプル画像を添付しておきます <(_ _)>

akesaka
質問者

補足

先ずはご回答ありがとうございます。 サンプル画像まで付けて頂きありがとうございます。 実は恥ずかしながらエラー表示が出ているのは知っていたのですが、一体どれが原因でエラーが出たかまでは未検証・未確認で、きちんと理解しておりませんでした。 今回、エラー処理して頂いてるとのことで、見比べて(…これで分かれば一発で理解してそうですが;;)前回のエラーの原因をきちんと確認・理解したいと思います。 私事ですが、今エクセルソフトが手元にないため、お礼とベストアンサーについては検証が終わり、疑問が解決(課題クリア)しましたら改めて書かせて頂きますのでよろしくお願いします。

関連するQ&A

  • エクセル勤務表を作成したい

    色々調べてみたのですが、力が足りずうまく行かないので教えてください。 (1)9:00~18:00が基本の労働時間です。 (2)18:00以降は残業 (3)昼休憩は12:00~13:00の一時間で、その分実働から引きたい (4)12:00までの勤務は昼休憩を引きたくない (5)13:00からの勤務は昼休憩を引きたくない (12:00からの勤務は13:00からと同じになります) 今までは以下のような式を入れてました。 A列:日付(問題なし) B列:曜日(問題なし) C列:勤務開始時間(勤務する方が入力予定) D列:勤務終了時間(勤務する方が入力予定) E列:実働時間 =IF(C11="","",(D11-C11)-F11-G11) F列:休憩時間(1時間)・・・・ここは無くてもいいです。 =IF(C11="","",IF(AND(D11<=TIME(12,0,0)),TIME(0,0,0),TIME(1,0,0))) G列:残業時間(18:00以降) =IF(D11<=TIME(18,0,0),"0:00",D11-TIME(18,0,0)) これが、いいレベルのものだとは思ってませんが なんとか形になったのですが・・・ (6)9:00前に出勤も残業入れる という条件を出されまして、困っています。 皆さんのお知恵を貸してください! 休憩時間は表示しなくても大丈夫です。 実働が、(4)、(5)の条件を満たしていて表示されることと 残業が9:00前までと18:00以降の合算で出ると良いのですが・・。 よろしくお願いします!

  • Excelでの勤務表作成について

    エクセルにて勤務表を作成したいと思っておりますが、過去ログの どれに当てはまるかがわからず、質問させて頂く次第です。 現在勤務表は以下のとおりとなっております。 □基本パターン 始業時間  終業時間  実働時間  時間外(所定時間超え) C  D     E  F     G  H     I  J  8:45    17:15     7:30    0:00 上記基本パターンの他に残業(時間外)を15分単位でプラスする場合があります。 その場合、以下のようになります。 □残業ありの場合(例:18:30まで働いた場合) 始業時間  終業時間  実働時間  時間外(所定時間超え)  C  D     E  F      G H     I  J  8:45    18:30     8:45   1:15 *休憩は1時間です 現在、エクセルにて実働時間を計算する式を以下のように製作して おります。 □時間式 IF(C4="","",IF((E4-C4)>=0,ROUNDDOWN(((E4-C4)*60-60+F4-D4)/60,0),ROUNDDOWN(((E4-C4+24)*60+F4-D4)/60,0))) □分式 IF(C5="","",IF((F5-D5)>=0,F5-D5,F5-D5+60)) そこで、基本労働時間7:30を超えた時間外を計算する式 (時間式・分式)はどのように作成したら宜しいでしょうか。 お手数をおかけ致しますが、宜しくお願い致します。

  • Excelで勤務表作りしたいのですが困っています

    エクセルで勤務表を作りたいのですが計算式がわからないので教えてください。 2交替なんですけど、日勤の人は定常時間が8:00~17:00です。休憩が12:00~13:00までです。遅刻せずに来る人には問題ないのですが、休憩時間以降に来た人には休憩時間のマイナスをしたくないんですがどぉしたらイイのかわかりません。 残業と実働時間は『H』で表わしたいです。 夜勤は深夜手当というものが適用されるのですが、定常時間が20:00~5:00で22:00~5:00の間が手当です。その間休憩が0:00~1:00まであるので普通なら6時間ですが早退したりしたらそれに適用するように計算式を入れたいです。 大体、今作っている表です  A  B   C    D     E    F    G     H    I    J    K 1 日 休  出社  退社  休憩  外出  定常  残業  深夜  休日  実働 2 1     8:00  20:00   ?        ?    ?H              ?H 3 2     13:00  20:00     4 3     20:00 9:00     ・ ・    A  B   C    D     E    F    G 34  日勤  8:00  17:00   休憩  12:00   13:00 35  夜勤  20:00   5:00    休憩  0:00    1:00 36  深夜  22:00  5:00 です。 わかる方お願いします。 教えてください。

  • エクセルで勤務表作成について

    昨日もご相談させていただき、色んな方からご回答をいただき、やったぁ~と喜んでいたんですが、色んな検証をすすめていくと、修正が必要だと判明したので、また助けていただけますでしょうか? 以下のような項目で表を作成しているんですが、G7:普通残業の部分でずっとひっかかっております。 宜しくお願いいたします。 A7:月日 B7:区分(土日・祝日に1を入力) C7:始業時間 D7:終業時間 E7:休憩時間 F7:所定時間(7:30までしか表示しない)   =IF(B7>0,"",IF(D7-C7-E7>7.5/24,$F$1,IF(C7="","",D7-C7-E7))) G7:普通残業(実働7:30を超え、8時間までの時間表示) ※ ここが上手く出来ません =IF(B8>0,"",IF(D7-C7-E7>7.5/24,IF(D7-C7-E7-7.5/24>=0.5/24,0.5/24,D7-C7-E7-7.5/24),""))という式を入れたんですが、C7:始業時間が9:30、D7:終業時間が18:30(18:30以外の時間は全て表示するようです)、E7:休憩時間が1:00の時、G7:普通残業には0:30とはいらないんです。 =IF(D7-C7-E7>7.5/24,IF(D7-C7-E7-7.5/24>=0.5/24,0.5/24,D7-C7-E7-7.5/24),"")という式では上の問題は解決するが、B7:区分に「1」を入力した場合に表示されてしまう。 B7:区分に「1」が入力された場合はJ7:休出残業とK7:休出深夜に数字が飛ぶようにしてあるんです。 H7:時間外(実働8時間を超え、10時間までの時間表示) =IF(B7>0,"",IF(D7>"22:01",D7-C7-E7-"8:00"-I7,IF(D7-C7-E7>8/24,D7-C7-E7-"8:00",""))) I7:深夜残業(実働10時間を超えた場合の時間を表示)   =IF(B7>0,"",IF(D7>"22:00",D7-"22:00","")) J7:休出残業=IF(B7="","",IF(B7=1,IF(C7="","",IF(K7="",D7-C7-E7,D7-C7-E7-K7)),"")) K7:休出深夜=IF(B7="","",IF(B7=1,IF(D7>"22:01",D7-"22:00",""),""))

  • Excelで勤務表を作りたいのですが

    Excelで勤務表を作りたいのですが、なかなか関数がうまく使えません。 時間計算をご存知の方、教えて下さい。 入力列 A:出勤時刻 B:退勤時刻 C:勤務開始時間 *始業9:00のため、9時より以前の出勤時刻は9:00、9:00以降の出勤はその時刻を表示する。 D:休憩時間 E:実働時間(始:C/終:B/マイナス:D) F:時間内勤務(8時間まで) G:時間外勤務(8時間を超過したところから・22時迄) H:深夜残業(22時以降の勤務時間) このような説明でお分かり頂けるでしょうか。 よろしくお願いします。

  • 勤務表の作成について

    勤務表の作成について 始業時間・終業時間・休憩時間を入力すれば、実働時間・定時時間・残業時間・深夜時間・深夜残業が 自動的に出るような表を作成しようとしています。 作成はしてみたのですが、どうも上手くいきません。 始業時間・・・手入力 終業時間・・・手入力 休憩時間・・・手入力 実働時間・・・終業-始業-休憩 定時時間・・・5:00~22:00の間の業務時間 残業時間・・・実働時間が8時間を超えていた場合の5:00~22:00の間の業務時間 深夜時間・・・5:00~22:00の間以外の業務時間 深夜残業・・・実働時間が8時間を超えていた場合の5:00~22:00の間以外の業務時間 今は以下のような(間違っている)計算式を入れています。 D8=曜日(休日には休と表示) D10=始業時間 D11=終業時間 D12=休憩時間 実働時間(D13)=IF(D10="","",D11-D10-D12) 定時時間(D14)=IF(D8="","",IF(AND(D8<>"休",D10=""),"休",IF(OR(D10="",D8="休"),"",IF(D13<TIME(8,0,0),D13,TIME(8,0,0))))) 残業時間(D15)=IF(D10="","",IF(D14="","",IF(D13-D14=0,0,IF(D11>TIME(22,0,0),IF(TIME(22,0,0)-D10-D12-D14<0,0,TIME(22,0,0)-D10-D12-D14),D11-D10-D12-D14)))) 深夜時間)D17)=IF(D10="","",IF(AND(D11>TIME(22,0,0),D11<TIME(5,0,0)),D11-D18-TIME(22,0,0),"")) 深夜残業==IF(D10="","",IF(D13=D14,0,D13-D14-D15)) どのような式を入れれば良いかご教授お願いします。

  • 会社で勤務表を作成しなくてはならなくなりましたが、エクセル(2003)

    会社で勤務表を作成しなくてはならなくなりましたが、エクセル(2003)関数の知識がありません。 こちらでいろいろ検索しましたが、求めているものがなかったので質問をさせていただくことにしました。 ご教授お願いいたします。 現在、実働時間⇒=IF(B1="","",A1*24-B1*24-D1)と入力しています。 始業時間と終業時間を入力すると実働時間、実働時間が17:45を超えたら普通残業、22:00~翌5:00は深夜残業としたいのです。 日勤勤務は9:00~17:45、夜勤は17:30~翌9:00です。夜間勤務では1.25の休憩があるため実働時間は5.75となります。 また遅刻早退の時間数を求める関数も入れたいです。 24時間体制での仕事なので深夜の時間に対応したものを求めたいのです。 すべての欄の合計値は7:45とかの表示ではなく7.45という表記にしたいです。  始業時間 終業時間 休憩時間 実働時間 普通残業 深夜残業 遅刻/早退  9:00   17:45   1:00  17:30   翌9:00   休憩時間は標準の書式設定[1]になっています。 初めて質問させていただくので、わかりにくいかと思いますがどうかよろしくお願いいたします。

  • エクセル関数で深夜勤務の計算

    エクセルで社内の勤務表を作成しています。深夜勤務の時間計算の関数がわかりません。教えていただけないでしょうか? 条件 1.深夜時間は22:00~05:00 2.始業、終業時間が深夜時間のみになる事もある 3.休憩時間も含めて計算したい。 例 1|   A |  B  |  C |  D  |  E |  F |  G | 2| 始業| 終業 | 再入| 再終|休憩| 実働|深夜 3| 9:00 |23:00 | 2:00 | 6:00 |2:00 |16:00| 宜しくお願い致します。

  • Excelで勤務時間の計算をしたいです。

    すでに作られている勤務表を前任者から受け継ぎましたが、 すべて手入力しているので関数を使ってもっと効率化を図りたいと思います。 皆様の知恵をお貸し下さい。 出勤時間→B列 退社時間→C列 出勤日数のカウント→D列 残業時間→E列 条件として ・定時は8:00~17:00に対して1時間の休憩をとる。 例:B列   C列  D列  E列   8:00 17:00  1  [空白] ・実働時間9時間を超える場合は残業時間に入れる 例:B列   C列  D列  E列   8:00 18:30  1   1.5 ・実働時間9時間以上の場合は1時間休憩を差し引き実働時間8時間としてそれに対して 出勤日数のカウント「1」 実働時間4時間以下の場合は休憩時間を差し引かずに 出勤日数のカウント「0.5」 実働時間4時間超え、9時間未満のものに対しては休憩時間に関係なく 出勤日数のカウント「1」 (ここが一番厄介な点かと思われます。4時間以内ならカウント0.5、4時間を越えたものはカウント1です。) 例:B列   C列  D列  E列   8:00 12:00  0.5  [空白]   8:00 15:00  1  [空白]   8:00 17:30  1   0.5 ・深夜勤務もあるが、その場合の残業は手動で計算するので、出勤日数のカウントだけでOK 例:B列   C列  D列  E列  23:00  5:00  1  [空白] このような状態なのですが、計算の列などを増やして(あまり増やしたくはないのですが・・・) 関数をいれてある程度自動で計算をさせたいのです。 休憩時間はほぼ1時間と決まっているのであまり列は増やさずに計算させたいです。 簡単な関数は知っていますが、表示形式など詳しいことは分かりません(残業時間1時間半を1.5と表示するなど・・・) ちなみに出勤日数のカウント、残業に関しては1や1.5などの数値を 他の時給計算で使っています。 巧く説明できなくてすみません((汗)) どのような関数を組んだらよいか、ご指導を宜しくお願いします_(._.)_

  • Excel 勤務管理表の作成

    Excel2000で勤務管理表を作成しようとしています。 If関数を使って作成しようとしているのですが、うまくいきません。 わかりにくい説明ですが、よろしくお願いします。 A列に実働時間。(昼休みは抜いています)を入力するとB列C列に自動で入るようにしたいです。 B列に7.75内(通常勤務)の時間が入るようにする。 C列に残業時間が入るようする。 ※7.75hを過ぎると0.25h休憩をしなくてはならず、残業は8時間からしかつきません。 (例) A列       B列     C列 実働時間    7.75内    残業 7.75       7.75      0 8          7.75     0 8.25        7.75     0.25

専門家に質問してみよう