Змест
У гэтым кароткім падручніку тлумачыцца выкарыстанне функцый 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 хуткім і лёгкім. Вядома, вашы формулы ў рэальным жыцці, хутчэй за ўсё, будуць больш складанымі, але веданне асноў вельмі дапамагае, таму што вы можаце запомніць толькі