[ sawitch @ 25.06.2015. 18:27 ] @
Pozdrav svima. Koristio sam forum mnogo puta ali se sada prvi put registrujem jer ne mogu nikako da dodjem do resenja sledece problematike:

Imam tri smene u intervalima:

I 06-14h
II 14-22h
III 22-06h

Potrebno mi je da u jednom polju nekom magicnom formulom izracunam protekle minute od svake smene. Da dobijem ceo broj. Jer mi je to polje potrebno kasnije u nastavku nekih racunica.

Skontao sam kako napraviti formulu za racunanje prve smene i druge smene, ali ne znam kako da ih ukombinujem u jednu uslovnu i kako da sredim trecu smenu.

Prva bi glasila ovako:
=(TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))-TIME(6,0,0))*1440 i naravno da polje formatiram kao broj bez decimala.

Za drugu smenu bi bilo:
=(TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))-TIME(14,0,0))*1440

A za trecu je zeznuto. Jer mi prelazi vreme iz jednog dana posle ponoci u drugi.

Ubijam se vec nedelju dana trazeci resenje i nisam uspeo. Hvala unapred!
[ 3okc @ 25.06.2015. 19:12 ] @
Računanje razlike je u principu jednostavno: oduzmeš dva broja. Pri tome vodiš računa da oduzimaš "početak" od "kraja" a oni su lako prepoznatljivi po tome što je ovaj prvi uvek manji. Izuzev prilikom prelaza dana u toku smene, tada imaš izuzetak ali tu se "krši" i prethodno pravilo, naime, sada je početak smene "veći" pa se to može uzeti kao merodavan test za korekciju.

Trajanje = kraj - poč + (kraj<poč)

Ovo je pod uslovom da su i poč. i kraj uneti regularno, kao vreme (a ne tekst ili datum+vreme).
[ sawitch @ 25.06.2015. 20:12 ] @
Mislim da nisam razumeo..
[ dusans @ 25.06.2015. 20:31 ] @
Probaj ovo:
Code:

=MOD((TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))-TIME(22,0,0))*1440;1440)
[ Ivek33 @ 25.06.2015. 21:23 ] @
Citat:
sawitch:
A za trecu je zeznuto. Jer mi prelazi vreme iz jednog dana posle ponoci u drugi.
Ubijam se vec nedelju dana trazeci resenje i nisam uspeo. Hvala unapred!
Šteta što nisi postavio primjer svoje workbook.
Ja sam nešto kemijao sa dnevnim-noćnim satima pa ako ti može pomoći ili možda tema radni sati

[ 3okc @ 25.06.2015. 22:55 ] @
Citat:
sawitch: Mislim da nisam razumeo..

Citat:
3okc: Trajanje = kraj - poč + (kraj<poč)


kraj = ćelija sa vremenom kraja smene, recimo da je 6:00
poč = ćelija sa vremenom početka smene, recimo da je 22:00

Trajanje = tražena razlika ovo dvoje. Samo ih uvrstiš u formulu tako što imena zameniš u adrese ćelija. Ovaj rezultat formatiraj u željeni oblik h:mm ili [mm].

Pogledaj stariju diskusiju Obračun noćnog rad za vozače za dodatne ideje.
[ sawitch @ 26.06.2015. 18:31 ] @
Izvinjavam se sto nisam postavio svoj Workbook, ali evo slike kako bi trebalo da izgleda...



Sada cu da pogledam to racunanje nocnih smena...
[ sawitch @ 28.06.2015. 11:07 ] @
Sklepao sam i formulu za trecu smenu:

=IF((TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())))>TIME(22,0,0),((TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())))-TIME(22,0,0))*1440,(((TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))))*1440)+120)

Tako da uz ove za prve dve smene:

I
=((TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))-(TIME(6,0,0)))*1440)

II
=((TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()))-(TIME(14,0,0)))*1440)

Imam za sve tri.

