• ベストアンサー

この場合、エクセルのIF(?)関数を使用・・・?

こんにちは、頭がパンクしそうだったので質問させて下さい。 要は生産管理です。 作業合計時間が分表示のため、分の合計から時間表示にします。 (数字の書式は標準です。) →例:480分を時間表時に・・・ INT(480/60)&"時間"&MOD(480,60)&"分" で時間表時(8時間0分)にしています。 この時間は休憩時間抜きの純粋作業時間です。 そこで、1日480分以上540分未満(純粋作業時間)を超えた場合は1時間残業と表示+終業予定時刻の表示。 540分以上590分未満の場合は2時間残業と表示+終業予定時刻の表示をしたいと思っています。 うちの会社は休憩が合計90分(8時から17時までで)あります。 終業予定時刻は休憩込みでないと、当たり前ですが正確には出ません。 しかし、1時間残業では17時からの休憩なしで18時まで、2時間残業では10分の休憩が17時からあり、19時までです。 ここら辺はifを使用したら・・・?と考えていますが。 これを何とか、ぱっと出したいのですが、良いアイデアありませんでしょうか? 頻繁に作業内容が入れ替わり、その都度頭で計算しながらだと非常に効率が悪く思っています。 しかし、単純に頭で計算しながら手入力していくしかないのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • banker_U
  • ベストアンサー率21% (17/78)
回答No.7

#2,5です。 だんだん見えてきました。ただ逆に疑問も出てきました(後述)。 とりあえず、休憩は19時以降まで働く場合しかつかない。ということで、さっきの表を作り直すと、 始業 残業 終業 休憩 作業時間 分単位 8:00 0:00 17:00 0:00 7:30 450 8:00 0:30 17:30 0:00 8:00 480 8:00 1:00 18:00 0:00 8:30 510 8:00 1:30 18:30 0:00 9:00 540 8:00 2:00 19:00 0:10 9:20 560 8:00 2:30 19:30 0:10 9:50 590 8:00 3:00 20:00 0:10 10:20 620 8:00 3:30 20:30 0:10 10:50 650 8:00 4:00 21:00 0:20 11:10 670 となります(並び順はさっきと変えてあります)。 作業時間が1分単位で出てくるのなら、これを保管するか、切り上げの仕組みをつくるかどっちかだなあと考えたのですが、 ここで疑問が生じました。 作業時間565分の時は、どうするのでしょうか? 1.仕事としては、休憩なしで一気に働けば、18:55まででおわります。  (計算省略しますが要は115分の残業で可能と言うこと)  2時間残業していないので、ルール上もこれはこれで正解と思います。 2.ところが、19:05まで仕事をするとしたら、休憩時間が10分入るので、   やはり作業時間は565分となります。 この場合は、どちらにするのでしょうか?これは決めの問題ですので、決めてください。 さらにいうと、残業は最大4時間で、ということが#1の補足に書いてありましたが、 ここで675分の作業時間を考えます。 これは450分(定時内分)+110分(7時まで休憩控除後)+115分と分解でき、要は20:55には作業終了できます。 ところが、最大4時間残業の場合、休憩が20分入ることから、670分しか作業時間とならず、これなら、20:50まで一気に働かせても、同じ作業時間となるので、現実には、4時間残業はありえないと言うことになります。 この辺結局決めておく必要があると言うことですが、頭で考えていると、また混乱するので、私が作った上記の表を、5分単位で作り直してみると、(私が言っている問題点の意味も含めて)頭が整理できると思います。 作成の際は、くれぐれも、終業時間から逆算していくことをお勧めします。

karma_pagoda
質問者

お礼

お返事遅れました。大変助かりました。 なんとか出来そうです。 終業時間から逆算していく事で問題回避出来そうです。 ありがとうございました!!!

その他の回答 (6)

noname#60992
noname#60992
回答No.6

