- ベストアンサー
エクセルでの稼動管理計算と進捗管理の方法
- エクセルを使用した稼動管理計算と進捗管理の方法を教えてください。
- 複数の仕事に必要な時間を計算し、進捗予定を確認する際に休憩時間も考慮した方法を教えてください。
- 具体的な例として、仕事Aに30分、仕事Bに50分、仕事Cに20分がかかる場合、休憩時間があり、休憩後の計算結果がずれる場合の対応方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
質問がやっと理解できました 日付付の時間計算と言う事ですね 計算する時に日付を取ってしまえばよいのです #1をアレンジして =IF(開始時間-INT(開始時間)+仕事A+仕事B>TIMEVALUE("11:30"),開始時間+仕事A+仕事B+TIMEVALUE("0:45"),開始時間+仕事A+仕事B) 開始時間に日付がついていると思うので 開始時間-INT(開始時間) で日付を取っています シリアルで表現すると分かりやすいので 開始時間を 2008/12/18 09:00 とします 2008/12/18 09:00 をシリアルにすると 39800.375 先ほどの式にあてはめると =39800.375-INT(39800.375) INTを計算すると =39800.375-39800 となり =0.375 これを時間で表現すると 09:00 となり 日付が変わっても >TIMEVALUE("11:30")で比較できるようになります 以上です
その他の回答 (3)
- hige_082
- ベストアンサー率50% (379/747)
>しかし、翌日まで計算しようとすると+24H分のシリアルが必要になるので >一旦0時の時点でリセットする必要があるようです・・・・ そんなことはありません、出来ますよ 質問に書いていなかったので、考慮していませんでしたが 方法はいくつかあります 入力の方法を変更する 終了時間-開始時間=実働時間が 23:00-20:00=3:00 の場合は問題はないが 02:00-20:00= が成り立たないということですよね この場合は日付を付加すればよいのです 2008/12/9 02:00-2008/12/8 20:00=6:00と成ります 他にも 26:00-20:00=6:00 いずれもセルの書式をhh:mmとすれば、見た目は 02:00-20:00=6:00と成ります シリアル値の仕組みが分かれば、計算にも応用しやすいと思います 日付の計算 2008/12/9-2008/12/8=1日 上の式をシリアル化すると 39791-39790=1 1日は24時間なので、1÷24がシリアル値の1時間になります 先ほどの時間計算にあてはめると 1/24*2-1/24*20= マイナスになるので成り立たない 1日経過してるので1を加える (1+1/24*2)-1/24*20=1/24*6 このことから、関数を使用して =IF(終了時間-開始時間<0,1+終了時間-開始時間,終了時間-開始時間) この式を応用すれば、今までの入力を変更せずに済むと思います ・・・・と、ここまで書いて、ふと頭を過ぎりました もしかして、こんなことではなく 23:00+03:00=02:00と成るのを 23:00+03:00=26:00と表示したいと言う事ですか それなら表示形式を[h]:mmとしてください バカ丸出し??? 長文失礼しました
- hallo-2007
- ベストアンサー率41% (888/2115)
例えば A B C D E F G H I J 作業 時刻 作業時間 休憩時間 作業 時間 休憩 時間 開始 8:00 A 0:30 0:00 0:00 B 0:50 11:30 0:45 C 0:20 15:00 0:30 17:30 0:30 と準備します B3セル =SUM(B2:D2) C3セル =VLOOKUP(A3,F$2:G$5,2,FALSE) D3セル =IF(VLOOKUP(B3,I$2:J$5,1)=VLOOKUP(B3+C3,I$2:J$5,1),0,VLOOKUP(B3+C3,I$2:J$5,2)) 入れて下までコピィします、 最初はエラーでますが、A列にA,B,C入れてみてください。 エラー処理、表示の方法はご自身でご検討ください。
お礼
ありがとうございます。 ちょっとやってみたのですが、思いと違うようです 説明が中途半端で申し訳ありません。
- hige_082
- ベストアンサー率50% (379/747)
=IF(開始時間+仕事A+仕事B>TIMEVALUE("11:30"),開始時間+仕事A+仕事B+TIMEVALUE("0:45"),開始時間+仕事A+仕事B)
お礼
ありがとうございます。 TIMEVALUEを使うと確かに行けそうですね しかし、翌日まで計算しようとすると+24H分のシリアルが必要になるので 一旦0時の時点でリセットする必要があるようです・・・・
お礼
ありがとうございます。 微妙に違うのですが、日付つきでの運用した場合シリアル値が大きくなるために 教えていただいた公式のTIMEVALUE("11:30")の時間部分11:30が小さいために その時間では無いと判断されているようです。 ちょっと表現がしにくくて申し訳ないのですが・・・・・ たとえれば、1回の11:30が翌日の11:30のシリアル値とは異なっているために45分が加味されない結果となりました。 表示形式を通常にして同じ時間なのに値が違うことを確認しています。 表現が乏しくて申し訳ありません。