advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 37655 for IF (0.008 sec.)
[[20051217124814]]
#score: 1592
@digest: e44fd126f0eae6410151eceac201a514
@id: 18829
@mdate: 2011-04-11T13:19:52Z
@size: 6448
@type: text/plain
#keywords: rest0 (54132), edtime (40058), 位時 (35240), 業単 (31040), kyukei (29993), mytime (28459), rest2 (22494), rest1 (22494), sttime (17678), 業作 (14900), 業完 (14483), 量開 (14111), 前項 (6553), 名作 (6352), 憩開 (5646), sheet2 (5565), 了時 (5382), 間作 (5372), 始時 (5351), 間時 (3949), 間2 (3742), 時間 (3491), 業開 (3378), 間数 (3368), 111 (3142), み時 (2884), 開始 (2681), 作業 (2455), 完了 (2284), 単位 (2250), 1440 (2196), 製品 (1943)
『作業終了時間の計算』(mkz)
A B C D E 1 製品名 作業単位時間 数量 開始時間 作業完了時間 2 #111 1.1 500 3 の場合に休み時間が、10:00〜10:10, 12:00〜12:45 , 15:00〜15:10,17:15〜17:30 なっています。この休み時間をプラスした作業完了時間を計算する場合は、 どのようにしたらよろしいでしょうか? 最初の作業開始時間のみ入力で、その後は前項の作業完了時間を開始時間とします。 ---- なかなか回答が付かないようですので、何かの足しになれば・・・ 作業単位時間がどういうものか理解できませんでしたので、 必要な時間が入力されるとしています。 細かい検証はしていませんが、こんな感じでしょうか? (Hatch) A B C D E 1 製品名 作業単位時間 数量 開始時間 作業完了時間 2 #111 0:15 500 9:50 10:15 3 #112 1:00 10:15 11:15 4 #113 2:00 11:15 14:00 5 14:00 Sub test() Dim StTime As Long Dim EdTime As Long Dim myTime As Long Dim rest0 As Long Dim rest1 As Long Dim rest2 As Long Dim i As Long For i = 2 To Range("B100").End(xlUp).Row StTime = Round(Cells(i, 4).Value * 1440, 0) EdTime = StTime + Round(Cells(i, 2).Value * 1440, 0) myTime = StTime kyukei myTime rest1 = myTime myTime = EdTime kyukei myTime rest2 = myTime rest0 = rest2 - rest1 StTime = EdTime EdTime = EdTime + rest0 myTime = StTime kyukei myTime rest1 = myTime myTime = EdTime kyukei myTime rest2 = myTime rest0 = rest2 - rest1 EdTime = EdTime + rest0 Cells(i, 5).Value = EdTime / 1440 Cells(i + 1, 4).Value = EdTime / 1440 Next i End Sub Sub kyukei(myTime As Long) Dim rest0 As Long If myTime <= 600 Then rest0 = 0 If myTime > 600 And myTime <= 720 Then rest0 = 10 If myTime > 720 And myTime <= 900 Then rest0 = 55 If myTime > 900 And myTime <= 1035 Then rest0 = 65 If myTime > 1035 Then rest0 = 80 myTime = rest0 End Sub 回答、有難う御座います。 只、マクロは、未だ理解していませんので、 出来れば、Excelでの処理をお願致します。 又、説明不足の作業単位時間は、1台当たりの作業時間です。 #111は、1.1(M)*500=550(M) AM8:00開始で作業完了時間(休み時間入れ)の時刻を算出します。 ---- ◆関数による方法です! ◆少し、変更しました! 1)作業単位時間を、便宜上、単位時間 と表示しています! 2)作業時間=作業単位時間*数量 を追加しました ◆なお、条件として、開始時間は最初の休憩時間の10:00より以前とします! A B C D E F 1 製品名 単位時間 数量 作業時間 開始時間 完了時間 2 #111 1.1 100 110:00 8:00 9:50 3 #111 1.1 200 220:00 8:00 11:50 4 #111 1.1 300 330:00 8:00 14:25 5 #111 1.1 400 440:00 8:00 16:25 6 #111 1.1 500 550:00 8:00 18:30 ◆作業時間の式 D2=TEXT(INT(B2)*100+MOD(B2,1)*60,"00!:00!:00")*C2 ★表示形式は、ユーザー定義で、[mm]:ss にします ◆完了時間の式 F2=E2+D2+IF(E2+D2+"0:65"*1>"17:15"*1,"0:80",IF(E2+D2+"0:55"*1>"15:00"*1,"0:65",IF(E2+D2+"0:10"*1>"12:00"*1,"0:55",IF(E2+D2>"10:00"*1,"0:10",0)))) ◆もう少し、式を短く出来るかもしれませんが!? ◆いかがでしょうか! (Maron) ---- とりあえず作ってみました。 作業列を少なくする所に重きを置きましたので メンテは無理かも・・・・・。 Sheet1 A B C D E F G 1 製品名 作業 個数 作業 作業 作業 作業 単位 開始 終了 列1 列2 時間 時間 時間 2 #111 1 60 8:00 9:00 0:00 0:00 3 #111 1 60 9:00 10:00 0:00 0:00 4 #111 1 60 10:00 11:10 0:10 0:00 5 #111 1 60 11:10 12:55 0:45 0:00 6 #111 1 60 12:55 13:55 0:00 0:00 7 #111 1 60 13:55 14:55 0:00 0:00 8 #111 1 60 14:55 16:05 0:10 0:00 9 #111 1 60 16:05 17:05 0:00 0:00 10 #111 1 60 17:05 18:20 0:15 0:00 11 #111 1 60 18:20 19:20 0:00 0:00 Sheet2 A B 1 休憩開始 休憩終了 2 10:00 10:10 3 12:00 12:45 4 15:00 15:10 5 17:15 17:30 Sheet2に休憩開始時間と終了時間を入れてください。 Sheet1の関数は E2=IF(C2="","",D2+B2/(24*60)*C2+F2+G2) F2=IF(C2="","",IF(OR(IF(D2<=Sheet2!$A$2,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$A$2,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$B$2,1,0)=1,IF(D2<=Sheet2!$A$2,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$A$2,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$B$2,1,0)=2),Sheet2!$B$2-Sheet2!$A$2,0)+IF(OR(IF(D2<=Sheet2!$A$3,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$A$3,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$B$3,1,0)=1,IF(D2<=Sheet2!$A$3,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$A$3,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$B$3,1,0)=2),Sheet2!$B$3-Sheet2!$A$3,0)+IF(OR(IF(D2<=Sheet2!$A$4,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$A$4,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$B$4,1,0)=1,IF(D2<=Sheet2!$A$4,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$A$4,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$B$4,1,0)=2),Sheet2!$B$4-Sheet2!$A$4,0)+IF(OR(IF(D2<=Sheet2!$A$5,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$A$5,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$B$5,1,0)=1,IF(D2<=Sheet2!$A$5,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$A$5,1,0)+IF(D2+B2/(24*60)*C2<=Sheet2!$B$5,1,0)=2),Sheet2!$B$5-Sheet2!$A$5,0)) G2=IF(C2="","",IF(OR(IF(D2<=Sheet2!$A$2,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$A$2,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$B$2,1,0)=1,IF(D2<=Sheet2!$A$2,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$A$2,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$B$2,1,0)=2),Sheet2!$B$2-Sheet2!$A$2,0)+IF(OR(IF(D2<=Sheet2!$A$3,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$A$3,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$B$3,1,0)=1,IF(D2<=Sheet2!$A$3,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$A$3,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$B$3,1,0)=2),Sheet2!$B$3-Sheet2!$A$3,0)+IF(OR(IF(D2<=Sheet2!$A$4,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$A$4,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$B$4,1,0)=1,IF(D2<=Sheet2!$A$4,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$A$4,1,0)+IF(D2+B2/(24*60)*C2+F2<=Sheet2!$B$4,1,0)=2),Sheet2!$B$4-Sheet2!$A$4,0)+IF(OR(IF($D2<=Sheet2!$A$5,1,0)+IF($D2+B2/(24*60)*C2+F2<=Sheet2!$A$5,1,0)+IF($D2+B2/(24*60)*C2+F2<=Sheet2!$B$5,1,0)=1,IF($D2<=Sheet2!$A$5,1,0)+IF($D2+B2/(24*60)*C2+F2<=Sheet2!$A$5,1,0)+IF($D2+B2/(24*60)*C2+F2<=Sheet2!$B$5,1,0)=2),Sheet2!$B$5-Sheet2!$A$5,0)-F2) として、必要行下にコピーして下さい。 「最初の作業開始時間のみ入力で、その後は前項の作業完了時間を開始時間とします。」 とのことですので、D列は D3=IF(C3="","",E2) で、下にコピーです。 うまくいきますでしょうか? (HANA) 皆さん、有難う御座います。 休み時間を含んでいます。 感激*2でした。 これから応用して行きます。 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200512/20051217124814.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97040 documents and 608045 words.

訪問者:カウンタValid HTML 4.01 Transitional