Excel WORKDAY és NETWORKDAYS funkciók a munkanapok kiszámításához

  • Ossza Meg Ezt
Michael Brown

Ez a rövid bemutató elmagyarázza az Excel NETWORKDAYS és WORKDAY függvények használatát a munkanapok kiszámításához egyéni hétvégi paraméterekkel és ünnepnapokkal.

A Microsoft Excel két, kifejezetten a hétköznapok kiszámítására szolgáló függvényt biztosít - a MUNKANAP és a HÁLÓNAP.

A MUNKANAP függvény egy N munkanapnyi dátumot ad vissza a jövőben vagy a múltban, és segítségével munkanapokat adhat vagy vonhat le egy adott dátumhoz.

A NETWORKDAYS függvény segítségével kiszámíthatja a két megadott dátum közötti munkanapok számát.

Az Excel 2010-ben és újabb verziókban a fent említett függvények erőteljesebb módosításai állnak rendelkezésre, a WORKDAY.INTL és a NETWORKDAYS.INTL, amelyekkel meghatározhatja, hogy mely és hány nap a hétvégi nap.

Most pedig nézzük meg közelebbről az egyes funkciókat, és nézzük meg, hogyan használhatja őket a munkanapok kiszámításához az Excel munkalapjain.

    Excel WORKDAY funkció

    Az Excel WORKDAY függvény egy olyan dátumot ad vissza, amely adott számú munkanappal a kezdőnap előtt vagy előtt van. Nem veszi figyelembe a hétvégéket, valamint a megadott ünnepnapokat.

    A WORKDAY funkció a munkanapok, mérföldkövek és esedékességi időpontok kiszámítására szolgál a szabványos munkanaptár alapján, ahol a szombat és a vasárnap a hétvégi napok.

    A WORKDAY beépített funkció az Excel 2007 - 365. A korábbi verziókban engedélyeznie kell az Analysis ToolPakot.

    Ha a WORKDAY-t használja az Excelben, a következő argumentumokat kell megadnia:

    WORKDAY(start_date, days, [ünnepnapok])

    Az első két argumentum kötelező, az utolsó pedig opcionális:

    • Start_date - az a dátum, amelytől kezdve a hétköznapokat számolni kell.
    • Napok - a start_date-hez hozzáadandó/levonandó munkanapok száma. A pozitív szám egy jövőbeli dátumot ad vissza, a negatív szám egy múltbeli dátumot.
    • Ünnepek - azon dátumok opcionális listája, amelyek nem számítanak munkanapnak. Ez lehet a számításokból kizárni kívánt dátumokat tartalmazó cellatartomány, vagy a dátumokat jelölő sorszámok tömbkonstansaként.

    Most, hogy ismeri az alapokat, nézzük meg, hogyan használhatja a WORKDAY funkciót az Excel munkalapjain.

    Hogyan használhatja a WORKDAY-t munkanapok hozzáadására / kivonására a dátumhoz

    A munkanapok kiszámításához Excelben kövesse az alábbi egyszerű szabályokat:

    • A címre. add munkanapok, adjon meg egy pozitív számot a napok egy WORKDAY formula argumentuma.
    • A címre. kivonjuk munkanapok, használjon negatív számot a napok érv.

    Tegyük fel, hogy az A2 cellában van egy kezdőnap, a B2:B5 cellákban pedig egy ünnepnapok listája, és szeretné megtudni a 30 munkanapos dátumokat a jövőben és a múltban. Ezt a következő képletekkel teheti meg:

    30 munkanap hozzáadása a kezdőnaphoz, kivéve a B2:B5-ben szereplő ünnepnapokat:

    =MUNKANAP(A2, 30, B2:B5)

    30 munkanap levonása a kezdeti dátumtól, kivéve a B2:B5-ben szereplő ünnepnapokat:

    =MUNKANAP(A2, -30, B2:B5)

    A hétköznapok kiszámításához a aktuális dátum , a TODAY() függvényt használja kezdő dátumként:

    30 munkanap hozzáadása a mai dátumhoz:

    =WORKDAY(TODAY(), 30)

    30 munkanap kivonása a mai dátumból:

    =WORKDAY(TODAY(), -30)

    Ha a kezdő dátumot közvetlenül a képletbe szeretné beírni, használja a DATE funkciót:

    =WORKDAY(DATE(2015,5,6), 30)

    A következő képernyőkép mindezek és még néhány WORKDAY képlet eredményét mutatja be:

    És természetesen megadhatja a munkanapok számát, amelyet hozzáad a kezdő dátumhoz / kivon a kezdő dátumból valamelyik cellában, majd hivatkozhat erre a cellára a képletben. Például:

    =MUNKANAP(A2, C2)

    Ahol A2 a kezdőnap, C2 pedig a kezdőnaphoz képest hátralévő (negatív számok) vagy azt megelőző (pozitív számok) nem hétvégi napok száma, nem kizárandó ünnepnapok nélkül.

    Tipp. Az Excel 365 és 2021 programban a WORKDAY és a SEQUENCE kombinációjával munkanapok sorozatát hozhatja létre.

    Excel WORKDAY.INTL funkció

    A WORKDAY.INTL a WORKDAY függvény egy erősebb módosítása, amely a következő függvényekkel dolgozik egyéni hétvégi paraméterek A WORKDAY-hoz hasonlóan egy olyan dátumot ad vissza, amely meghatározott számú munkanapot jelent a jövőben vagy a múltban, de lehetővé teszi annak meghatározását, hogy a hét mely napjai tekinthetők hétvégi napoknak.

    A WORKDAY.INTL függvényt az Excel 2010-ben vezették be, így a korábbi Excel-verziókban nem áll rendelkezésre.

    Az Excel WORKDAY.INTL függvény szintaxisa a következő:

    WORKDAY.INTL(start_date, days, [hétvége], [ünnepnapok])

    Az első két argumentum szükséges, és a WORKDAY-éhoz hasonló:

    Start_date - a kezdeti időpont.

    Napok - a kezdőnapot megelőző (negatív érték) vagy követő (pozitív érték) munkanapok száma. Ha a napok argumentumot tizedes számként adjuk meg, az egész számra vágódik.

    Az utolsó két argumentum opcionális:

    Hétvége - megadja, hogy mely hétköznapok számítanak hétvégi napoknak. Ez lehet szám vagy karakterlánc, ahogy az alábbiakban látható.

    Szám Hétvégi napok
    1 vagy kihagyva szombat, vasárnap
    2 vasárnap, hétfő
    3 Hétfő, kedd
    4 kedd, szerda
    5 szerda, csütörtök
    6 csütörtök, péntek
    7 Péntek, szombat
    11 Csak vasárnap
    12 Csak hétfőn
    13 Csak kedden
    14 Csak szerdán
    15 Csak csütörtökön
    16 Csak pénteken
    17 Csak szombaton

    Hétvégi húr - hét 0-ból és 1-ből álló sorozat, amely a hét hét napját jelöli, kezdve a hétfővel. 1 a nem munkanapot, 0 pedig a munkanapot jelöli. Például:

    • "0000011" - A szombat és a vasárnap hétvége.
    • "1000001" - Hétfő és vasárnap hétvége.

    Első látásra a hétvégi karakterláncok feleslegesnek tűnhetnek, de nekem személy szerint jobban tetszik ez a módszer, mert menet közben is összeállíthatsz egy hétvégi karakterláncot anélkül, hogy számokat kellene megjegyezned.

    Ünnepek - a munkanaptárból kizárni kívánt dátumok opcionális listája. Ez lehet a dátumokat tartalmazó cellák tartománya, vagy az ezeket a dátumokat képviselő soros értékek tömbkonstansaként.

    A WORKDAY.INTL használata Excelben - képletpéldák

    Nos, az imént tárgyalt elmélet elég nagy része elég bonyolultnak és zavarosnak tűnhet, de ha kipróbálod a képleteket, a dolgok nagyon egyszerűvé válnak.

    Az A2 cellában lévő kezdő dátummal és az A5:A8 cellában lévő ünnepnapok listájával számítsuk ki a munkanapokat egyéni hétvégékkel.

    A címre. add 30 munkanap a kezdési időpontig, a péntek és a szombat hétvégének számít, az A5:A8-ban szereplő ünnepnapok nem számítanak:

    =WORKDAY.INTL(A2, 30, 7, A5:A8)

    vagy

    =WORKDAY.INTL(A2, 30, "0000110", A5:A8)

    A címre. kivonjuk 30 munkanap a kezdési időponttól számítva, a vasárnap és a hétfő hétvégének számít, az A5:A8-ban szereplő munkaszüneti napok nem számítanak:

    =WORKDAY.INTL(A2, -30, 2, A5:A8)

    vagy

    =WORKDAY.INTL(A2, -30, "1000001", A5:A8)

    10 munkanapot hozzáadni a aktuális dátum , vasárnap az egyetlen hétvégi nap, nincsenek ünnepnapok:

    =WORKDAY.INTL(TODAY(), 10, 11)

    vagy

    =WORKDAY.INTL(A2, 10, "0000001")

    Az Excel táblázatban a képletek hasonlóan nézhetnek ki:

    Megjegyzés: Mindkét Excel WORKDAY és WORKDAY.INTL függvény a dátumokat ábrázoló sorszámokat adja vissza. Ahhoz, hogy ezeket a számokat dátumokként jelenítse meg, jelölje ki a számokat tartalmazó cellákat, és a Ctrl+1 billentyűvel nyissa meg a WORKDAY.INTL függvényt. Cellák formázása párbeszéd. A Szám lapon válassza a Dátum a Kategória listában, és válassza ki a kívánt dátumformátumot. A részletes lépéseket lásd: Hogyan változtassuk meg a dátumformátumot az Excelben.

    Excel WORKDAY és WORKDAY.INTL hibák

    Ha az Excel WORKDAY vagy WORKDAY.INTL képlet hibát ad vissza, az ok valószínűleg a következők valamelyike:

    #NUM! hiba lép fel, ha:

    • a következők kombinációja start_date és napok argumentumok érvénytelen dátumot eredményeznek, vagy
    • hétvége argumentum a WORKDAY.INTL függvényben érvénytelen.

    #VALUE! hiba lép fel, ha:

    • start_date vagy bármely érték a ünnepek nem érvényes dátum, vagy
    • napok argumentum nem numerikus.

    Excel NETWORKDAYS funkció

    Az Excel NETWORKDAYS függvénye a két dátum közötti munkanapok számát adja vissza, kivéve a hétvégéket és opcionálisan a megadott ünnepnapokat.

    Az Excel NETWORKDAYS szintaxisa intuitív és könnyen megjegyezhető:

    NETWORKDAYS(start_date, end_date, [ünnepnapok])

    Az első két érv kötelező, a harmadik pedig opcionális:

    • Start_date - kezdeti dátum, amelytől kezdődően a munkanapok számítása megkezdődik.
    • End_date - annak az időszaknak a vége, amelyre vonatkozóan a munkanapokat számolja.

    A visszaadott munkanapok számába a kezdő és a befejező dátum is beleszámít.

    • Ünnepek - azon ünnepnapok opcionális listája, amelyeket nem kell munkanapnak tekinteni.

    A NETWORKDAYS használata Excelben - képletpélda

    Tegyük fel, hogy az A2:A5 cellákban van egy ünnepnapok listája, a kezdőnapok a B oszlopban, a végnapok a C oszlopban, és szeretné tudni, hogy hány munkanap van ezek között a dátumok között. A megfelelő NETWORKDAYS képletet könnyű kitalálni:

    =NETWORKDAYS(B2, C2, $A$2:$A$5)

    Vegye észre, hogy az Excel NETWORKDAYS függvény pozitív értéket ad vissza, ha a kezdő dátum kisebb, mint a végdátum, és negatív értéket, ha a végdátum újabb, mint a kezdő dátum (mint az 5. sorban):

    Excel NETWORKDAYS.INTL funkció

    A NETWORKDAYS-hoz hasonlóan az Excel NETWORKDAYS.INTL függvénye is kiszámítja a két dátum közötti hétköznapok számát, de megadja, hogy mely napok számítanak hétvégi napnak.

    A NETWORKDAYS.INTL függvény szintaxisa nagyon hasonlít a NETWORKDAYS' függvényéhez, kivéve, hogy van egy további [weekend] paramétere, amely megadja, hogy a hét mely napjait kell hétvégének tekinteni.

    NETWORKDAYS.INTL( start_date, end_date, [weekend], [holidays] )

    A hétvége argumentum egy számot vagy egy karakterláncot fogadhat el. A számok és a hétvégi karakterláncok pontosan ugyanazok, mint a hétvége a WORKDAY.INTL függvény paramétere.

    A NETWORKDAYS.INTL funkció az Excel 365 - 2010 programban érhető el.

    A NETWORKDAYS.INTL használata Excelben - képletpélda

    Az előző példában szereplő dátumok listáját felhasználva számítsuk ki a két dátum közötti munkanapok számát úgy, hogy a vasárnap az egyetlen hétvégi nap. Ehhez írjuk be a 11-es számot a hétvége argumentumát a NETWORKDAYS.INTL képletben, vagy készítsen egy hat 0-ból és egy 1-esből álló karakterláncot ("0000001"):

    =NETWORKDAYS.INTL(B2, C2, 11, $A$2:$A$5)

    Vagy

    =NETWORKDAYS.INTL(B2, C2, "0000001", $A$2:$A$5)

    A következő képernyőkép bizonyítja, hogy mindkét képlet teljesen azonos eredményeket ad.

    Hogyan lehet kiemelni a munkanapokat az Excelben

    A WORKDAY és a WORKDAY.INTL függvények használatával nemcsak kiszámíthatja a munkanapokat az Excel munkalapjain, hanem ki is jelölheti azokat, ahogyan azt az üzleti logika megkívánja. Ehhez létrehozhat egy feltételes formázási szabályt, amely vagy egy WORKDAY vagy egy WORKDAY.INTL képletet tartalmaz.

    Például a B oszlopban lévő dátumok listájában csak azokat a jövőbeli dátumokat emeljük ki, amelyek a mai dátumtól számított 15 munkanapon belül vannak, kivéve az A2:A3 cellákban lévő két ünnepnapot. A legkézenfekvőbb képlet, amely eszünkbe jut, a következő:

    =AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)))

    A logikai teszt első része a múltbeli dátumokat vágja ki, vagyis azt ellenőrzi, hogy egy dátum egyenlő vagy nagyobb-e, mint a mai nap: $B2>TODAY(). A második részben pedig azt ellenőrzi, hogy egy dátum legfeljebb 15 hétköznapra van-e a jövőben, kivéve a hétvégi napokat és a megadott ünnepnapokat: $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)

    A képlet helyesnek tűnik, de ha egyszer létrehoz egy szabályt rajta alapulva, rájön, hogy rossz dátumokat emel ki:

    Próbáljuk meg kitalálni, hogy miért történik ez. A probléma nem a WORKDAY függvénnyel van, ahogy arra valaki következtethet. A függvény helyes, de... mit csinál valójában? Egy 15 munkanap múlva esedékes dátumot ad vissza, kivéve a hétvégi napokat (szombat és vasárnap) és az ünnepnapokat az A2:A3 cellákban.

    Oké, és mit csinál az ezen a képleten alapuló szabály? Kiemeli MINDEN olyan dátumot, amely egyenlő vagy nagyobb, mint a mai nap, és kisebb, mint a WORKDAY függvény által visszaadott dátum. Látja, az összes dátumot! Ha nem akarja kiszínezni a hétvégéket és az ünnepnapokat, akkor kifejezetten meg kell mondania az Excelnek, hogy ne tegye. Tehát két további feltételt adunk a képletünkhöz:

    • A WEEKDAY függvény a hétvégék kizárásához: WEEKDAY($B2, 2)<6
    • A COUNTIF függvény az ünnepnapok kizárására: COUNTIF($A$2:$A$3, $B2)=0

    Ahogy az alábbi képernyőképen látható, a továbbfejlesztett formula tökéletesen működik:

    =AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3), COUNTIF($A$2:$A$3, $B2)=0, WEEKDAY($B2, 2)<6)

    Mint látja, a WORKDAY és a WORKDAY.INTL függvények segítségével a munkanapok kiszámítása Excelben gyors és egyszerű. Természetesen a valós életben használt képletek valószínűleg bonyolultabbak lesznek, de az alapok ismerete óriási segítség, mert így csak a lényeges dolgok egy kis részét jegyezheti meg, a többit pedig levezetheti. Köszönöm, hogy elolvasták, és remélem, jövő héten találkozunk a blogon!

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.