• 締切済み

エクセル 勤務表 休憩時間について

エクセル2003を使用しています。 また勤務表の作成にあたり困ってしまいました。 今回も宜しくお願いします。 残業時の休憩です。 1)18:10~19:09の間に終了した場合は 10分の休憩 2)19:10~21:09に 〃        20分 3)21:10~23:09に 〃        30分 4)23:10~25:09に 〃        40分      想定されるのはこのあたりまでです。 この休憩時間を休憩のセルに0:20などと入れたいのです。 if(and(time(18,10,0)>=A2、などと長々いれてみましたが 最後の4)が表示できません。。 きっと24時を超えているからだろうと思うのですが 色々試してもうまくできません。。 うまくできる方法をお願いします。。 関係ないかもしれませんが、終了時刻はタイムカード打刻からFLOOR関数で15分に丸めた 時刻のセルを参照しています。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 どの様なデータがどのセルに入力されているのかに関して、何も記述されていないため、仮に、B2セルに出勤時刻が、C2セルに退勤時刻が、それぞれ入力され、残業終了時と休憩時間の関係がI列とJ列に、次の様に入力されているものとします。       I列       J列 1行目 残業終了時  休憩時間 2行目   18:10       10 3行目   19:10       20 4行目   21:10       30 5行目   23:10       40  その場合、残業時の休憩時間は、次の様な関数で求める事が出来ます。 =IF(AND(COUNT($B2,$C2)=2,$C2>"18:10"*1),VLOOKUP($C2+($B2>$C2),$I:$J,2),"")  Excelでは、判定式の判定結果が、[真]である場合には、その判定結果は、計算上は数値データとしての「1」と同様に取り扱われ、[偽]である場合には、その判定結果は、計算上は数値データとしての「0」と同様に取り扱われます。  そのため、上記数式中の ($B2>$C2) の部分は、出勤時刻が退勤時刻よりも早い時刻の場合には、判定結果は[偽]になるため、数値の0として扱われますから、 $C2+($B2>$C2) の部分の計算結果は、C2セルに入力されている退勤時刻に、0日を加えた値、即ち、入力した退勤時刻と同じ値となります。  そして、退勤時刻が真夜中を過ぎた時刻である場合には、退勤時刻は「0:01」等の様に、出勤時刻よりも早い時間帯の時刻が入力される事になる訳ですから、 ($B2>$C2) の判定結果は[真]となり、計算上は数値の1として扱われますから、 $C2+($B2>$C2) の部分の計算結果は、C2セルに入力されている退勤時刻に、1日(=24時間)を加えた値、即ち、翌日の時刻となります。

uraura15
質問者

お礼

記載が足りなくすいませんでした>< 知識が足りなく内容を理解するのに時間がかかるので><先にお礼を書かせて頂きます。 細かくご説明ありがとうございます! 教えて頂いた式をあてはめ色々試してみようと思います。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

0:00~1:09分に出社ということがなければ =LOOKUP(TEXT(IF(A2<"01:10"*1,A2+1,A2),"[h]:mm"),{"18:10","19:10","21:10","23:10","25:10"},{10,20,30,40,50})

uraura15
質問者

お礼

LOOKUP関数は全然思いつきませんでした。参考になりました! ありがとうございました!

関連するQ&A

  • エクセルで勤務表を作っています。

    エクセルで勤務表を作っています。 決まった曜日の決まった時間に出勤&退勤するバイトなので、関数を使って簡単に入力したいと思っています。(月木土日曜日の、17時から22時までの勤務) 項目が「日付、曜日、出勤時刻、退勤時刻、休憩時間、実働時間」とあり、曜日を参照して自動的に 出勤日に17:00、退勤時刻に22:00。休憩時間に0:15と入力するには、どうしたらいいのでしょうか? 一日(たとえば月曜日のみ)などの時は、if関数を使って入力できるのですが、1週間に4日分の入力をする関数の使い方がよくわかりません。andやor関数を使ってみましたが、うまくできませんでした。 わかる方は、是非教えてください。よろしくお願いします。

  • Excel:勤務時間の計算がうまくいかない。

    No.1468024の質問をした者です。 勤務表を作成しています。(Excel2002を使用) 終了時刻(D列)ー開始時刻(C列)ー休憩時間(E列)=当日の勤務時間を計算しています。 No.1468024の質問でアドバイスをいただき、以下のような計算式を記述しました。 <例> =AND(C13*D13)*(MIN(IF(AND(D13>="12:00"*1,D13<="13:00"*1),"13:00",D13),"17:40")-MAX(IF(AND(C13>="12:00"*1,C13<="13:00"*1),"12:00",C13),"09:00")-E13+FLOOR(MAX(D13,"18:00")-"17:59:59","0:15")) ほぼうまくいくのですが、開始時刻9:00終了時刻12:00とした場合、勤務時間4:00となり、間違ってしまいます。(正しくは勤務時間3:00。また開始時刻9:00終了時刻が12時から13時までの間の時刻で入力された場合も勤務時間3:00と出力したいです。) 休憩時間セルに以下のような計算式を書いています。 <例> =IF(COUNT(C13:D13)<2,0,IF(D13-"12:00"*1<=0,0,IF(C13-"12:00"*1>=0,0,IF(D13<"18:00"*1,"1:00","1:20")))) 休憩時間は12時から13時までの1時間。 終了時刻が17:40以降なら20分休憩時間が加算されます。 開始、終了が入力されていないと0:00表示。 言葉足らずでしたら、進んで補足させていただきますので、よろしくお願いします。

  • Excel:勤務時間計の計算式がうまくいかない

    Excel2002を使用し、勤務表を作成しています。 以前こちらでアドバイスをいただき、作成することができました。 今回修正で、開始8:30終了17:05の場合、休憩45分、当日勤務時間7時間 50分と計算させたいのですが、何かアドバイスあればよろしくお願いし ます。 現在使用している計算式では以下のように計算されます。 開始8:00終了16:35の場合、休憩45分、当日勤務時間7時間50分 開始8:30終了17:05の場合、休憩60分、当日勤務時間7時間35分 ■8時-16時35分(定時)の場合 開始時刻:C列 終了時刻:D列 開始時刻を15分単位で切り上げる:P列:=CEILING(C7,"0:15") 終了時刻を15分単位で切り上げる:Q列:=CEILING(D7,"0:15") ■休憩時間 =IF(COUNT(C7:D7)<2,0,IF((P7<"12:30"*1)*(Q7>"13:15"*1),"0:45","0: 00"))+IF(D7>="16:50"*1,"0:15","0:00") 休憩時間は12:30から13:15までの45分。 終了時刻が16:35以降なら15分の休憩時間が加算。 開始、終了が入力されていないと0:00表示。 ■当日 勤務時間 =AND(C6*D6)*(MIN(IF(AND(D6>="12:30"*1,D6<="13:15"*1),"12:30",Q6), "16:35")-MAX(IF(AND(C6>="12:30"*1,C6<="13:15"*1),"13:15",P6),"08 :00")-IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45","0:00")+FLOOR(MAX (D6,"16:50")-"16:49:59","0:15")) 開始、終了が入力されていないと空白 12:30~13:15の場合は12:30、16:35以降の場合は16:35、それ以外は終 了時刻のまま。 8:00以前は8:00、12:30~13:15の場合は13:15、それ以外は開始時刻の まま。 残業していないケースをIF文を使わずに計算したいため終了時刻が 16:50以前の場合は16:50と補正して、計算結果が00分になるように細工 。 言葉足らずでしたら、進んで補足させていただきますので、よろしくお 願いします。

  • 勤務時間の集計です

    Exelでタイムカードの集計をするのに、退勤時刻から出勤時刻を引いて休憩時間を引きます。 出勤と退勤はFLOORとCEILINGを使って15分単位でまとめますが、さらに出勤時刻を早く来ても8:30で計算させる関数の使い方を教えてください。よろしくお願いいたします。

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

    色々調べてみたのですが、力が足りずうまく行かないので教えてください。 (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以降の合算で出ると良いのですが・・。 よろしくお願いします!

  • 休憩は1時間とみなす?

    下で「通勤途中のケガ」というタイトルで質問している者です。 http://oshiete1.goo.ne.jp/qa5046359.html 度々の質問ですみません。 10時~16時半勤務(休憩1時間) 通常は、上記の時間帯で勤務しております。 ケガをした日について、下記の通りタイムカードを打刻しました。 (出血が止まらないため、早退いたしました) 9:59出勤 14:00休憩入り 14:48休憩戻り 14:50退社 (私の勤務先は、休憩に入る時刻・戻った時刻もタイムカードを打刻する規定です) 私は、10時~14時まで勤務(実働)しているから、この日は4時間の勤務、と考えていました。 ところが、会社の規定によると「10時出勤、14時50分退社、休憩は1時間とみなす」とのことで、 (実働は4時間だけれども)4時間50分会社に滞在し、 そのうち1時間は休憩時間にあたるので、 この日は3時間50分の勤務になる、と説明を受けました。 幸いにも「今回は4時間で付けます」と上席より 指示があったので、とりあえず問題はないのですが、 この社内規定は労働基準法などに抵触しないのか、 と疑問に思い質問させていただきました。 (タイムカードで4時間実働しているのが証明されているのに、 社内規定で3時間50分の勤務になる、という点が引っかかります) お詳しい方、よろしくお願い致します。

  • エクセルにて作業時間(分で表示)を出すには?

    エクセルにて「開始時刻」と「終了時刻」から作業時間の値を出したいのですが、 「開始時刻」と「終了時刻」のセルにはTIME関数(例 =TIME(18,0,0))が入力されており、さらにそのセルの表示形式は[時刻]の[13時30分]と表示されています。 これらのセルから作業時間を算出して分で表示(例 30分)したいのですが、どうやったらいいのでしょうか?

  • Excel:当日勤務時間の計算式のアドバイスを下さい

    Excel2002を使用し、勤務表を作成しています。 修正を繰り返しだいぶ計算ができるようになりました。 今回は、開始13:15終了16:15の場合、休憩なし、当日勤務時間3時間と計算させたいのですが、何かアドバイスあればよろしくお願いします。 現在使用している計算式では以下のように計算されます。 開始8:30終了17:05、休憩45分、当日勤務時間7時間50分※定時 開始7:30終了16:05の場合、休憩45分、当日勤務時間7時間50分 開始8:00終了16:35の場合、休憩45分、当日勤務時間7時間50分 開始13:15終了17:05の場合、休憩なし、当日勤務時間3時間50分 開始13:15終了17:50の場合、休憩なし、当日勤務時間3時間50分 -------------------------------------------------------- 開始時刻:C列 終了時刻:D列 開始時刻を15分単位で切り上げる:P列:=CEILING(C6,"0:15") 終了時刻を15分単位で切り上げる:Q列:=CEILING(D6,"0:15") 休憩時間を45分として勤務時間を計算する:R列 -------------------------------------------------------- ■休憩時間 =IF(COUNT(C6:D6)<2,0,IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45",IF ((C6>="13:15"*1)*(D6>="17:20"*1),"0:15","0:00")))+IF(R6>="8:00"*1,"0:15","0:00") ■当日 勤務時間 =IF(COUNT(C6:D6)<2,0,IF((C6>="13:15"*1)*(D6>="17:20"*1),R6-"0:15",IF(R6>="8:00"*1,R6-"0:15",R6))) ■休憩時間を45分として勤務時間を計算する =IF(COUNT(C6:D6)<2,0,AND(C6*D6)*(MIN(IF(AND(D6>="12:30"*1,D6<="13:15"*1),"12:30",Q6),"16:05")-MAX(IF(AND(C6>="12:30"*1,C6<="13:15"*1),"13:15",P6),"07:30")-IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45","0:00")+FLOOR(MAX(D6,"16:05")-"16:04:59","0:15")))

  • 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")))) どうぞ宜しくお願いいたします。

  • 勤務表の始業・終業時刻を30分単位に

    いろいろな始業・終業時刻に対応できる、30分単位で自動計算されるエクセル勤務表を作成しています。 例えばA1セルに定時開始時刻の「8:40」B1セルに定時終了時刻の「17:10」と記入し、そこを基準に毎日の始業時間を30分単位で丸めたいときにはどのようにすればよいのでしょうか? 定時は変更されることがあるので、A1とB1セルを変更してもそこを起点に30分単位で丸められるような勤務表を作りたいです。 A列に実際のタイムカード始業時刻 B列に実際のタイムカード終業時刻 C列に、A列の時刻をA1セルの時間を基準に30分単位で丸めたもの D列に、B列の時刻をB1セルの時間を基準に30分単位で丸めたもの 勤務時間、残業時間等は、D列とC列の時間を使って計算します。 FLOOR関数は0:00を基準とする丸め関数ですよね? いい方法がありましたら、よろしくお願いします。

専門家に質問してみよう