No.1です。 皆様回答済みですが以下のように整理して考えてみると分かりやすいかと思います。 A2 に終業修了時刻を入れたとして B2 に労働時間を30分単位で切り捨てた時間(分)をいれ C2 に残業時間をいれる(昼休みの一時間は拘束時間と考えていないようなので,残業時間は労働時間-9時間と思われます。)  D2 に休憩時間をいれる(これは、No5の方の他テーブルをVlookupで参照しても良いですし、No3のようなIF文を使ってもかまいません。 また、VBAの知識があるのならば、Select文を使用してもかまいません。) 仮定している事項ですが、一日の作業時間は8時間であるということ。 休憩時間のうち一時間は拘束時間外のであるが、残りの休憩時間は拘束時間である(作業時間に含まれる)ような感じなのですが、ここのところがはっきりすれば、簡単な問題だと思われます。 excelを少しでも使えるようになりたいのでしたら、このように作ってみたらよいと思います。

karma_pagoda
質問者

お礼

ご助言ありがとうございました。 まだまだExcelの勉強不足を実感しております。 しかし、大変助かりました。 ありがとうございました。

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.5

#2です。 まだ疑問点ありますが、みなしで回答作ってみました。 私の想定している前提が正しければそう難しい問題でもありません。 要は、作業時間をスタートに作っていくから難しいのです。残業時間をスタートに考えてみましょう。 残業時間が30分単位と言うことは、  なし,30分,1時間30分,・・・,4時間 の9種類にしかなりませんよね。 で、終業予定時刻も、  17:00,17:30,・・・,21:00 しか取りえない。 休憩時間は、18:30終業と20:30終業の場合が不明ですが、 それぞれ10分,20分付くとみなします(違っていたら修正してください)。 ここまで決まれば、作業時間は、自動的に決まってきます。 一覧にして、お望みの順番に並び替えると、 作業時間(分) 作業時間 残業時間 終業 450 7時間30分 0時間0分 17時00分 480 8時間0分 0時間30分 17時30分 510 8時間30分 1時間0分 18時00分 530 8時間50分 1時間30分 18時30分 560 9時間20分 2時間0分 19時00分 590 9時間50分 2時間30分 19時30分 610 10時間10分 3時間0分 20時00分 640 10時間40分 3時間30分 20時30分 670 11時間10分 4時間0分 21時00分 この表をEXCELに取り込んで(コピー-貼付でできます)、 VlOOKUPで参照するようにすればよいかと・・・ そもそも違っていたら、また聞いてください。 OKだがVLOOKUPの使い方がわからなければ、それもまた聞いてください。

karma_pagoda
質問者

補足

こんばんは、ご丁寧にありがとうございます。 30分単位の残業の場合も休憩は付きません。 Vlookupですと「作業が476分で終わる場合に、表のA列に羅列されている作業時間(分)の近似値を探して残業時間及び就業時間を表示する方法」でbanker_Uさんのお答えと合致するでしょうか?

noname#60992
noname#60992
回答No.4

NO1です。 補足要求ばかりですみません。 残業時間より作業終了時間を求めたいのでしょうか? 作業終了時間より残業時間を求めたいのでしょうか? どちらでしょうか?

karma_pagoda
質問者

補足

どうも、こちらこそ説明不足ばかりで申し訳ありません。 どちらかと言えば作業終了時刻を優先したいと思います。 よろしくお願いします。

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

A2に作業合計時間があるとして =IF(A2<=480,TEXT(A2/1440,"h時間m分"),TEXT(CEILING(((A2>=540)*10+A2)/60-7.99,1),"0時間残業")&TEXT(((A2>=540)*10+A2)/1440+3/8," hh:mm終了予定"))

karma_pagoda
質問者

お礼

どうも、ありがとうございます。 参考にさせていただきます。

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.2

