[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『○月△日のA時のB時間後は…?』(兎)
教えていただけると助かります。
作業時間の予定表を作っているのですが、日付をまたいだ時間の計算がうまくできなくて悩んでいます。題とは変わりますがA日B時のC時間後はD日E時と表示したいのです。ひとつは24時間稼動しているもので、ひとつの製品の作業に何十時間もかかったり、しているため日付をまたぐことも多いのです。基本的に終了時刻が次の項目の開始時間にそのままなります。
A B C D E
開始日 開始時刻 作業時間 終了日 終了時刻
A,B=自分で入力、又は前回のD,Eをコピー
E=A+C
D=??? がどうしてもわからないので教えて下さい。
もうひとつ、22時間稼動で0時から1時、12時から13時に休憩が有るためその分を考えた(足した)終了日時をだしたいのです。
よろしくお願いします。
日付は単に、日付と時間をひとつのセルにすることによって解決致しました。
もうひとつのほうを宜しくお願いします。
例としては、開始時刻7/2 21:00〜作業時間5時間として通常は足して終了時刻が7/3 1:00となりますが休憩を挟むので、7/3 2:00としたいです。(兎)
ご質問の21:00に5時間足せば2:00で休憩1時間プラスすれば3:00ではないのですか? 3:00で良いのであれば、以下でいかがでしょうか。 A1=開始時間 7/2 21:00 B1=作業時間5時間 C1=終了時刻として
C1=A1+TIME(B1+1,0,0) (川野鮎太郎)
2時間であろうと100時間であろうと計算は出来ると思いますが、 なにぶん条件が判らなければ、式の作りようがないですね(^_^A; 例えば、何時間から何時間までは休憩が何回で1回当たり何時間とかです。 これは最初の質問の1日2回の休憩0:00〜1:00と12:00〜13:00で決まりでしょうか? もしそうだとして、23:00から2:00まで働いた場合は実働2時間でしょうか。 また、1:00から12:00までの場合は休憩なしの実働11時間でしょうか。 (川野鮎太郎)
などと大きなことを言いましたが私の能力ではムリのようです(^_^A; (川野鮎太郎)
ひとつ提案です。休憩時間を算出するための作業列を追加して出す方法なら以下ではどうですか。
A2=開始時間 B2=作業時間(数値で入力)C列〜K列までを休憩時間算出のためのセル L列=終了時刻として。
C2=IF(HOUR(A2)+B2>12,1,0) D2=IF(HOUR(A2)+B2>=24,1,0) E2=IF(HOUR(A2)+B2>=35,1,0) F2=IF(HOUR(A2)+B2>=46,1,0) G2=IF(HOUR(A2)+B2>=57,1,0) H2=IF(HOUR(A2)+B2>=68,1,0) I2=IF(HOUR(A2)+B2>=79,1,0) J2=IF(HOUR(A2)+B2>=90,1,0) K2=IF(HOUR(A2)+B2>=101,1,0)
L2=DATE(YEAR(A2),MONTH(A2),DAY(A2+INT((HOUR(A2)+B2)/24)))+TIME(HOUR(A2)+SUM(C2:K2)+MOD(B2,24),0,0)
一度試してみてください。 (川野鮎太郎)
失礼致しました・・・前に回答した数式は不十分な物でした・・・ (A7など作業セルが残っていました(^^;) 削除致しました。 投稿を急ぎすぎたようですm(_ _)m (Hatch) 思いっきり作業列を使用してみました。 Sheet1のB2に作業時間を数値(セルの表示形式:標準)で入力。 C2セル:=HLOOKUP(B2,Sheet4!$A$1:CV2,ROW(),FALSE) A3セル:=C2 A B C 1 開始時間 作業時間 終了時間 2 2004/7/2 20:00 5 2004/7/3 2:00 3 2004/7/3 2:00 24 2004/7/4 4:00 Sheet4の$A$1:CV2(必要行まで)を作業列に使用します。 1行目のA1から右へ1,2,3と数値を連続して入力。 A2セル:=IF(OR(TIME(HOUR(Sheet1!A2),MINUTE(Sheet1!A2),0)+"1:00"=TIME(1,0,0),TIME(HOUR(Sheet1!A2),MINUTE(Sheet1!A2),0)+"1:00"=TIME(13,0,0)),Sheet1!A2+"2:00",Sheet1!A2+"1:00") 下方向へコピー必要なだけコピーします。 B2セル:=IF(OR(TIME(HOUR(A2),MINUTE(A2),0)+"1:00"=TIME(1,0,0),TIME(HOUR(A2),MINUTE(A2),0)+"1:00"=TIME(13,0,0)),A2+"2:00",A2+"1:00") 右方向へ必要時間分コピーし、下方向へ必要なだけコピーします。 A B C CV 1 1 2 3 100 2 2004/7/2 21:00 2004/7/2 22:00 2004/7/2 23:00 ・・・・ 2004/7/7 9:00 3 2004/7/3 3:00 2004/7/3 4:00 2004/7/3 5:00 ・・・・ 2004/7/7 15:00 いかがなものでしょうか? (Hatch)
お二方のやり方を試してみましたところ、完璧に出来ました!
本当に助かりました!有難うございました!(兎)
あら、完璧にいっちゃいましたか?(^_^A; 私のは、作業開始時間が午後から始まった場合には、上手くいかないことを発見しましたで Hatchさんのをお使いになってください。m(_ _)m (川野鮎太郎)
川野様>すいません…確認不足でした。 いくつか調べたら+1時間されてしまっているものがありました。 Hatch>出来た!と思ったのですが…#REFと出てしまいます。 >C2セル:=HLOOKUP(B2,Sheet4!$A$1:CV2,ROW(),FALSE) ()の中身が抜けているのでしょうか? 重ね重ね申し訳ないです。(兎)
作業時間が未入力の時にC2セルなどに『#N/A』と表示されるのを空白にするには C2セルは=IF(B2="","",HLOOKUP(B2,Sheet4!$A$1:CV2,ROW(),FALSE)) A3セルは=IF(ISNA(C2),"",C2) とし、下方向へ必要なだけコピーします。 Sheet4の方は作業用ですからエラー表示はそのままでもいいと思いますので、 放置致します。 『#REF』は数式を入力後、参照セルが削除された場合に表示されます。 数式を見直してください。 (Hatch)
Hatch様>前回、「様」を付け忘れてしまいました!!大変申し訳ないです!!!m(_ _)m そして、やっと完成しました。 『#REF』になっていたのは、どうやら作業時間を入力したセルの行番号と 作業用に作ったシートで参照したセルの行番号が違っていた為でした。 丁寧に教えて頂き、有難うございました!(兎)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.