• ベストアンサー
  • 困ってます

エクセル関数

現在エクセルで勤務時間を計算するデータを作成しているのですが、1点わからない点がありまして質問させてください。 平日の残業時間の計算は =IF(OR(+$C6="土",$C6="日"),I6,IF(I6>480,I6-480,0)) のようにして一応17:30以降の働いた場合の表示はできているので、問題ないのですが、 たとえば、休日の場合、平日と同じように働いたとしても、残業扱いにするとき、労働基準法で6時間を超える作業をする場合、45分の休憩をとりなさいというものを考えて計算式を作る場合、単純に作業時間が6時間超える場合、作業開始時間から終了時間の差から1440-45の数値(時間を分に置き換えた数値)をかけてあげれば、計算できるのですが、 ここからが悩んでいます。 6時間に満たない作業時間の場合、45分の休憩時間を引かずに計算式で計算し、表に表したいのですが、どのようにしたらいいのでしょうか? 例) 13:00作業開始 17:30作業終了 4:30作業時間 としたいのですが、現在だと3:45と表示されてしまいます。 おそらくIF関数を使用すればできると思うのですが、思うようにできません。 6時間以上か未満か判断し、45分の休憩を考えた関数をどなたか教えていただけないでしょうか? 宜しくお願い致します。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数295
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.2
  • tom04
  • ベストアンサー率49% (2537/5117)

こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像でD2セルに =IF(B2-A2>=TIMEVALUE("6:00"),B2-A2-TIMEVALUE("0:45"),B2-A2) という数式を入れています。 以上、参考になれば幸いです。m(__)m

共感・感謝の気持ちを伝えよう!

質問者からのお礼

わざわざ画像まで投稿していただき、ありがとうございます!!! 明日になってしまいますが、参考にさせていただき、問題解決につなげたいと思います!!!! ありがとうございました!

その他の回答 (1)

  • 回答No.1

一例です =IF(HOUR(作業時間)>=6,作業時間-休憩,作業時間) など

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 大変参考になります。 明日になってしまいますが、早速問題解決に挑んで見たいと思います。 ありがとうございました!!!