まあまあ。落ち着いてください。 ちょっとおっしゃりたいことが理解できません。 ・8時始業で17時が定時終業のように見えるのですが、  それで90分休憩があるとすると、作業時間は  7時間30分(=450分)になりませんか? ここから質問 ・始業時間は一定(8時?)と考えていいですか? ・要は求めている完成形は   分単位の作業時間 時間単位の作業時間 残業時間 終業予定時刻  ってことでいいですか? ・残業時間は時間単位で分まで表示? ここからアドバイス ・上記の疑問が解決されれば、計算式も提示できないでもないですが、現時点では求めるストレートな回答は出せそうにありません。 ・今の時点でできるアドバイス、  一回0分から600分ぐらいまで必要な時間分の  表を作ってしまって、あとはそれをVlookup関数で  参照に行く方法はどうですか?

karma_pagoda
質問者

補足

すみません、どうも頭が混乱しておりまして説明がうまくいかずに申し訳ありません。 何とか自己解決まで持っていけそうですが、色々な方法を知りたいのでよろしくお願いします。 会社には8時から17時まで居ます。 拘束時間が480分(8時間)で日報を出すようになっているのでつい。 スケジュールと致しましては 8時05分 始業 10時00から10時10分 休憩 12時00分から13時05分 昼休 15時00分から15時10分 休憩 17時00分から0.5(30分)区切りで残業あり。 以後2時間に1回10分の休憩。 正確には8時からの5分と13時からの5分は作業時間ですが、朝礼等があるので、作業時間には含めないようにしています。 17時から18時までの1時間残業の場合、17時からの10分休憩は無し。17時から19時までの場合は10分休憩が17時から有る。 以後19時から21時は19時から10分休憩がある。 分単位の作業時間 時間単位の作業時間 残業時間(30分単位) 終業予定時間 の4つが表示出来れば助かります。 残業は30分単位で表示出来れば助かります。 まだ生産管理に回って2日もたっていない上に、派遣社員が何十人も入ってきて、作業組み替え等で頭がパンク寸前です。 周りにエクセルが出来る人が居ないので、よろしくお願いします。 今の自己解決策としては 分単位の合計をMODとINTで時間表示し、 IF(B1>479,"30分残業",IF(B1>509,"1時間残業"))...続く と、今確認なしで考えています。 終業予定時間に関しては、今だ頭をひねっております・・・。

noname#60992
noname#60992
回答No.1

>2時間残業では10分の休憩が17時からあり、19時までです。 休憩時間は作業時間に含まれると考えてよろしいでしょうか? 2時間以上の残業の可能性はありますか? ある場合は休憩時間はどうなりますか? 

karma_pagoda
質問者

補足

回答頂きありがとうございます。 上記にも記載致しましたが、スケジュールと致しましては 8時05分 始業 10時00から10時10分 休憩 12時00分から13時05分 昼休 15時00分から15時10分 休憩 17時00分から0.5(30分)区切りで残業あり。 以後2時間に1回10分の休憩。 となっております。 一応拘束時間が480分(8時間)で昼の休憩が1時間ある事を考えると、休憩時間は作業時間に含まれていると考えていいと思います。 2時間以上の残業はあります。 最長4時間までで、2時間につき10分の休憩が与えられます。

