• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル勤務表で昼休憩を挟んだ時の休憩算出方法)

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

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

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

  • ベストアンサー
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