Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Obračun noćnog rad za vozače

[es] :: Office :: Excel :: Obračun noćnog rad za vozače

[ Pregleda: 5461 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

koreja2001

Član broj: 278867
Poruke: 20
*.dsl.iskon.hr.



Profil

icon Obračun noćnog rad za vozače06.07.2013. u 23:38 - pre 131 meseci
Imam problem kod izračuna noćnog rada za vozače pa molim za pomoć.
Da malo pobliže objasnim: vozač počinje raditi 05.07.2013 u 20:00 i završi svoj rad 06.07.2013 u 9:00.
Radno vrijeme mu je 13:00 od toga mu je 8 sati dnevni rad a 5 sati noćni rad.
Kako izračunati noćni rad za vozače ako je on u periodu od 00:00 do 5:00 propisan zakonom.

Hvala

Prikačeni fajlovi
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1319

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Obračun noćnog rad za vozače07.07.2013. u 13:57 - pre 131 meseci
Možda još nešto iznađem kasnije a u međuvremenu, vidi da li ti nešto od ovog pomaže:

Video-uputstvo Majkla Gervina (Girvin)
    Hours Worked Part Day Shift & Part For Night Shift MEDIAN Function for Hurdle


Rešenje putem korisničke f-je (VBA), Bila Rokenbaha (Rockenbach)
Citat:
Code:
Option Explicit

Function dShiftHrs(rngStartTime As Range, rngEndTime As Range) As Double
    Dim StartTime As Double
    Dim EndTime As Double
    Dim ShiftHours
    Const DaytStart As Double = 0.270833333
    Const NightStart As Double = 0.770833334
    StartTime = rngStartTime - Int(rngStartTime)
    EndTime = rngEndTime - Int(rngEndTime)
    If Int(rngStartTime) = Int(rngEndTime) Then    ' all hours in same day
        If StartTime >= NightStart Then   'all night shift do nothing
        ElseIf EndTime < DaytStart Then  'all night shift do nothing
        ElseIf StartTime >= DaytStart And EndTime <= NightStart Then  'all day shift
            dShiftHrs = EndTime - StartTime
        ElseIf StartTime >= DaytStart And EndTime > NightStart Then  'day shift and night shift
            dShiftHrs = NightStart - StartTime  'day shift hours
        ElseIf StartTime < DaytStart And EndTime < NightStart Then    'night shift and day shift
            dShiftHrs = EndTime - DaytStart
        ElseIf StartTime < DaytStart And EndTime > NightStart Then    'Night Shift, DayShift, Night Shift
            dShiftHrs = 0.5
        End If
    Else    'hours in two days
        If StartTime > NightStart And EndTime < DaytStart Then  'all night shift do nothing
        ElseIf StartTime > NightStart And EndTime > DaytStart And EndTime < NightStart Then  'night shift day shift
            dShiftHrs = EndTime - DaytStart
        ElseIf StartTime > NightStart And EndTime > NightStart Then   'night shift, day shift, night shift
            dShiftHrs = 0.5
        ElseIf StartTime < NightStart And StartTime > DaytStart And EndTime < DaytStart Then  'day shift, night shift, night shift
            dShiftHrs = NightStart - StartTime
        ElseIf StartTime < NightStart And StartTime > DaytStart And EndTime < NightStart Then  'day shift, night shift, night shift
            dShiftHrs = NightStart - StartTime + EndTime - DaytStart
        ElseIf StartTime < DaytStart And EndTime > NightStart Then   'night shift, day shift, night shift, night shift,day shift,night shift
            dShiftHrs = 0.99999
        ElseIf StartTime < DaytStart And EndTime > DaytStart And EndTime < NightStart Then    'night shift, day shift, night shift, night shift,day shift
            dShiftHrs = 0.5 + EndTime - DaytStart
        ElseIf StartTime < NightStart And EndTime > NightStart Then   'day shift, night shift, night shift,day shift,night shift
            dShiftHrs = NightStart - StartTime + 0.5
        ElseIf StartTime < DaytStart And EndTime < DaytStart Then   'night shift, day shift, night shift, night shift
            dShiftHrs = 0.5
        End If
    End If
End Function

Function nShiftHrs(rngStartTime As Range, rngEndTime As Range) As Double
    Dim StartTime As Double
    Dim EndTime As Double
    Dim ShiftHours
        Const DaytStart As Double = 0.270833333
    Const NightStart As Double = 0.770833334
    StartTime = rngStartTime - Int(rngStartTime)
    EndTime = rngEndTime - Int(rngEndTime)
    If Int(rngStartTime) = Int(rngEndTime) Then    ' all hours in same day
        If StartTime >= NightStart Then   'all night shift
            nShiftHrs = EndTime - StartTime
        ElseIf EndTime < DaytStart Then  'all night shift
            nShiftHrs = EndTime - StartTime
        ElseIf StartTime >= DaytStart And EndTime <= NightStart Then  'all day shift do nothing
        ElseIf StartTime >= DaytStart And EndTime > NightStart Then  'day shift and night shift
            nShiftHrs = EndTime - NightStart  'night shift hours
        ElseIf StartTime < DaytStart And EndTime < NightStart Then    'night shift and day shift
            nShiftHrs = DaytStart - StartTime
        ElseIf StartTime < DaytStart And EndTime > NightStart Then    'Night Shift, DayShift, Night Shift
            nShiftHrs = DaytStart - StartTime + EndTime - NightStart
        End If
        
    Else    'hours in two days
        If StartTime > NightStart And EndTime < DaytStart Then  'all night shift
            nShiftHrs = 1 - StartTime + EndTime
        ElseIf StartTime > NightStart And EndTime > DaytStart And EndTime < NightStart Then  'night shift day shift
            nShiftHrs = 1 - StartTime + DaytStart
        ElseIf StartTime > NightStart And EndTime > NightStart Then   'night shift, day shift, night shift
            nShiftHrs = 1 - StartTime + DaytStart + EndTime - NightStart
        ElseIf StartTime < NightStart And StartTime > DaytStart And EndTime < DaytStart Then  'day shift, night shift, night shift
            nShiftHrs = 1 - NightStart + EndTime
        ElseIf StartTime < NightStart And StartTime > DaytStart And EndTime < NightStart Then  'day shift, night shift, night shift
            nShiftHrs = 0.5
        ElseIf StartTime < DaytStart And EndTime > NightStart Then   'night shift, day shift, night shift, night shift,day shift,night shift
            nShiftHrs = DaytStart - StartTime + 0.5 + EndTime - NightStart
        ElseIf StartTime < DaytStart And EndTime > DaytStart And EndTime < NightStart Then    'night shift, day shift, night shift, night shift,day shift
            nShiftHrs = DaytStart - StartTime + 0.5
        ElseIf StartTime < NightStart And EndTime > NightStart Then   'day shift, night shift, night shift,day shift,night shift
            nShiftHrs = 1 - NightStart + DaytStart + EndTime - NightStart
        ElseIf StartTime < DaytStart And EndTime < DaytStart Then   'night shift, day shift, night shift, night shift
            nShiftHrs = DaytStart - StartTime + 1 - NightStart + EndTime

        End If
    End If
End Function

Izvor: MrExcel.com

-Obrati pažnju da f-ja rešava drugačije definisan prelaz iz smene, i da su ključne vrednosti deklarisane kao konstante pa bi to eventualno trebalo prilagoditi.
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: Obračun noćnog rad za vozače08.07.2013. u 09:20 - pre 131 meseci
Citat:
koreja2001:
vozač počinje raditi 05.07.2013 u 20:00 i završi svoj rad 06.07.2013 u 9:00.
Radno vrijeme mu je 13:00 od toga mu je 8 sati dnevni rad a 5 sati noćni rad.
Valjda je obratno, dnevnih 5 sati a noćnih 8 (noćni sati su od 22-06)
Pogledaj attach u prilogu ako ti može pomoći (doradi ga prema potrebama)
Prikačeni fajlovi
 
Odgovor na temu

koreja2001

Član broj: 278867
Poruke: 20
*.dsl.iskon.hr.



Profil

icon Re: Obračun noćnog rad za vozače08.07.2013. u 16:48 - pre 131 meseci
Hvala Ivek33 na brzome odgovoru, ali ipak je onako kako sam napisa , dnevnih 8 sati a noćnih 5 (noćni rad za vozače prema zakonu u RH počinje u 00:00 i završava u 5:00.
Molio bi te ako bi te parametre mogao ubaciti u tablicu za izračun.
Puno hvala.
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: Obračun noćnog rad za vozače08.07.2013. u 22:02 - pre 131 meseci
Citat:
koreja2001: (noćni rad za vozače prema zakonu u RH počinje u 00:00 i završava u 5:00.
eto dobro ako je tako (nisam znao)
evo novog attachmenta u prilogu
Prikačeni fajlovi
 
Odgovor na temu

koreja2001

Član broj: 278867
Poruke: 20
*.dsl.iskon.hr.



Profil

icon Re: Obračun noćnog rad za vozače09.07.2013. u 07:10 - pre 131 meseci
To je to !!!!!!!

Stvarno si mi puno pomoga Ivek33 i zato VELIKO HVALA.
 
Odgovor na temu

koreja2001

Član broj: 278867
Poruke: 20
*.dsl.iskon.hr.



Profil

icon Re: Obračun noćnog rad za vozače10.07.2013. u 21:52 - pre 131 meseci
Evo mene sa novim problemom.
Kada izbrišem unose za početak i kraj radnog vremena u čelijama devni i noćni rad se pojave umjesto 00:00 čudna vremena.
Kako to riješiti?

Hvala

[Ovu poruku je menjao koreja2001 dana 11.07.2013. u 00:29 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: Obračun noćnog rad za vozače11.07.2013. u 14:12 - pre 131 meseci
Citat:
koreja2001:Kada izbrišem unose za početak i kraj radnog vremena u čelijama devni i noćni rad se pojave umjesto 00:00 čudna vremena.
Probaj malo logički razmišljati. Formula glasi =E4-H4 (ako nemaš pozitivan broj u E4 od kojega trebaš oduzeti broj u H4 rezultat će ti biti negativan broj što Excel prikazuje sa puno znakova GREŠKU #####). Negativno vrijeme ne postoji (barem još ne ;)
Vodi računa da Excel prikazuje vremenske sate (format) ali i dalje u pozadini računa sa brojevima. Pogledaj Evaluate formule u određenoj ćeliji gdje želiš vidjeti kako formula funkcionira i izračunava nekakav rezultat.

Da bi izbjegao pojavu te greške koristi funkciju IF.
U ćeliju I4 iz file primjera stavi ovu formulu, koja će prikazati prazne ćelije sve dok ne upišeš vrijeme u obe ćelije C4 i D4
Code:
=IF(AND(C4>0;D4>0);E4-H4;"")


Isto tako možeš u ćeliju H4 postaviti ovu formulu, koja će također vratiti praznu ćeliju sve dok ne upišeš vrijeme za početak i kraj
Code:
=IF(AND(C4>0;D4>0);IF(D4<=C4;D4+"24:00";D4)-C4-MAX(MIN("5:00";IF(D4<=C4;D4+"24:00";D4))-C4;0)-MAX(MIN("29:00";IF(D4<=C4;D4+"24:00";D4))-MAX("24:00";C4);0);"")
pozz od mene odoh ja na godišnji ;)
Prikačeni fajlovi
 
Odgovor na temu

koreja2001

Član broj: 278867
Poruke: 20
*.dsl.iskon.hr.



Profil

icon Re: Obračun noćnog rad za vozače11.07.2013. u 15:59 - pre 131 meseci
Hvala ti na opsežnom obrazloženju i rješenju problema.
Želim ti ugodan odmor !!!!!!!!!
 
Odgovor na temu

[es] :: Office :: Excel :: Obračun noćnog rad za vozače

[ Pregleda: 5461 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.