Функцыі Excel WORKDAY і NETWORKDAYS для разліку працоўных дзён

  • Падзяліцца Гэтым
Michael Brown

У гэтым кароткім падручніку тлумачыцца выкарыстанне функцый Excel NETWORKDAYS і WORKDAY для разліку працоўных дзён з карыстальніцкімі параметрамі выхадных і святочных дзён.

Microsoft Excel забяспечвае дзве функцыі, спецыяльна распрацаваныя для разліку працоўных дзён - WORKDAY і NETWORKDAYS.

Функцыя WORKDAY вяртае дату N працоўных дзён у будучыні або ў мінулым, і вы можаце выкарыстоўваць яе, каб дадаць або адняць працоўныя дні да зададзенай даты.

Выкарыстоўваючы функцыю NETWORKDAYS , вы можаце вылічыць колькасць працоўных дзён паміж дзвюма ўказанымі вамі датамі.

У Excel 2010 і вышэй даступныя больш магутныя мадыфікацыі вышэйзгаданых функцый, WORKDAY.INTL і NETWORKDAYS.INTL, якія дазваляюць вызначыць, якія і колькі дзён з'яўляюцца выхаднымі днямі.

А цяпер давайце больш падрабязна разгледзім кожную функцыю і паглядзім, як вы можаце выкарыстоўваць яе для разліку працоўных дзён у вашы аркушы Excel.

    Функцыя Excel WORKDAY

    Функцыя Excel WORKDAY вяртае дату, якая з'яўляецца зададзенай колькасцю працоўных дзён раней або раней даты пачатку. Гэта выключае выхадныя дні, а таксама любыя святочныя дні, якія вы ўказваеце.

    Функцыя WORKDAY прызначана для разліку працоўных дзён, этапаў і дат выканання на аснове стандартнага працоўнага календара, прычым субота і нядзеля з'яўляюцца выхаднымі днямі.

    WORKDAY - гэта ўбудаваная функцыя ў Excel 2007 - 365. У больш ранніх версіях вам трэба было ўключыць аналізневялікі набор неабходных рэчаў і атрымаеце астатняе. Я дзякую вам за чытанне і спадзяюся ўбачыць у нашым блогу на наступным тыдні!

    ToolPak.

    Калі вы выкарыстоўваеце WORKDAY у Excel, вы павінны ўвесці наступныя аргументы:

    WORKDAY(дата_пачатку, дні, [святы])

    Першыя 2 аргументы абавязковыя, а апошні неабавязковы :

    • Пачатковая_дата - дата, з якой пачынаюць адлік дзён тыдня.
    • Дні - колькасць працоўных дзён, якія трэба дадаць/адняць ад даты_пачатку. Дадатны лік вяртае будучую дату, адмоўны лік вяртае мінулую дату.
    • Святы - неабавязковы спіс дат, якія не павінны лічыцца працоўнымі днямі. Гэта можа быць або дыяпазон ячэек, якія змяшчаюць даты, якія вы хочаце выключыць з разлікаў, або канстанта масіва парадкавых нумароў, якія прадстаўляюць даты.

    Цяпер, калі вы ведаеце асновы, давайце паглядзім, як вы можаце выкарыстоўваць функцыю WORKDAY у вашых лістах Excel.

    Як выкарыстоўваць WORKDAY для дадання/аднімання працоўных дзён да даты

    Каб разлічыць працоўныя дні ў Excel, прытрымлівайцеся гэтых простых правілаў:

    • Каб дадаць працоўныя дні, увядзіце станоўчы лік у якасці аргумента дзён формулы WORKDAY.
    • Каб адняць працоўныя дні, выкарыстоўвайце адмоўны лік у аргуменце дзён .

    Выкажам здагадку, што ў вас ёсць дата пачатку ў ячэйцы A2, спіс святаў у ячэйках B2:B5, і вы хочаце даведацца даты 30 працоўных дзён у будучыні і мінулым. Вы можаце зрабіць гэта з дапамогай наступных формул:

    Каб дадаць 30 працоўных дзён да даты пачатку, за выключэннем святаў уB2:B5:

    =WORKDAY(A2, 30, B2:B5)

    Каб адняць 30 працоўных дзён з даты пачатку, за выключэннем святочных дзён у B2:B5:

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

    Каб вылічыць працоўныя дні на аснове у бягучую дату выкарыстоўвайце функцыю TODAY() у якасці даты пачатку:

    Каб дадаць 30 працоўных дзён да сённяшняй даты:

    =WORKDAY(TODAY(), 30)

    Каб адняць 30 працоўных дзён ад сённяшняй даты:

    =WORKDAY(TODAY(), -30)

    Каб паставіць дату пачатку непасрэдна ў формулу, выкарыстоўвайце функцыю ДАТА:

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

    наступны скрыншот дэманструе вынікі ўсіх гэтых і некалькіх іншых формул WORKDAY:

    І, натуральна, вы можаце ўвесці колькасць працоўных дзён, каб дадаць / адняць ад даты пачатку ў нейкую ячэйку, а затым спасылайцеся на гэтую ячэйку ў сваёй формуле. Напрыклад:

    =WORKDAY(A2, C2)

    Дзе A2 - гэта дата пачатку, а C2 - колькасць невыхадных дзён пасля (адмоўныя лічбы) або наперадзе (дадатныя лічбы) даты пачатку, без святаў выключыць.

    Савет. У Excel 365 і 2021 вы можаце выкарыстоўваць WORKDAY у спалучэнні з SEQUENCE для стварэння серыі працоўных дзён.

    Функцыя Excel WORKDAY.INTL

    WORKDAY.INTL - гэта больш магутная мадыфікацыя WORKDAY функцыя, якая працуе з карыстальніцкімі параметрамі выходных . Як і WORKDAY, ён вяртае дату, якая з'яўляецца вызначанай колькасцю працоўных дзён у будучыні або ў мінулым, але дазваляе вызначыць, якія дні тыдня варта лічыць выхаднымі.

    Функцыя WORKDAY.INTL быў уведзены стExcel 2010 і таму недаступны ў больш ранніх версіях Excel.

    Сінтаксіс функцыі Excel WORKDAY.INTL наступны:

    WORKDAY.INTL(дата_пачатку, дні, [выхадныя], [святы])

    Першыя два аргументы абавязковыя і падобныя на WORKDAY:

    Start_date - пачатковая дата.

    Дні - колькасць рабочых дзён да (адмоўнае значэнне) або пасля (дадатнае значэнне) даты пачатку. Калі аргумент days пададзены ў выглядзе дзесятковага ліку, ён скарачаецца да цэлага ліку.

    Апошнія два аргументы неабавязковыя:

    Выхадныя - вызначае, якія буднія дні павінны быць лічацца выходнымі днямі. Гэта можа быць лік або радок, як паказана ніжэй.

    Лік Выхадныя дні
    1 або прапушчана Субота, нядзеля
    2 Нядзеля, панядзелак
    3 Панядзелак, аўторак
    4 Аўторак, серада
    5 Серада, чацвер
    6 чацвер, пятніца
    7 пятніца, субота
    11 Толькі ў нядзелю
    12 Толькі ў панядзелак
    13 Толькі ў аўторак
    14 Толькі ў сераду
    15 Толькі ў чацвер
    16 Толькі ў пятніцу
    17 Толькі ў суботу

    Радок выхаднога дня - серыя з сямі 0 і 1, якія прадстаўляюць сем дзён тыдня,пачынаючы з панядзелка. 1 азначае непрацоўны дзень, а 0 - працоўны дзень. Напрыклад:

    • "0000011" - субота і нядзеля - выхадныя.
    • "1000001" - панядзелак і нядзеля - выхадныя.

    На першы погляд , радкі выхадных могуць падацца лішнімі, але мне асабіста больш падабаецца гэты метад, таму што вы можаце зрабіць радок выхадных на хаду, не запамінаючы ніякіх лічбаў.

    Святы - неабавязковы спіс дат вы хочаце выключыць з календара працоўных дзён. Гэта можа быць дыяпазон ячэек, якія змяшчаюць даты, або канстанта масіва паслядоўных значэнняў, якія прадстаўляюць гэтыя даты.

    Выкарыстанне WORKDAY.INTL у Excel - прыклады формул

    Ну, даволі вялікая маса тэорыя, якую мы толькі што абмяркоўвалі, можа здацца даволі складанай і заблытанай, але паспрабаваць свае сілы ў формулах усё стане вельмі лёгка.

    У нашым наборы даных з датай пачатку ў ячэйцы A2 і спісам святаў у A5 :A8, давайце падлічым працоўныя дні з карыстальніцкімі выхаднымі.

    Каб дадаць 30 працоўных дзён да даты пачатку, пятніца і субота лічацца выхаднымі і святочнымі днямі ў A5:A8 за выключэннем:

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

    ці

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

    Каб адняць 30 працоўных дзён ад даты пачатку, нядзеля і панядзелак лічацца выхаднымі і святочнымі днямі ў A5:A8 выключаны :

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

    ці

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

    Каб дадаць 10 працоўных дзён да бягучай даты , прычым нядзеля будзе адзіным выходным днём, нямасвяты:

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

    або

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

    На вашым аркушы Excel формулы могуць выглядаць так:

    Заўвага. Абедзве функцыі Excel WORKDAY і WORKDAY.INTL вяртаюць парадкавыя нумары, якія прадстаўляюць даты. Каб гэтыя лічбы адлюстроўваліся як даты, вылучыце ячэйкі з лічбамі і націсніце Ctrl+1, каб адкрыць дыялогавае акно Фарматаваць вочкі . На ўкладцы Нумар выберыце Дата ў спісе Катэгорыя і абярыце патрэбны фармат даты. Падрабязныя крокі глядзіце ў раздзеле Як змяніць фармат даты ў Excel.

    Памылкі Excel WORKDAY і WORKDAY.INTL

    Калі ваша формула Excel WORKDAY або WORKDAY.INTL вяртае памылку, прычына, верагодна, адна з наступных:

    # Памылка NUM! узнікае, калі:

    • камбінацыя аргументаў start_date і days прыводзіць да недапушчальнай даты, або
    • аргумент weekend у функцыі WORKDAY.INTL недапушчальны .

    #ЗНАЧЭННЕ! памылка ўзнікае, калі:

    • start_date або любое значэнне ў holidays не з'яўляецца дапушчальнай датай, або
    • days аргумент не з'яўляецца лікавым.

    Функцыя Excel NETWORKDAYS

    Функцыя NETWORKDAYS у Excel вяртае колькасць працоўных дзён паміж дзвюма датамі, за выключэннем выхадных і, неабавязкова, святочных дзён, якія вы укажыце.

    Сінтаксіс Excel NETWORKDAYS інтуітыўна зразумелы і лёгкі для запамінання:

    NETWORKDAYS(дата_пачатку, дата_канца, [святы])

    Першыя два аргументы з'яўляюцца абавязковымі, а трэці -неабавязкова:

    • Дата_пачатку - пачатковая дата, з якой пачынаецца адлік працоўных дзён.
    • Дата_канца - канец перыяду, для якога вы лічыце працоўныя дні.

    І дата пачатку, і дата заканчэння ўлічваюцца ў колькасці працоўных дзён, якая вяртаецца.

    • Святы - неабавязковы спіс святочных дзён, якія не варта лічыць працоўнымі днямі.

    Як выкарыстоўваць NETWORKDAYS у Excel - прыклад формулы

    Дапусцім, у вас ёсць спіс святочных дзён у ячэйках A2:A5, даты пачатку ў слупку B, даты заканчэння ў слупку C, і вы хочаце ведаць, колькі працоўных дзён паміж гэтымі датамі. Адпаведную формулу NETWORKDAYS лёгка высветліць:

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

    Звярніце ўвагу, што функцыя Excel NETWORKDAYS вяртае станоўчае значэнне, калі дата пачатку меншая за дату заканчэння, і адмоўнае значэнне, калі дата заканчэння больш свежая, чым дата пачатку (як у радку 5):

    Функцыя Excel NETWORKDAYS.INTL

    Як і NETWORKDAYS, функцыя Excel NETWORKDAYS.INTL разлічвае колькасць дзён тыдня паміж дзвюма датамі, але дазваляе вам вызначыць, якія дні трэба лічыць выходнымі.

    Сінтаксіс функцыі NETWORKDAYS.INTL вельмі падобны на NETWORKDAYS', за выключэннем таго, што ў ёй ёсць дадатковы [выходныя ] параметр, які паказвае, якія дні тыдня павінны лічыцца выхаднымі.

    NETWORKDAYS.INTL( дата_пачатку, дата_канца, [выхадныя], [святы] )

    Аргумент weekend можа прымацьальбо лік, альбо радок. Лічбы і радкі выхаднога дня сапраўды такія ж, як і ў параметры weekend функцыі WORKDAY.INTL.

    Функцыя NETWORKDAYS.INTL даступная ў Excel 365 - 2010.

    Выкарыстанне NETWORKDAYS.INTL у Excel - прыклад формулы

    Выкарыстоўваючы спіс дат з папярэдняга прыкладу, давайце вылічым колькасць працоўных дзён паміж дзвюма датамі, прычым нядзеля будзе адзіным выходным днём. Для гэтага вы ўводзіце лік 11 у аргумент weekend вашай формулы NETWORKDAYS.INTL або ствараеце радок з шасці 0 і адной 1 ("0000001"):

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

    Або

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

    Наступны скрыншот даказвае, што абедзве формулы вяртаюць абсалютна аднолькавыя вынікі.

    Як вылучыць працоўныя дні ў Excel

    Выкарыстанне Функцыі WORKDAY і WORKDAY.INTL, вы можаце не толькі разлічыць працоўныя дні ў вашых лістах Excel, але і вылучыць іх у адпаведнасці з патрабаваннямі вашай бізнес-логікі. Для гэтага вы ствараеце правіла ўмоўнага фарматавання з формулай WORKDAY або WORKDAY.INTL.

    Напрыклад, у спісе дат у слупку B вылучым толькі будучыя даты, якія знаходзяцца ў межах 15 працоўных дзён ад сённяшняй. , за выключэннем двух святаў у ячэйках A2:A3. Самая відавочная формула, якая прыходзіць на розум, выглядае наступным чынам:

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

    Першая частка лагічнага тэсту адсякае мінулыя даты, г.зн. вы правяраеце, роўная ці большая дата за сённяшнюю : $B2>СЁННЯ(). А ў другой частцы вы правяраецеці з'яўляецца дата не больш чым на 15 працоўных дзён у будучыні, за выключэннем выхадных і вызначаных святаў: $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)

    Формула выглядае правільна, але як толькі вы створыце на яе аснове правіла, вы зразумееце, што яно вылучае няправільна даты:

    Давайце паспрабуем разабрацца, чаму так адбываецца. Праблема не ў функцыі WORKDAY, як хтосьці можа зрабіць выснову. Функцыя правільная, але... што яна насамрэч робіць? Ён вяртае дату праз 15 працоўных дзён, за выключэннем выхадных (субота і нядзеля) і святочных дзён у ячэйках A2:A3.

    Добра, і што робіць правіла, заснаванае на гэтай формуле? Ён вылучае УСЕ даты, якія роўныя або большыя за сённяшні дзень і меншыя за дату, якую вяртае функцыя WORKDAY. Вы бачыце? Усе даты! Калі вы не жадаеце расфарбоўваць выхадныя і святочныя дні, вам трэба прама сказаць Excel гэтага не рабіць. Такім чынам, мы дадаем яшчэ дзве ўмовы да нашай формулы:

    • Функцыя WEEKDAY для выключэння выхадных: WEEKDAY($B2, 2)<6
    • Функцыя COUNTIF для выключэння святочных дзён : COUNTIF($A$2:$A$3, $B2)=0

    Як паказана на скрыншоце ніжэй, палепшаная формула працуе ідэальна:

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

    Як бачыце, функцыі WORKDAY і WORKDAY.INTL робяць разлік працоўных дзён у Excel хуткім і лёгкім. Вядома, вашы формулы ў рэальным жыцці, хутчэй за ўсё, будуць больш складанымі, але веданне асноў вельмі дапамагае, таму што вы можаце запомніць толькі

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.