関連するQ&A

  • 関数教えて!

    始めまして、エクセル2007の関数のことで教えて欲しい事があります。 手作りで勤務表を作ったのですが、残業時間を自動的に計算して表示する関数式が分からなくって困ってます。 表はシンプルに開始時間セルと終了時間セルと残業時間セルの3項目を作っています。 開始時間と終了時間を打ち込んだら自動で残業時間を表示さしたいのですが・・・ちなみに、基本時間は8:00~17:00休憩時間込で9時間です。それ以外を残業とみなしています。(早出もです!) どなたか 関数に詳しい方教えてください。 よろしくお願いします。

  • エクセルの関数、計算式について

    時間計算で、例えばA1に開始時間8:00、B1に終了時間17:00と入力し、C1に作業時間を表示させる表を作ります。そのまま計算すると、C1セルには9:00と表示されますが、これを8:00という表示にさせるには、どういった関数もしくは計算式にすればいいでしょうか?8時間以下であれば、そのままの時間を表示させたいと思っています。作業時間を表示させるところは、C1だけでなくC1以降も同じ計算式を入れてこの表を作りたいと思っています。ご教示いただければ幸いです。よろしくお願いします。

  • エクセルで時間表示させる関数(勤務時間)

    勤務表管理のため、表を作成しています。 通常勤務は9:00-17:30で残業時間が15分の休憩を挟んだ後17:45-21:30までです(その後深夜残業がありますがここでは割愛します) C22に仕事開始時間、D22に仕事終了時間を入れています。 例えば9:00-22:00で仕事したとします。そして、あるセルに、残業時間開始時間、終了時間を表示させたいのですが、残業時間開始を =IF(D22> "17:30","17:45","") と入れたのですが空白で返されてしまいます。">"を"<"にするとなぜか17:45が表示されます。 終了時間は、IF(D22>="21:30",MIN(D22,"21:30"),D22) だと空白で返されます。逆にするとMIN(D22,"21:30")が返されて例えばD22に17:30とか入れると21:30と返されてしまいます。 時間計算の場合、何か特殊な設定をしないと逆になってしまうのでしょうか?

  • 作業時間をエクセルで計算させたい

    作業時間をエクセルで計算させたいのですが、よろしくお願いします。 条件は 1.作業時間 0時~24時 2.普通作業時間帯 8時30分~17時20分(昼休み1時間で7時間50分) 3.普通時間外作業時間帯 5時~8時30分及び17時20分~22時 4.深夜時間外作業時間帯 0時~5時及び22時~24時 5.昼休みは12時~13時 6.時間は分単位 です。この条件で 作業開始時間  作業終了時間 普通時間 普通時間外 深夜時間外    A1         B1     C1     D1     E1 という項目を設け、作業開始時間A1と作業終了時間B1に時間を入力し、 普通時間C1・普通時間外D1・深夜時間外E1のセルに計算させたいのですが よろしくお願いします。作業ですのであらゆる時間帯があり、作業終了時間も決まってません。できれば、マクロでなく関数で計算させたいのですがよろしくお願いします。  

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

    時間外計算についてですが、 (1) 8:30~17:15までは休憩時間を引いて8時間とします。 (2) 17:15を超えてから、終業時間までは15分引きます。 (3) 早朝の6:30~8:30まではそのまま2時間とします。 (4) (1)の条件は平日のみとし、数値は求めません。 Excelで開始時間と終了時間を入れるだけで、4つの条件を満たす数値をだすことはできるのでしょうか?IF式を使うのでしょうか?

  • エクセルの時間の関数合わない↓(長文ですみません)

    時間の日報をエクセルで作成するのですが、 時間は15分単位で 作業時間は 7.0、7.25、7.50、7.75、8.0・・・ (こちらはx.xx*"1:0"の時間表示設定) 終了時間-開始時間の合計の時間は 7:00、7:15、7:30、7:45、8:00・・・ のように作成しました。 合計時間が共に合っていれば○、間違っていれば×となるように =IF(A1=A2,"○","×")と作成したのですが、 同じ(A1)7:00 (A2)7:00(=A2*"1:0") で同じ時間の表示のはずなのに×と表示されてしまいます。 A1のには合計計算がはいているのですが、 合計ではなく、直接手打で7:00と入力すると○と表示されます。 手打の7:00と合計の7:00の表示では見た目同じでも エクセルでは計算式が入っているために同じものにはならないのでしょうか? また解決策があれば教えてください。

  • excelで出勤簿を作成しようと思っています。

    excelで出勤簿を作成しようと思っています。 自動で残業とかを計算できるようにしたいのですが教えてください。 excelの知識は関数をちょっと使えるようになってきた程度なので 詳しく教えていただけると助かります。 条件 ・通常勤務時間帯 8:30~17:30 昼休み 12:00~13:00 8時間勤務 ・休日勤務時間帯 土・日・祝日 8:30~17:30 昼休み 12:00~13:00 ・夜間勤務時間帯 22:00~5:00 休憩1時間 最大6時間 ・作業上8:30~14:00 昼休み 12:00~13:00等、変則の場合あり ・平日 開始時間 8:30 終了時間 19:30と入力すると 通常勤務 8時間 残業 2時間 計 10時間 平日 開始時間 8:30 終了時間 15:30と入力すると 通常勤務 6時間 計 6時間 休日 開始時間 8:30 終了時間 19:30と入力すると 休日勤務 8時間 休日残業 2時間 計 10時間 平日 開始時間 8:30 終了時間 23:30と入力すると 通常勤務 8時間 残業 4.5時間 深夜勤務 1.5時間 計 14時間 条件が足りなかったので補足させていただきます。 基本的に8:30~17:30の間に勤務していれば 通常勤務欄に何時間働いたかでるようにしたいです。 単位は30分単位でお願いします。 昼休みの1時間は8:30~13:00まではなしです。 なので8:30~17:30勤務すれば 通常勤務欄に8時間 8:30~17:00勤務すれば 通常勤務欄に7.5時間 という形でお願いします。 夜間1時間休憩は22:00~5:00までフルに働いた場合に 発生します。 など時間を入力すると自動で計算されるようにしたいのですが教えてください。

  • エクセルで作成するシフト表について質問です。

    現在エクセルでガントチャート式のシフト表を作っているのですが、休憩時間を2回設定できるようにしようとしてどのように計算式を組めばよいのか分からず困っております。 以下、現状組んでいる式です。 =IF(OR(勤務開始時間>time,勤務終了時間<=time),"",IF(OR(休憩開始時間>time,休憩終了時間<=time),1,2)) (例)                (ガントチャート現状) 勤務開始時間 10:00 9 10 11 12 13 14 15 16 17 18 19 時間 勤務終了時間 18:00    ---休 休-ーーーーーーー 休憩開始時間 12:00 休憩終了時間 13:00                (ガントチャート理想) 休憩開始時間 15:00 休憩終了時間 16:00 9 10 11 12 13 14 15 16 17 18 19 時間                  ---休 休ーーー休休ーーー どのようにすれば2回目の休憩時間を組み込めるでしょうか? 皆様の知恵をご教授ください。 宜しくお願い致します。

  • 等間隔ごとのセルの平均値、最大値、最小値を求める関数式

    仕事で作業時間をエクセル表にまとめています。 A~Cに作業項番と作業内容、D,E,Fにそれぞれ作業時間の平均、最小、最大値が入っています。その次の列からそれぞれの作業時間が入っています。 ひとつの作業で4列分使い、左から作業開始時間、作業終了時間、所要時間、所要時間の小計と続いています。 今までは、平均、最小、最大をAVERAGE,MIN,MAX関数を使い、一つのセルずつ計算していました(例:=MIN(I9,M9,Q9,U9.Y9,AC9,・・・,)が、作業回数が30回を超えたところ、これらの方法が使えなくなってしまいました。(計算できる数値が30個までしかない) 30個以上の数値を計算させるためにはどうしたらよいのでしょうか。 また、式が長くなると管理が大変になってくるので、すっきりとまとめられるような関数があったら教えてください。 以上です。よろしくお願いします。

  • エクセルで勤怠の残業手当を計算したいのですが...

     エクセルにて勤怠表を作成しようと思っております。各セルに開始時間、終了時間、拘束時間、休憩時間、実働時間、残業時間、残業手当が表示されるようにしてあります。開始、終了、休憩は手入力でそれ以外は計算式が入っています。  そこで質問なのですが、例えば開始時間8:30、終了時間18:00、休憩時間1:00、通常労働時間8:00とすると残業時間が0:30になります。残業手当は30分毎に500円つけたいので残業手当のセルにROUNDDOWNを使っていて、この場合本来500円と表示されるところ0円となってしまいます。仮に残業時間が0:31となるように入力すると500円と表示されますが、残業時間がちょうど0:30だと0円になってしまいます。ちなみに計算式は=ROUNDDON(I2/"0:30",0)*500です。I2セルは0:30となっております。  ご回答よろしくお願いいたします。