Keresés

Új hozzászólás Aktív témák

  • Fferi50

    Topikgazda

    válasz TrollBalint #25713 üzenetére

    Szia!

    A munkanapok megszámolására két dolgot javaslok:
    I. Az ÖSSZ.MUNKANAP.INTL függvény a következőképpen:
    =ÖSSZ.MUNKANAP.INTL(MA();MA()+5;11;J1:J49)
    A függvény 3. paramétere határozza meg, hogy milyen napokat tekint hétvégének. A 11 azt jelenti, hogy csak a vasárnap munkaszüneti nap.
    A 4. paraméterben kell megadni az ünnepnapokat. Mivel az összes szombatot munkanapnak tekinti a 3. paraméter alapján, erre a területre kell bevinni a többi szombatot.
    Kicsit sok a beviendő adat, de sorozatként megoldható könnyen. Cserébe pontosan számol és excel beépített függvény.
    II. Saját függvény használata:
    Function munkanapszam(ByVal mettol As Date, Optional meddig As Date) As Integer
    Dim unnepek As Range, munkanap As Integer, napi As Range, napok As Date
    Set unnepek = Range("J1:J7")
    munkanap = 0
    If meddig = 0 Then meddig = mettol
    For napok = mettol To meddig
    Set napi = unnepek.Find(what:=napok, LookIn:=xlValues, lookat:=xlWhole)
    If Not napi Is Nothing Then
    If Application.Weekday(napok, vbMonday) = 6 Then
    munkanap = munkanap + 1
    End If
    Else
    If Application.Weekday(napok, vbMonday) < 6 Then
    munkanap = munkanap + 1
    End If
    End If
    Next
    munkanapszam = munkanap
    End Function

    Itt az a megoldás lényege, hogy az ünnepek közé felveszed a "dolgozós" szombatokat is. A függvény megnézi, hogy az ott szereplő dátum szombat-e, ha igen, akkor munkanapnak számolja. Ha nem szerepel a listában, akkor munkanap, ha H-P.

    Mindkét esetben az ünnep lista egy oszlop legyen.

    Üdv.

  • Delila_1

    veterán

    válasz TrollBalint #25713 üzenetére

    [link]

    Itt azt mondja Horváth Imre, hogy a munkanapra cserélt szombattal nem nagyon lehet számolni.
    Összesen 2 ilyen lesz az évben (aug.8. és dec.12.), ennek a 2-nek a közelében figyelj, és "gyalog" írd be a dátum+Xnap eredményét.

Új hozzászólás Aktív témák

Hirdetés