- A B C D
- 1 OD DO SATI NOCNI RAD
- 2 4:00 12:00 8,00 2,00
- 3 7:00 15:00 8,00 0,00
- 4 16:00 23:00 8,00 1,00
- 5 22:30 6:30 8,00 7,30
Avko | 09.07.2015 21:36 |
---|---|
Predmet:izracun nocnog rada molio bi pomoc za izracun sati nocnog rada PreuzmiIzvorni kôd (Text): zanima me excel formula ili VBA kod koji bi stavio u modul, dakle bilo sto samo da izracunam kolonu D.
Kolonu C nije problem izracunati uz pomoc formule MOD(B1-A1;1)*24. = ukupno sati, ali mi je problem izracunati nocni rad. Nocni rad je od 22:00 do 6:00. unapred zahvaljujem |
zxz | 13.07.2015 17:20 |
---|---|
Predmet:Re: izracun nocnog rada Posto niko nije htio evo mene opet. PreuzmiIzvorni kôd (Visual Basic):
|
Avko | 14.07.2015 09:39 |
---|---|
Predmet:Re: izracun nocnog rada hvala vrlo zanimljiva funkcija. konac koje dijelo krasi. Moglo bi se reci da tvoji kodovi imaju vise umjetnicki karakter u sebi, a ne matematicki algoritam. Ono sto je stradivari u rukama violinskog virtuoze to je u tvojim rukama vb. Tako jednostavno, a opet kompleksno. Covjek gledajuci ovo nemoze a da se ne upita: pa kako se ja toga nisam sjetio? |
Avko | 14.07.2015 11:40 |
---|---|
Predmet:Re: izracun nocnog rada samo da javim da radi. Malo sam prilagodio svojim potrebama. Ducan moze raditi dvokratno: I termin :dnevni udarni, a II termin: nocni. Uveo sam varijablu nocni1, a u samoj funkciji ne formatiram Nocni, vec ga ostavljam u decimalnom obliku. Pri tome provjeravam ako je ducan bio zatvoren, inventura, odredeni datum onda ne upisujem 0,00 vec "" (prazan string). |
Avko | 12.07.2015 11:05 |
---|---|
Predmet:Re: izracun nocnog rada evo ga u meduvremenu nasao na internetu vise rijesenja ali niti jedno nije radilo pa sam morao malo proucavati i pronaci pravo rijesenje. pa evo ga: ako zelimo decimalni format upisemo: =IF(AND(A3>0;B3>0);IFERROR((MOD((TIMEVALUE(B3)-TIMEVALUE(A3));1 )*24-(TIMEVALUE(B3)<TIMEVALUE(A3))*(22-6)+MEDIAN(TIMEVALUE(A3)*24;6 ;22)-MEDIAN(TIMEVALUE(B3)*24;6;22));"0,00");"") ako zelimo format vrijeme (hh:mm) onda upisemo: =IF(AND(A3>0;B3>0);IFERROR(TEXT((MOD((TIMEVALUE(B3)-TIMEVALUE(A 3));1)*24-(TIMEVALUE(B3)<TIMEVALUE(A3))*(22-6)+MEDIAN(TIMEVALUE(A3)*24;6 ;22)-MEDIAN(TIMEVALUE(B3)*24;6;22))/24;"hh:mm");"0,00");"") moje celije formatirane su opcenito pa je u njima vrijeme u obliku stringa zato koristim TIMEVALUE(), ako su vase celije vec formatirane kao vrijeme onda izbacite TIMEVALUE() eto, to je to. Mozemo dalje. |