EXCELでの時間計算(休憩時間の差引)について

このQ&Aのポイント
  • EXCELで遅刻・早退・外出時間を自動計算する表の作成方法を教えてください。
  • 勤務時間が8:30~17:00で、休憩時間は10:20~10:30、12:00~12:40、14:50~15:00です。これらの休憩時間を遅刻時間から差し引く計算方法を教えてください。
  • 例えば、開始時刻と終了時刻を入力したセルから、休憩時間を差し引いた合計時間を算出する計算式を教えてください。
回答を見る
  • ベストアンサー

EXCELでの時間計算(休憩時間の差引)について

パートさんの遅刻・早退・外出時間を自動計算する表を作っていますがうまく作れません・・・ 下記の場合どうしたらよいでしょうか? 例えば遅刻の合計時間を算出するのに開始時刻から終了時刻を引き算しますが 10:20~10:30、 12:00~12:40、 14:50~15:00、は休憩時間なので自動的 に差し引きたいと考えています。 遅刻の時間内に、休憩時間である10:20~10:30が含まれれば10、 12:00~12:40が含まれれば40、14:50~15:00が含まれれば10を引くという感じです。 どのような計算式にすればよいのでしょうか? ちなみに勤務時間は8:30~17:00です。 例えば、 (例)セル【B2】8:30(開始)セル【B3】13:00(終了)の場合、セル【B4】には50分を差引いた 3:40の合計時間を算出したいです。 色々調べて、B4に以下の式を入力してみましたが、どうもうまくいきません。 =IF(B3<>"",B3-B2-IF(TEXT(B3,"hh:mm")>"15:00","1:00",IF(TEXT(B3,"hh:mm")>"12:40","0:40",IF(TEXT(B3,"hh:mm")>"10:30","0:10","0:00")))) どうぞ宜しくお願いいたします。

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

  • ベストアンサー
回答No.2

こんばんは。 補足いただきありがとうございます。 認識といたしまして、B2およびB3には、遅刻、早退、外出問わず、 記入されているものと考えてよろしいですね。 式が長くなりますが以下のようにしてみるのはいかがでしょうか。 《訂正後》 =IF(B3<>"",B3-B2-IF(OR(TEXT(B2,"hh:mm")>="10:30",TEXT(B3,"hh:mm")<="10:20"),"0:00",IF(TEXT(B3,"hh:mm")>="10:30","10:30",TEXT(B3,"hh:mm"))-IF(TEXT(B2,"hh:mm")<="10:20","10:20",TEXT(B2,"hh:mm")))-IF(OR(TEXT(B2,"hh:mm")>="12:40",TEXT(B3,"hh:mm")<="12:00"),"0:00",IF(TEXT(B3,"hh:mm")>="12:40","12:40",TEXT(B3,"hh:mm"))-IF(TEXT(B2,"hh:mm")<="12:00","12:00",TEXT(B2,"hh:mm")))-IF(OR(TEXT(B2,"hh:mm")>="15:00",TEXT(B3,"hh:mm")<="14:50"),"0:00",IF(TEXT(B3,"hh:mm")>="15:00","15:00",TEXT(B3,"hh:mm"))-IF(TEXT(B2,"hh:mm")<="14:50","14:50",TEXT(B2,"hh:mm"))),"") ●検証 B2:"8:30"、B3:"10:00"の場合 ⇒ 1:30  B2:"8:30"、B3:"10:20"の場合 ⇒ 1:50 B2:"8:30"、B3:"10:25"の場合 ⇒ 1:50(5分が差し引かれている) B2:"8:30"、B3:"10:30"の場合 ⇒ 1:50(10分が差し引かれている) B2:"8:30"、B3:"12:00"の場合 ⇒ 3:20(10分が差し引かれている) B2:"8:30"、B3:"12:40"の場合 ⇒ 3:20(50分が差し引かれている) B2:"14:00"、B3:"15:00"の場合 ⇒ 0:50(10分が差し引かれている) B2:"14:00"、B3:"17:00"の場合 ⇒ 2:50(10分が差し引かれている) 以上です。 ●式について 以下のような構成になっています。 =IF(B3<>"", B3-B2- [後述の(1)] - [後述の(2)] - [後述の(3)], "") (1)10:20~10:30の間の休憩時間(実時間) (2)12:00~12:40の間の休憩時間(実時間) (3)14:50~15:00の間の休憩時間(実時間) いかがでしょうか。

anokori
質問者

お礼

早々の回答ありがとうございました。 おかげさまで、先ほど表が完成しました! こんな長い式になるとは… もともと入力していた式じゃだめなはずですね。 式の構成についても理解できました。 お礼が遅くなりましたが、本当に本当にありがとうございました!!

その他の回答 (1)

回答No.1

