Exceli funktsioonid WORKDAY ja NETWORKDAYS tööpäevade arvutamiseks

  • Jaga Seda
Michael Brown

See lühike õpetus selgitab Exceli funktsioonide NETWORKDAYS ja WORKDAY kasutamist, et arvutada tööpäevi koos kohandatud nädalavahetuse parameetrite ja pühadega.

Microsoft Excel pakub kahte funktsiooni, mis on spetsiaalselt mõeldud nädalapäevade arvutamiseks - WORKDAY ja NETWORKDAYS.

The TÖÖPÄEV funktsioon tagastab kuupäeva N tööpäeva tulevikus või minevikus ja seda saab kasutada antud kuupäevale tööpäevade lisamiseks või lahutamiseks.

Kasutades NETWORKDAYS funktsiooniga saate arvutada kahe määratud kuupäeva vaheliste tööpäevade arvu.

Excel 2010 ja uuemates versioonides on saadaval eespool nimetatud funktsioonide võimsamad modifikatsioonid WORKDAY.INTL ja NETWORKDAYS.INTL, mis võimaldavad määrata, millised ja mitu päeva on nädalavahetuse päevad.

Ja nüüd vaatame iga funktsiooni lähemalt ja vaatame, kuidas saate seda kasutada tööpäevade arvutamiseks oma Exceli töölehtedel.

    Exceli funktsioon WORKDAY

    Exceli funktsioon WORKDAY tagastab kuupäeva, mis on antud arv tööpäevi enne alguskuupäeva või enne seda. See välistab nädalavahetused ja ka kõik määratud pühad.

    Funktsioon WORKDAY on mõeldud tööpäevade, vahe-eesmärkide ja tähtpäevade arvutamiseks standardse töökalendri alusel, kusjuures laupäev ja pühapäev on nädalavahetuse päevad.

    WORKDAY on sisseehitatud funktsioon Excel 2007 - 365. Varasemates versioonides peate aktiveerima Analysis ToolPak'i.

    Kui kasutate Excelis WORKDAY, peate sisestama järgmised argumendid:

    WORKDAY(alguskuupäev, päevad, [pühad])

    Esimesed 2 argumenti on kohustuslikud ja viimane on vabatahtlik:

    • Start_date - kuupäev, millest alates hakatakse arvestama nädalapäevi.
    • Päevad - tööpäevade arv, mis liidetakse / lahutatakse start_date'ist. Positiivne arv annab tulevase kuupäeva, negatiivne arv annab mineviku kuupäeva.
    • Pühad - valikuline nimekiri kuupäevadest, mida ei tohiks arvestada tööpäevade hulka. See võib olla kas lahtrite vahemik, mis sisaldab kuupäevi, mida soovite arvutustest välja jätta, või kuupäevi esindavate järjekorranumbrite massiivi konstant.

    Nüüd, kui te teate põhitõdesid, vaatame, kuidas saate kasutada funktsiooni WORKDAY oma Exceli töölehtedel.

    Kuidas kasutada WORKDAY'i, et lisada / lahutada tööpäevi kuupäevale

    Tööpäevade arvutamiseks Excelis järgige järgmisi lihtsaid reegleid:

    • aadressile lisada tööpäevad, sisestage positiivne number kui päevad argumendi WORKDAY valemiga.
    • aadressile lahutatakse tööpäevad, kasutage negatiivset arvu päevad argument.

    Oletame, et teil on lahtris A2 alguskuupäev, lahtrites B2:B5 puhkuste nimekiri ja te soovite leida kuupäevad 30 tööpäeva tulevikus ja minevikus. Seda saate teha järgmiste valemite abil:

    Lisada 30 tööpäeva alguskuupäevale, välja arvatud puhkused B2:B5:

    =TÖÖPÄEV(A2, 30, B2:B5)

    Lahutada 30 tööpäeva alguskuupäevast, välja arvatud puhkepäevad B2:B5:

    =TÖÖPÄEV(A2, -30, B2:B5)

    Arvutada nädalapäevad, mis põhinevad praegune kuupäev , kasutage alguskuupäevana funktsiooni TODAY():

    Lisada tänasele kuupäevale 30 tööpäeva:

    =WORKDAY(TODAY(), 30)

    Tänasest kuupäevast 30 tööpäeva mahaarvamine:

    =WORKDAY(TODAY(), -30)

    Kui soovite alguse kuupäeva otse valemile sisestada, kasutage funktsiooni DATE:

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

    Järgnev ekraanipilt näitab kõigi nende ja veel mõne WORKDAY-vormeli tulemusi:

    Ja loomulikult võite sisestada tööpäevade arvu, mida lisada / lahutada alguskuupäevast mõnes lahtris, ja seejärel viidata sellele lahtrisse oma valemis. Näiteks:

    =TÖÖPÄEV(A2, C2)

    Kus A2 on alguskuupäev ja C2 on nädalavahetuse väliste päevade arv, mis jäävad alguskuupäevast maha (negatiivsed arvud) või on sellest ees (positiivsed arvud), kusjuures pühi ei tohi välistada.

    Vihje. Excel 365-s ja 2021. aastal saate kasutada WORKDAY koos SEQUENCE'iga, et luua tööpäevade seeria.

    Exceli funktsioon WORKDAY.INTL

    WORKDAY.INTL on WORKDAY funktsiooni võimsam modifikatsioon, mis töötab koos kohandatud nädalavahetuse parameetrid Nagu ka WORKDAY, tagastab see kuupäeva, mis on määratud arv tööpäevi tulevikus või minevikus, kuid võimaldab teil määrata, milliseid nädalapäevi tuleks pidada nädalavahetuse päevadeks.

    Funktsioon WORKDAY.INTL võeti kasutusele Excel 2010 ja seega ei ole see varasemates Exceli versioonides saadaval.

    Exceli WORKDAY.INTL funktsiooni süntaks on järgmine:

    WORKDAY.INTL(alguskuupäev, päevad, [nädalavahetus], [pühad])

    Kaks esimest argumenti on nõutavad ja sarnanevad WORKDAY'ga:

    Start_date - esialgne kuupäev.

    Päevad - tööpäevade arv enne (negatiivne väärtus) või pärast (positiivne väärtus) alguskuupäeva. Kui päevad argument on esitatud kümnendarvuna, kärbitakse see täisarvuks.

    Kaks viimast argumenti on vabatahtlikud:

    Nädalavahetusel - määrab, milliseid nädalapäevi tuleb lugeda nädalavahetuse päevadeks. See võib olla kas number või string, nagu allpool näidatud.

    Number Nädalavahetuse päevad
    1 või välja jäetud Laupäev, pühapäev
    2 Pühapäev, esmaspäev
    3 Esmaspäev, teisipäev
    4 Teisipäev, kolmapäev
    5 Kolmapäev, neljapäev
    6 Neljapäev, reede
    7 Reede, laupäev
    11 Ainult pühapäeval
    12 Ainult esmaspäeval
    13 Ainult teisipäeval
    14 Ainult kolmapäev
    15 Ainult neljapäev
    16 Ainult reedel
    17 Ainult laupäeval

    Nädalavahetuse string - seitsmest 0-st ja 1-st koosnev seeria, mis tähistab seitset nädalapäeva, alustades esmaspäevast. 1 tähistab mittetööpäeva ja 0 tähistab tööpäeva. Näiteks:

    • "0000011" - Laupäev ja pühapäev on nädalavahetused.
    • "1000001" - esmaspäev ja pühapäev on nädalavahetused.

    Esmapilgul võivad nädalavahetuse stringid tunduda üleliigsed, kuid mulle isiklikult meeldib see meetod rohkem, sest nädalavahetuse stringi saab teha lennult, ilma et peaksite numbreid meeles pidama.

    Pühad - vabatahtlik nimekiri kuupäevadest, mida soovite tööpäevakalendrist välja jätta. See võib olla kuupäevi sisaldavate lahtrite vahemik või neid kuupäevi esindavate jadaväärtuste massiivi konstant.

    WORKDAY.INTL kasutamine Excelis - valemite näited

    Noh, üsna suur osa teooriast, mida me just arutasime, võib tunduda üsna keeruline ja segane, kuid valemeid proovides on asi väga lihtne.

    Arvutame meie andmekogumis, mille alguskuupäev on lahtris A2 ja pühade nimekiri lahtris A5:A8, tööpäevad koos kohandatud nädalavahetustega.

    aadressile lisada 30 tööpäeva alguskuupäevani, reede ja laupäev loetakse nädalavahetusteks ja pühadeks A5:A8 välja arvatud:

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

    või

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

    aadressile lahutatakse 30 tööpäeva alates alguskuupäevast, kusjuures pühapäev ja esmaspäev loetakse nädalavahetusteks ja pühadeks A5:A8 välja arvatud:

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

    või

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

    Et lisada 10 tööpäeva praegune kuupäev , pühapäev on ainus nädalavahetuse päev, puhkepäevi ei ole:

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

    või

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

    Teie Exceli tabelis võivad valemid välja näha umbes nii:

    Märkus. Nii Exceli funktsioonid WORKDAY kui ka WORKDAY.INTL annavad tagasi kuupäevi tähistavad järjekorranumbrid. Et need numbrid kuvataks kuupäevadena, valige numbreid sisaldavad lahtrid ja vajutage Ctrl+1, et avada lahter Lahtrite vormindamine dialoog. On Number vahekaart, valige Kuupäev aastal Kategooria ja valige soovitud kuupäevavorming. Üksikasjalikud sammud leiate jaotisest Kuidas muuta kuupäevaformaati Excelis.

    Exceli WORKDAY ja WORKDAY.INTL vead

    Kui teie Exceli valem WORKDAY või WORKDAY.INTL tagastab vea, on põhjuseks tõenäoliselt üks järgmistest:

    #NUM! viga tekib, kui:

    • kombinatsioon start_date ja päevad argumendid annavad tulemuseks kehtetu kuupäeva või
    • nädalavahetusel argument funktsioonis WORKDAY.INTL on kehtetu.

    #VALUE! viga tekib, kui:

    • start_date või mis tahes väärtus puhkus ei ole kehtiv kuupäev või
    • päevad argument ei ole numbriline.

    Exceli funktsioon NETWORKDAYS

    Exceli funktsioon NETWORKDAYS tagastab kahe kuupäeva vaheliste tööpäevade arvu, välja arvatud nädalavahetused ja valikuliselt määratud pühad.

    Exceli NETWORKDAYS süntaks on intuitiivne ja kergesti meeldejääv:

    NETWORKDAYS(alguskuupäev, lõppkuupäev, [pühad])

    Kaks esimest argumenti on kohustuslikud ja kolmas on vabatahtlik:

    • Start_date - esialgne kuupäev, millest alates hakatakse arvestama tööpäevi.
    • End_date - selle perioodi lõpp, mille kohta te tööpäevi loete.

    Nii alguskuupäev kui ka lõppkuupäev arvestatakse tagastatud tööpäevade arvu hulka.

    • Pühad - vabatahtlik loetelu pühadest, mida ei tohiks arvestada tööpäevade hulka.

    Kuidas kasutada NETWORKDAYS'i Excelis - valemiga näide

    Oletame, et teil on lahtrites A2:A5 puhkuste nimekiri, veerus B alguskuupäevad, veerus C lõppkuupäevad ja te soovite teada, mitu tööpäeva on nende kuupäevade vahel. Sobivat NETWORKDAYS valemit on lihtne välja arvutada:

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

    Pange tähele, et Exceli funktsioon NETWORKDAYS tagastab positiivse väärtuse, kui alguskuupäev on väiksem kui lõppkuupäev, ja negatiivse väärtuse, kui lõppkuupäev on alguskuupäevast hilisem (nagu 5. reas):

    Exceli funktsioon NETWORKDAYS.INTL

    Nagu NETWORKDAYS, arvutab Exceli funktsioon NETWORKDAYS.INTL kahe kuupäeva vaheliste nädalapäevade arvu, kuid võimaldab teil määrata, milliseid päevi tuleb lugeda nädalavahetuse päevadeks.

    Funktsiooni NETWORKDAYS.INTL süntaks on väga sarnane funktsiooniga NETWORKDAYS, kuid sellel on täiendav parameeter [weekend], mis näitab, milliseid nädalapäevi tuleb lugeda nädalavahetusteks.

    NETWORKDAYS.INTL( alguskuupäev, lõppkuupäev, [nädalavahetus], [pühad] )

    The nädalavahetusel argument võib vastu võtta kas numbri või stringi. Numbrid ja nädalavahetuse stringid on täpselt samad, mis on ka nädalavahetusel parameeter WORKDAY.INTL funktsioonis.

    Funktsioon NETWORKDAYS.INTL on saadaval Excel 365 - 2010.

    NETWORKDAYS.INTL kasutamine Excelis - valemiga näide

    Kasutades eelmise näite kuupäevade nimekirja, arvutame kahe kuupäeva vaheliste tööpäevade arvu, kus pühapäev on ainus nädalavahetuse päev. Selleks kirjutame numbri 11 sisse nädalavahetusel argumendi NETWORKDAYS.INTL või teha string, mis koosneb kuuest 0-st ja ühest 1-st ("0000001"):

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

    Või

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

    Järgmine ekraanipilt tõestab, et mõlemad valemid annavad täiesti identsed tulemused.

    Kuidas Excelis tööpäevi esile tõsta

    Funktsioonide WORKDAY ja WORKDAY.INTL abil saate Exceli töölehtedel mitte ainult arvutada tööpäevi, vaid neid ka vastavalt äriloogikale esile tõsta. Selleks loote tingimusliku vormindamise reegli, mis sisaldab kas valemit WORKDAY või WORKDAY.INTL.

    Näiteks tõstame veerus B olevas kuupäevade loetelus esile ainult need tulevased kuupäevad, mis jäävad tänasest kuupäevast 15 tööpäeva kaugusele, välja arvatud kaks puhkust lahtrites A2:A3. Kõige ilmsem valem, mis tuleb meelde, on järgmine:

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

    Loogilise testi esimene osa lõikab ära mineviku kuupäevad, st kontrollitakse, kas kuupäev on võrdne või suurem kui täna: $B2>TODAY(). Ja teises osas kontrollitakse, kas kuupäev ei ole rohkem kui 15 nädalapäeva kaugusel tulevikus, välja arvatud nädalavahetuse päevad ja määratud pühad: $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)

    Valem tundub õige, kuid kui te loote selle põhjal reegli, mõistate, et see toob välja valed kuupäevad:

    Proovime aru saada, miks see juhtub. Probleem ei ole funktsiooniga WORKDAY, nagu keegi võib järeldada. Funktsioon on õige, aga... mida ta tegelikult teeb? Ta tagastab lahtrites A2:A3 kuupäeva 15 tööpäeva alates tänasest, välja arvatud nädalavahetuse päevad (laupäev ja pühapäev) ja pühad.

    Okei, ja mida teeb sellel valemil põhinev reegel? Ta toob esile KÕIK kuupäevad, mis on võrdsed või suuremad kui täna ja väiksemad kui funktsiooniga WORKDAY tagastatud kuupäev. Näete, kõik kuupäevad! Kui te ei soovi nädalavahetusi ja pühi värvida, siis peate Excelile selgesõnaliselt ütlema, et ta seda ei tee. Seega lisame meie valemile veel kaks tingimust:

    • WEEKDAY funktsioon nädalavahetuste välistamiseks: WEEKDAY($B2, 2)<6
    • Funktsioon COUNTIF puhkuste välistamiseks: COUNTIF($A$2:$A$3, $B2)=0

    Nagu on näidatud allpool oleval ekraanipildil, töötab täiustatud valem suurepäraselt:

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

    Nagu näete, teevad funktsioonid WORKDAY ja WORKDAY.INTL tööpäevade arvutamise Excelis kiireks ja lihtsaks. Loomulikult on teie reaalses elus kasutatavad valemid tõenäoliselt keerulisemad, kuid põhitõdede tundmine aitab tohutult, sest te saate meelde jätta vaid väikese hulga olulisi asju ja tuletada ülejäänud. Tänan teid lugemise eest ja loodan, et näeme järgmisel nädalal meie blogis!

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.