Umesto formule (TIME(HOUR(NOW()),MINUTE(NOW()),SECOND(NOW())) mogu koristiti samo polje I3.

E sad, mogu li se ove tri formule ukombinovati u jedno polje? Ili da trazim drugo resenje.

Trebalo bi nesto ovako: Ako je I3 6-14h da racuna I3-6, ako je 14-22h da racuna I3-14 i ako je 22-00 da racuna I3-22 i ako je vece od 0 da racuna I3+2.

Moze li vise IF funkcija biti u jednom polju?
[ sawitch @ 28.06.2015. 11:25 ] @
Kada bih preimenovao I3 celiju u "vreme" recimo mogao bih poprilicno da uprostim formulu jer se onda odnosi na tu celiju i ne mora ciljna celija da deluje samostalno. Pa bi bilo ovako

I smena:
=((Vreme)-(TIME(6,0,0)))*1440

II smena:
=((Vreme)-(TIME(14,0,0)))*1440

III smena:
=IF((Vreme)>TIME(22,0,0),((Vreme)-TIME(22,0,0))*1440,((Vreme)*1440)+120)

Izgleda prijemcivije za oko. Trebalo bi mi da postavim sada to sve u jednu. Ako neko moze da me nauci kako. :) Postoji li mogucnost da koristim IF funkciju sa intervalom? Pa recimo da bude =IF(vreme (6,0,0)-(14,0,0),vreme-(6,0,0)..............
[ dusans @ 28.06.2015. 13:22 ] @
Da li sipogledao formulu koju sam postavio, cemu zelja za komplikacijom?
[ dusans @ 28.06.2015. 15:22 ] @
Stavi u formulu separator koji je vec podesen kod tebe u sistemu umesto ; (ne mogu znati ja kako je kod tebe, kod mene je ; )
[ sawitch @ 28.06.2015. 16:15 ] @
Aha, izvini. Bila je jedna samo zamena. ; za ,

Sada sam ukucao i radi formula za trecu smenu. Hvala ti. Jednostavnija je od moje...

E sad, moze li to sve da se skocka u jednu formulu? Da sam Excel skonta koja je smena i da racuna vreme samo u toj smeni....
[ dusans @ 28.06.2015. 16:39 ] @
Naravno da moze... Uradi minimum tri izracunate vrednosti.
MIN(Vreme1, Vreme2, Vreme3)
Gde je Vreme1 vreme od pocetka prve smene, Vreme2 od pocetka druge smene, itd...

Edit:
Idemo u dalje pojednostavljenje - To što tebi treba, najlakše se radi aritmeticki sa brojevima umesto sa time egzibicijama.
Tako da tvoja formula za izracunavanje vremena (u minutima) od početka smene, treba da bude:

Code:

=MOD(NOW()-6/24; 1)*1440
=MOD(NOW()-14/24; 1)*1440
=MOD(NOW()-22/24; 1)*1440


A proteklo vreme od tekuće smene bi bilo:
Code:

=MIN(MOD(NOW()-6/24; 1); MOD(NOW()-14/24; 1); MOD(NOW()-22/24; 1))*1440


A evo, vidim, postoji i aritmetički sistem oko cele stvari:
https://sr.wikipedia.org/wiki/...%D0%B5%D1%82%D0%B8%D0%BA%D0%B0

[Ovu poruku je menjao dusans dana 28.06.2015. u 18:20 GMT+1]
[ Ivek33 @ 28.06.2015. 17:03 ] @
Citat:
sawitch:Izvinjavam se sto nisam postavio svoj Workbook, ali evo slike kako bi trebalo da izgleda...
Ma nemaš se što izvinjavati, slika lijepo izgleda, zanimljiva kombinacije boja, ali se na njoj ne može računati.
Što nisi postavio primjer Workbook (sa nekim simuliranim podacima i primjerom rezultata)?
[ sawitch @ 28.06.2015. 17:12 ] @
E sad sam ja izgleda nepismen. :) Kako da ti postavim Workbook?
[ sawitch @ 28.06.2015. 17:18 ] @
Sto se slike tice, sada cu malo da pojasnim..

Machine kolona (tu imam vec utvrdjen redosled masina)

Podatke za kolone Cutting time, Setup Time, Wires i Orders kopiram iz drugog programa. Eksportujem u Excel podatke, konvertujem u brojeve, formatiram kao brojeve sa 0 decimala i iskopiram u moju tabelu. Minutes kolona mi je potrebna jer u % koloni imam formulu (Cutting time/1,375+Setup Time)/Minutes. Tako dobijem trenutnu efikasnost.

Strelicama dole dobijam samo sume za Cutting Time, Setup Time, Wires i Orders za sve masine. Group Minutes je suma Cutting i Setup a Group Efficiency je Average funkcija kolone %.

E sad, imam Conditional Formating na % koloni. Prosle nedelje sam imao Less then 22% crveno, Between 22-32% zuto, i Greater then 32% zeleno.

Tako pratim svoj target, pratim koje masine mi ne stizu, pojacavam ih, samo sto imam ekstremno malo vremena da sve to pratim od drugih poslova. Pa mi je potrebno da uprostim tabelu sto vise mogu. Samo copy/paste i CTRL+P, Enter :)

Sada treba da proucim tvoju formulu jer nisam bas toliki strucnjak za Excel. Ucim ga ovih dana kako valja jer sam zadnji put koristio Excel ozbiljno na fakultetu pre 15 godina :) Hvala puno na trudu!
[ dusans @ 28.06.2015. 17:24 ] @
Citat:

E sad sam ja izgleda nepismen. :) Kako da ti postavim Workbook?


http://www.elitesecurity.org/faq/
tačka 22:
Citat:

22. Upload fajla uz poruku.