以下の点を修正するだけで要件を満たすことができると思います。 《修正前》 =IF(B3<>"",B3-B2-IF(TEXT(B3,"hh:mm")>"15:00","1:00",IF(TEXT(B3,"hh:mm")>"12:40","0:40",IF(TEXT(B3,"hh:mm")>"10:30","0:10","0:00")))) 《修正後》 =IF(B3<>"",B3-B2-IF(TEXT(B3,"hh:mm")>"15:00","1:00",IF(TEXT(B3,"hh:mm")>"12:40","0:50",IF(TEXT(B3,"hh:mm")>"10:30","0:10","0:00")))) 変更した箇所は1箇所だけです。 "0:40"を"0:50"に変更しました。 ※以下、蛇足ですが、以下の点は考慮に入れる必要はありますか? (1)B3に"12:20"が入力される。   ⇒現行の式では10のみ引かれます。 (2)B3に"15:00"が入力される。   ⇒現行の式では50のみ引かれます。 この要件を考慮に入れるともう少し複雑な式になります。

anokori
質問者

補足

早々の回答ありがとうございます! そうなんです。 勤務時間8:30~17:00の間に発生した遅刻や早退、外出時間を 自動計算させたいのですが、 【遅刻】 ○【12:00出社の場合】8:30~12:00=計3:20 ○【12:40出社の場合】8:30~12:40=計3:20 共に勤務時間7:30のうち、3:20の遅刻となるはずが 下の段、12:40出社の場合、計が”4:00”となってしまうんです。 同様に外出した場合も、 【外出】 ○【16:00から1時間外出した場合】16:00~17:00=計1:00 としたいのですが、現行の式ですと16:00~17:00=計0:00 となってしまうのです。 細々とすみません。どうぞ宜しくお願いいたします。