関連するQ&A

  • エクセル関数で給与の計算について

    エクセルの関数を使って、出社時刻と退社時刻、休憩時間を入力するだけで日給が求められるようにしたいのですが、どうしてもうまく計算されません。 始業時間 10:00  時給 1,000 終業時間 17:00  残業割増 100 休憩    1:00  休日割増 100 と決まっていて、平日に残業がある場合、休日出勤で残業がある場合、残業はない場合などがありますので、それらの条件での日給を求めたいのです。 表には、A1からK1までに下記のような項目と値になっています。   日付 曜日 出社時刻 退社時刻 出社  退社  休憩  6/1  土  9:45  18:25   10:00 18:15 1:00 残業  時間  実働時間  日給 1:30  8:30 8.50 9,200 Eの出社には、15分単位で切り上げた値を、Fの退社には、15分単位で切り捨てた値がでるようにして、Iの時間には、「F-E-G+H」、Jの実働時間には、シリアル値を時間と分に変換する計算になっています。 日給がうまく計算される方法は無いでしょうか? 教えてください。お願いします。

  • エクセル関数

    現在エクセルで勤務時間を計算するデータを作成しているのですが、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分の休憩を考えた関数をどなたか教えていただけないでしょうか? 宜しくお願い致します。

  • Excelで給料計算したいのですが…

    Excelで、バイトの給料計算をしたいと思って、自分で表を作ってみました。 検索して、一番簡単で使いやすそうなやつを探して、作ってみたのですが、計算が合わなくて、 どんな式にしたらいいか分かる方いたら、教えて下さい。 現在、表は始業時間、終業時間、休憩時間、実労働時間、契約内時間、残業時間で作ってます。 時給計算は、ひとつにまとめるやり方が分からなくて、契約内日給と残業日給に分けました。 始業時間、終業時間、休憩時間はセルの書式設定で「h:mm」で表示。 実労働時間は「=終業時間-始業時間-休憩時間」。 契約内時間は「=MIN("8:",終業時間-始業時間-休憩時間)」で最大8時間まで書き出すようにして、残業時間は、「=実労働時間-契約内時間」です。 そして、給料計算なのですが、 契約内日給は「=契約内時間*1000*24」、残業日給は「=残業時間*1250*24」にしたのですが、 うちの仕事場は5分単位で残業代が出るため、労働時間が8時間5分とか、8時間20分というのが出てきます。 この時、例えば20分の場合、0.3333…に1250をかけて、417とExcelは解答するのですが、 実際は、0.34時間*時給で、小数点2ケタ表示で切り上げっぽいのです。 ROUNDUPで切り上げ設定できるらしい事は分かったのですが、今の計算式にどう入れていいのか分かりません。 時間を入れただけで、、Excelで全て自動的に計算してもらう方法はありますか?

  • 関数初心者です。

    お世話になってます。 エクセルで勤務表を作る事になってしまい困ってます。 初心者ですのでわかりづらい説明になるかと思いますが、 よろしくお願いします。 A1に休憩開始時刻、B1に休憩終了時刻。 C1に休憩時間合計を表示させる際に、15分刻みにし、 15分未満なら切り上げし、表示させる。 15分超えた場合は切り下げし、その答えを赤字で 表示させたいのですが、どういう関数を使えば よろしいでしょうか?

  • エクセルを使用した残業計算

    はじめまして。 自分で調べてみましたが上手くいかず、困っています。 ご存知の方、ぜひ教えてください。 エクセルを使用して、勤怠管理をします。 出勤時間は「9時」だけでなく、業務により「10時」になることもあります。 業務時間は出社時刻より8時間。休憩1時間。 これを超えた分から残業となります。 15分単位で計算。 以下のような様式にし、出社、退社を手入力して 残業時間を表示し、最下段で集計したいです。 どのようにすれば良いでしょうか? なお、残業は、1時間45分の残業なら1.75と表示されると助かります。 氏名 ○○ 日付   出社 退社  残業時間 ○日(△)8:55 19:05 1:00 ・・・    ・・・  ・・・  ・・・ ↓ 合計            □□.□ よろしくお願いしますm( )m

  • Excel のIF関数について

    いつもお世話になっております。 Excel で表を作成しようとしています。 C列(始業時間) D列(終業時間) E列(休憩時間) を表示するようにしています。 E列の休憩時間に入る数値は『1:00』なので、 C列を入力したら自動的に表示するようにしようと思いました。 ただし、休みの日があったり、13:00以降の始業時間だと休憩時間はないので   始業時間が空白の時は、休憩時間も空白   始業時間が『13:00以降』の場合も休憩時間は空白 …というようになるようE列に下のようなIF関数をたててみました。 =IF(ISBLANK(C1),"",IF((C1)<"12:00","1:00","")) うまくいったように思ったのですが、始業時間に13時以降の時間を入れても 休憩時間は空白にならず『1:00』を表示してしまいます。 あれこれ考えたのですがギブアップです…。 どなたかアドバイスいただければ幸いです。 よろしくお願い致します。

  • エクセルでタイムカード計算

    初心者です。エクセルで次のような計算をしたいのですが 基本の 始業時間19:00  終業時間1:10 で 実働 5:30 です 21:00~21:20 まで20分休憩を引きます 23:10~23:30 まで20分休憩を引きます 19:00より前は早出になります 1:20から残業ですが2Hに10分ずつ休憩が入ります 残業は30分単位です   それで第2の設定として A 19:00~21:59 普通時間(早出含む) B 22:00~1:10  普通残業 C 1:20~      深夜残業   作成したい表は 始業時間と 終業時間をいれると A(定時だと2:40) B(定時だと2:50) C               と3段階で表示されるものです 何とかできないでしょうか? フリーソフトも色々みたのですが? 困っています 宜しくお願いいたします

  • EXCELの関数について教えてください。

    エクセルの関数?で2点質問があるのですが、お教えください。 残業時間の計算をエクセルで行いたいと思っています。 例えば、手入力でA1のセルに出社時間、 A2のセルに退社時間を入力すると 自動的にA3のセルに残業時間を表示させたい場合、 どういう関数?を書けばよいのでしょうか? ちなみに一日の勤務時間は、7:30で、 休憩時間が、1:00です。 ですので、例えば9:00~20:00まで働いた場合、 2:30の残業になります。 もう1点あるのですが、毎日その残業時間を 1日1行で記録していって、残業時間の合計を 表示させてたいのですが、残業の合計時間が 10時間未満は文字色黒、10時間以上20時間未満の場合は 文字色青、20時間以上の場合は文字色を赤にしたいのですが、 可能でしょうか? どうかよろしくお願いいたします。

  • Excelの関数式について

    以前、こちらで勤務時間表の作成について質問をさせて頂きました。 この度勤務時間表のとなりに給料の早見表を作成することを考えております。 現在は、以下のようになっております。 C4=始業時間[基本8:45 変動なし]  D4=終業時間[基本17:15だが、残業に応じて15分単位で増える]   E4=実働時間[D4-C4-休憩(1時間)の合計]   =IF(C4="","",D4-C4-TIME(1,0,0)) F4=残業時間[基本労働時間(7時間30分)-実働時間の合計]   =IF(E4="","",E4-TIME(7,30,0)) この隣に以下内容を追加する事を考えております。 G4に実働時間分の給料[実働時間(E4)×1530円] H4に残業時間分の給料[残業時間(F4)×382円] I4に合計の給料[G4+H4] 下部のI35にI4からI35までの合計給料 を表示させたいのですが、今一上手に出来ません。 ご迷惑をおかけしますが、どのような式を入れたらよいのか、 ご教授頂けますよう、お願い致します。

  • 勤怠の集計表をエクセルで作成しました。

    勤怠の集計表をエクセルで作成しました。 実際に手計算すると0:00になるのに、関数を組んだところ、###########・・・と表示されます。 どうしてですか? 内容は・・・ 『時』『分』を分けてセルに入力(例:A1セル→8、B1セル→:、C1セル→30)すると、 一日の労働時間を求めるようになっており、『残業』、『深夜残業』も求めるようにしています。 さらに表の下部に求められた時間の合計が表示するように作りました。 実際にテストで入力してみたところ、始業が14:00、終業が22:00(休憩なしで、8時間労働) にすると労働時間が求められ、『深夜残業』が0:00と表示されますが、『残業』が ##############・・・となり、カーソルを合わせると「負の日付又は時間は########と表示します」 とメッセージが表示されます。 しかし、実際は0:00と表示されてきてほしいのですが、上記のように表示され、表下部『残業』合計 が正しい数字になってきません。 いろいろと関数を組みなおしてみたのですが、結果は同じでした。 教えてください。よろしく御願いします。 ちなみに、私が組んだ関数は以下の通りです。 =IF(J6>"22:00",O6-"8:00"-R6-P6,IF(J6<"22:00",O6-"8:00"-P6)) 上記セルの内容は以下の通りです。   J6・・・終業、O6・・・労働時間、R6・・・深夜残業、P6・・・早出時間  基本となる時間は、   始業・・・8:30、終業・・・17:30です。

専門家に質問してみよう