Ako želite da uploadujete neki fajl uz vašu poruku, kliknite na link “Upload uz poruku” koji se nalazi ispod vaše već napisane poruke. U polje Izbor fajla upišite adresu do fajla koji se nalazi na vašem disku. Preporučljivo je da koristite “Izaberi” dugme sa kojim ćete sami moći da pronađete fajl.
Kada završite se izborom fajla, pritisnite dugme “Upload” i fajl će biti uploadovan. Fajlove možete uploadovati najviše 24h od slanja poruke. Kada uploadujete fajl, svi će moći da ga downloaduju iz vaše poruke. Link će se pojaviti u dnu poruke.


Pa bi bilo poželjno da postaviš workbook fajl, da nam opisuješ problem baš i ne ide.
[ sawitch @ 28.06.2015. 17:27 ] @
Kralju, formula radi 100%. Sada sam izmenjao vreme u system trayu 10 puta i sve funkcionise. Sad samo da se ubijem da je rastumacim i shvatim.. :)
[ sawitch @ 28.06.2015. 17:37 ] @


Ja ne vidim tu opciju za upload fajla...
[ dusans @ 28.06.2015. 17:39 ] @
Evo:
[ sawitch @ 28.06.2015. 17:44 ] @
EVO GA!!!! A jesam nepismen..
[ sawitch @ 28.06.2015. 18:31 ] @
Gde si ti mene bacio sad. Necu samo da prihvatim formulu, moram i da je razumem i da naucim nesto. Pregledao sam par YT klipova u vezi MIN i MAX funkcija potom u vezi MOD. I koliko sam skontao MOD je kusur od deljenja. Recimo 12 delim sa pet, kliknem mod i dobijem kusur 2. A pokusavam da skapiram sad ovu formulu i ne ide mi. Pa moram da citam tay Wiki link za modularnu aritmetiku...
[ dusans @ 28.06.2015. 18:49 ] @
MIN i MAX vraćaju najmanju odnosno najveću od niza zadatih vrednosti, to si verujem skontao.
MOD je ostatak pri deljenju (kusur), i to si dobro razumeo.
E sad MOD u kontesktu vremena i formula...

Excel i njegove vremenske funkcije predstavljaju datum/vreme u obliku broja
i to u određenoj skali: 1.0 = 1 dan
Ovakvo "kodiranje" vremena nije specifičnost samo Excela već ga
koriste i razni drugi sistemi/programski jezici.
Vreme je frakcioni deo, tj. ono iza decimalne tačke.
Dani nas u ovom slučaju ne zanimaju pošto sva matematika ostaje u okviru jednog dana.

0.0 = 0 dana = 0 sati = 0 minuta
0.25 = 0.25 dana = 6 sati = 360 minuta
0.5 = 0.5 dana = 12 sati = 720 minuta
1.125 = 1.125 dana = 27 sati = 1620 minuta
...
Dakle ako predstavljamo vremena putem brojeva, možemo raditi
standardne matematičke operacije kao što su +, -, *, /

MOD operacija vraća ostatak pri deljenju. Na primer:
10 mod 7 = 3
4 mod 20 = 4
30 mod 15 = 0
Ukoliko se radi o negativnom deljeniku, postoji više načina računanja ali
Excel koristi baš onaj koji nama najviše odgovara u ovom slučaju:
-10 mod 7=4
-4 mod 20=16
-30 mod 15=0
Mod funkcija u samom excelu se računa po formuli MOD(n, d) = n - d*INT(n/d)
https://support.office.com/en-...69-b6ee-406a-a97b-edf2a9dc24f3

Ako imamo vremena T1, T2 gde je 0<T1-T2<1 onda je T1-T2 mod 1 = T1-T2 - mod nije imao nikakvog uticaja na rezultat.
A ako imamo vremena gde je -1<T1-T2<0 onda je T1-T2 mod 1 = 1 + T1-T2 - mod je izračunao razliku vremena baš onakvu kakva nam i treba.
Primeri u formulama za recimo prvu smenu:

NOW() = 3:00 -> MOD(NOW()-6/24; 1) = 0.875 (21 sat)
NOW() = 11:00 -> MOD(NOW()-6/24; 1) = 0.208333 (5 sati)
NOW() = 22:00 -> MOD(NOW()-6/24; 1) = 0.666666 (16 sati)

Iako to ovde nije demonstrirano, mod je operacija koja je veoma bitna kada se radi aritmetika
kod cikličnih nizova vrednosti, npr. kod vremena (koje ide od 0..24 pa opet 0..24, i tako u krug) i kod
recimo uglova (koji idu od 0..360 pa opet 0..360, i tako u krug).

I na kraju, zbog čega ona MIN funkcija za tri vrednosti?
Pa, prosta logika - aktuelna smena je ona čija je izračunata vremenska razlika najmanja u odnosu sadašnji momenat.

[Ovu poruku je menjao dusans dana 28.06.2015. u 23:15 GMT+1]
[ sawitch @ 29.06.2015. 06:45 ] @
Skapirao sam. Stvarno treba biti majstor pa ovo znati. Nije lako bilo skapirati ni uz ovo objasnjenje kada matematiku osim sabiranja i oduzimanja ne koristim vec 10+ godina. Hvala ti puno!