関連するQ&A

  • 休憩時間の変動を含むExcelでの作業時間計算

    こんばんは、skireです。 Excelで作業時間を計算するための表を作ろうと思っています。 そこで少々行き詰まってしまいましたのでお知恵をお貸し下さい。     A      B      C     D        E   開始時間 終了時間  居残り 作業時間 居残り作業時間 1  8:00   16:00   2 10:00   22:00  1:00 3  9:00   13:00 このD1以降のセルに休憩時間を差し引いた作業時間を自動で表示されるようにしたいです。 ですが、この休憩時間がちょっと面倒でして、 B1-A1が8:45以上なら1時間 B1-A1が6:00より多く、8:45未満の場合には45分 B1-A1が6:00以下なら休憩はなし という計算をします。 (21:00より遅くなると居残り→居残り作業時間。 21:00以降に作業をしに来た人に関しては今やると混乱しそうなので省いています。 いつかは挑戦したいのですが……) 自分で組んだ式は以下です。 D1= IF(TEXT(B1-A1,"h:mm")>"8:44",TEXT(B1-A1,"h:mm")-"1:00",IF(TEXT(B1-A1,"h:mm")>"6:00",TEXT(B1-A1,"h:mm")-"0:45",TEXT(B1-A1,"h:mm")))-TEXT(E1,"h:mm") E1=B4-"21:00" この式で、 B1-A1が6:00より多く、8:45未満の場合には45分 B1-A1が6:00以下なら休憩はなし の部分と居残り時間についてはうまくいくのですが、 8:45以上の休憩だけがどうしてもうまくいきません。 1:00マイナスされていない数字が入力されてしまいます。 小さなミスだとは思うのですが、見つけることが出来ません。 よろしくお願いします。

  • エクセルでの時間計算について

    時間計算について質問です。 図のような仕事上にかけた時間の計算をしたいのですが。終了時刻と休憩時刻で空白のセルがあるとマイナスになってしまします。 計算としてはC行の終了時刻からB列の開始時間を引き、休憩があればさらにマイナスで計算してみています。 終了時刻と休憩時刻で空白のセルがあるときには計算をせずすべてのセルが埋まったら計算結果を表示することは可能でしょうか? 現在ですと合計時間のところでマイナスになってしまい、すべて入力 がされていないと正確な数値になりません。 作業時間はその後の計算の都合上時間表示ではなく数字として表示させています。

  • Excelの時間計算について

    日付と時間が入力されたセルがあるのですが、 そのセル内容を合体させて別のセルに表示しようと思っています。 例)A1に日付「2009/07/11」、B1に時間「15:00」と入力されていた   場合に C1に「2009/07/11 15:00」を表示させ、実時間として   認識させたい。D1に表示された現在の時刻「=NOW()」からの   経過時間をE1に表示させるのが目的。 表示だけでしたらC1に 「=TEXT(A1,"yyyy/mm/dd")&" "&TEXT(B1,"hh:mm")」 と入力すれば解決するのですが、 時間として認識させるにはどのようにすればよいでしょうか? 因みにB1のセルの時刻は書式設定を「yyyy/mm/dd hh:mm」として 表示させると「1900/01/00 15:00」となります。 D1に表示された現在の時間「=NOW()」からどれだけ時間が 経過しているかを計算させ、E1に表示するのが最終目的です。 どなたかお知恵を貸していただけませんでしょうか? よろしくお願いします。

  • 休憩時間が数パターンある場合の休憩時間の計算

    勤務表を作成していますが、 休憩時間が複数ある場合の休憩時間の算出方法が知りたいです。 C3 9:00 (出社時刻) D3 20:00 (退社時刻) E3 (休憩時間) F3 =D3-C3-E3 (その日の稼働時間) C4 13:00 (出社時刻) D4 18:00 (退社時刻) E4 (休憩時間) F4 =D4-C4-E4 (その日の稼働時間) 休憩時間1 C40 12:00 (休憩開始時刻) D40 13:00 (休憩終了時刻) E40 1:00 (休憩時間の合計) 休憩時間2 C41 18:00 (休憩開始時刻) D41 18:30 (休憩終了時刻) E41 0:30 (休憩時間の合計) 休憩時間自体は6パターンあります。 休憩時刻が変わった際にも対応できるよう E40やE41を使って、退社時刻によって 休憩時間を算出できるようにしたいです。 また、13時に出社した時に12:00-13:00の休憩時間を カウントしないようにもしたいです。 Excel 関数のアドバイスを よろしくお願い致します。

  • エクセルで時間計算

    エクセルで時間計算をしているのですが A1セルに開始時刻  B1セルに終了時刻  C1セルは作業時間   9:00         4:00           7:00 このような表を作っています 「C1」には(B1+12:00)マイナス「A1」と数式があるのですが 「B1」に入る時刻が午後でなく午前11:00だと 「C1」の数式のままでは (11:00+12:00)- 9:00 で 14:00 となってしまいます 「B1」には24時間形式で午後4:00を16:00と入力すればよいのですが 24時間形式を使わず9:00マイナス4:00を正しく計算するには どのような数式にすればよいのでしょうか IF文を使うのかなとも思うのですが 見当がつきません。宜しくお願いいたします。

  • エクセルで時間差の計算

    日数間の計算結果を「hh:mm」形式で表示させたいのですが。 ------------------------------- セルA1 2003/10/01 10:00 セルB1 2003/10/02 11:30 セルC1 25:30 ------------------------------- 上記のようにA1とB1の時間差を「時:分」形式でC1に結果を表示させたいのですが24時間以上の差があると出来ません。 TEXT(B1-A1,"d:hh:mm")なら出来るのですが日にちを使いたくないのです。 よろしくお願いします。

  • Excel 時刻の計算方法

    Excel 時刻の計算方法 セルA 10/26/2010 06:54:32 セルB 10/27/2010 12:34:56 このような状態で、セルCにhh:mm:ss形式でAの時刻からBの時刻までにかかった時間を表示させたいのですが どうすればいいのでしょう

  • Excel2000の時間計算を関数で

    Excel2000でセルに時間(HH:MM形式)が入っています。 表示のみ(HH:MM形式)で、実データは小数点の入った数値です。 このセルは1日から31日まであって、最後に合計を出したいのですが、 表示形式を時刻にすると24時間の壁があることに気づきました。 時間数の合計を出したいので、24時間を超えて計算したいのですが SUM等で足しただけではだなようです。合計時間の上限は72時間と 考えています。 関数の組み方が分かる方がいらっしゃいましたら、ご教示願います。

  • エクセル 勤務時間の計算について

    以下の勤務時間とします。 開始  終了  休憩 実労働時間 09:00 17:30  1:00 7:30 この数値をエクセルにすると、 A1 B1 C1 D1 09:00 17:30 1:00 7:30 D1の時間算出 =(A1-B1-C1) となりますが、 このD1の7:30 を 7.5で算出したいのですが 簡単な計算式(セルD1内で計算)を教えてください。

  • Excel 日付をまたぐ労働時間の計算方法

    今回、労働時間の計算方法とその合計時間をExcelで作成したいと思ったのですが 合計時間が表示されません。 教えていただけたら嬉しいです。 お願いします。 A2セル 日付        2017/11/1 B2セル 開始時間      8:00 C2セル 終了日付及び時間  2017/11/2 10:00 D2セル 休憩時間      6:00 E2セル 労働時間      =C2-B2+IF(B2>=C2,1)-D2               20時間の計算となります。 上記の表を作成し日々の労働時間の合計をSUMを使って計算すると全然違う数字になります。 今月の労働合計時間を表すにはどのようにすればいいでしょうか? 合計時間を表記するセルには 書式設定→ユーザー定義→[h]:mm を用いて表記しています。 どなたか詳しい方よりご教授いただければ幸いです。 宜しくお願い致します