Excel WORKDAY және NETWORKDAYS жұмыс күндерін есептеу үшін функциялары

  • Мұны Бөлісіңіз
Michael Brown

Бұл қысқа оқулық теңшелетін демалыс параметрлері мен мереке күндері бар жұмыс күндерін есептеу үшін Excel ЖЕЛІЛІК КҮНДЕРІ және ЖҰМЫС КҮНІ функцияларын пайдалануды түсіндіреді.

Microsoft Excel жұмыс күндерін есептеу үшін арнайы әзірленген екі функцияны қамтамасыз етеді - ЖҰМЫС КҮНІ және ЖҰМЫС КҮНІ NETWORKDAYS.

ЖҰМЫС КҮНІ функциясы болашақтағы немесе өткен N жұмыс күні күнін қайтарады және оны берілген күнге жұмыс күндерін қосу немесе азайту үшін пайдалануға болады.

NETWORKDAYS функциясын пайдаланып, сіз көрсеткен екі күн арасындағы жұмыс күндерінің санын есептей аласыз.

Excel 2010 және одан жоғары нұсқаларында жоғарыда аталған функциялардың неғұрлым күшті модификациялары қолжетімді, WORKDAY.INTL және NETWORKDAYS.INTL демалыс күндері қай және қанша күн екенін анықтауға мүмкіндік береді.

Ал енді әрбір функцияны толығырақ қарастырайық және оны жұмыс күндерін есептеу үшін қалай пайдалануға болатынын көрейік. Excel жұмыс парақтарыңыз.

    Excel ЖҰМЫС КҮНІ функциясы

    Excel ЖҰМЫС КҮНІ функциясы берілген жұмыс күні саны болып табылатын күнді қайтарады. басталу күнінен бұрын немесе одан бұрын. Ол демалыс күндерін, сондай-ақ сіз көрсеткен мерекелерді қоспайды.

    ЖҰМЫС КҮНІ функциясы стандартты жұмыс күнтізбесі негізінде жұмыс күндерін, кезеңдерін және аяқталу мерзімдерін есептеуге арналған, сенбі және жексенбі демалыс күндері болады.

    ЖҰМЫС күні — Excel 2007 - 365 нұсқасындағы кірістірілген функция. Бұрынғы нұсқаларда талдауды қосу керек.маңызды нәрселердің шағын жиынтығы және қалғанын алыңыз. Оқығаныңыз үшін алғыс айтамын және келесі аптада біздің блогта көремін деп үміттенемін!

    Құралдар жинағы.

    Excel бағдарламасында ЖҰМЫС КҮНін пайдаланған кезде келесі аргументтерді енгізу керек:

    ЖҰМЫС КҮНІ(басталу_күні, күндер, [мерекелер])

    Алғашқы 2 аргумент қажет, ал соңғысы міндетті емес. :

    • Бастау_күні - жұмыс күндерін санау басталатын күн.
    • Күндер - қосу/алу үшін жұмыс күндерінің саны басталу_күнінен бастап. Оң сан болашақ күнді, теріс сан өткен күнді қайтарады.
    • Мерекелер - жұмыс күндері ретінде есептелмейтін күндердің қосымша тізімі. Бұл есептеулерден алып тастағыңыз келетін күндерді қамтитын ұяшықтар ауқымы немесе күндерді білдіретін сериялық нөмірлердің жиым тұрақтысы болуы мүмкін.

    Енді сіз негізгі мәліметтерді білетін болсаңыз, оны қалай жасайтыныңызды көрейік. Excel жұмыс парақтарындағы ЖҰМЫС КҮНІ функциясын пайдалана алады.

    Бүгінгі күнге жұмыс күндерін қосу/алып тастау үшін ЖҰМЫС КҮНІН пайдалану жолы

    Excel бағдарламасында жұмыс күндерін есептеу үшін мына қарапайым ережелерді орындаңыз:

    • Жұмыс күнін қосу үшін ЖҰМЫС КҮНІ формуласының күн аргументі ретінде оң санды енгізіңіз.
    • Жұмыс күнін азайту үшін пайдаланыңыз. күндер аргументіндегі теріс сан.

    Егер сізде A2 ұяшығында басталу күні, B2:B5 ұяшықтарында мерекелер тізімі бар және сіз мынаны білгіңіз келсе болашақтағы және өткендегі 30 жұмыс күні. Мұны келесі формулалар арқылы орындауға болады:

    Бастау күніне мереке күндерін қоспағанда, 30 жұмыс күнін қосу үшінB2:B5:

    =WORKDAY(A2, 30, B2:B5)

    Бастау күнінен 30 жұмыс күнін шегеру үшін, B2:B5 ішіндегі мерекелерді қоспағанда:

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

    Жұмыс күндерін есептеу үшін ағымдағы күнде басталу күні ретінде BUGÜN() функциясын пайдаланыңыз:

    Бүгінгі күнге 30 жұмыс күні қосу үшін:

    =WORKDAY(TODAY(), 30)

    Кімге бүгінгі күннен 30 жұмыс күнін шегеріңіз:

    =WORKDAY(TODAY(), -30)

    Бастау күнін формулаға тікелей беру үшін DATE функциясын пайдаланыңыз:

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

    келесі скриншот осы және тағы бірнеше ЖҰМЫС КҮНІ формулаларының нәтижелерін көрсетеді:

    Және, әрине, басталу күнінен қосу/алып тастау үшін жұмыс күндерінің санын енгізуге болады. кейбір ұяшықты таңдаңыз, содан кейін формулаңыздағы сол ұяшыққа сілтеме жасаңыз. Мысалы:

    =WORKDAY(A2, C2)

    Бұл жерде A2 - басталу күні және C2 - демалыс күндерінен кейін (теріс сандар) немесе одан кейінгі (оң сандар) демалыс күндері емес, мереке күндері жоқ. алып тастау.

    Кеңес. Excel 365 және 2021 нұсқаларында жұмыс күндерінің қатарын жасау үшін ЖҰМЫС КҮНін SEQUENCE бірге пайдалануға болады.

    Excel WORKDAY.INTL функциясы

    WORKDAY.INTL - ЖҰМЫС КҮНІНІҢ күштірек модификациясы. демалыс күндерінің теңшелетін параметрлерімен жұмыс істейтін функция. ЖҰМЫС КҮНІ сияқты ол болашақтағы немесе өткендегі жұмыс күндерінің белгіленген саны болып табылатын күнді қайтарады, бірақ аптаның қай күндері демалыс күндері болып саналатындығын анықтауға мүмкіндік береді.

    WORKDAY.INTL функциясы. жылы енгізілдіExcel 2010 және т.б. бұрынғы Excel нұсқаларында қолжетімді емес.

    Excel WORKDAY.INTL функциясының синтаксисі келесідей:

    WORKDAY.INTL(басталу_күні, күндер, [демалыс], [мерекелер])

    Алғашқы екі аргумент қажет және ЖҰМЫС КҮНіне ұқсас:

    Бастау_күні - бастапқы күн.

    Күндер - саны басталу күніне дейін (теріс мән) немесе кейін (оң мән) жұмыс күндері. Егер days аргументі ондық сан ретінде берілсе, ол бүтін санға қысқартылады.

    Соңғы екі аргумент міндетті емес:

    Демалыс - қай жұмыс күндері болуы керектігін көрсетеді. демалыс күндері болып есептеледі. Бұл төменде көрсетілгендей сан немесе жол болуы мүмкін.

    Сан Демалыс күндері
    1 немесе алынып тасталды Сенбі, жексенбі
    2 жексенбі, дүйсенбі
    3 Дүйсенбі, сейсенбі
    4 Сейсенбі, сәрсенбі
    5 Сәрсенбі, бейсенбі
    6 Бейсенбі, жұма
    7 Жұма, сенбі
    11 Тек жексенбі
    12 Тек дүйсенбі
    13 Тек сейсенбі
    14 Тек сәрсенбі
    15 Тек бейсенбі
    16 Тек жұма
    17 Тек сенбі

    Демалыс жолы - аптаның жеті күнін білдіретін жеті 0 және 1 қатары,дүйсенбіден басталады. 1 жұмыс емес күнді және 0 жұмыс күнін білдіреді. Мысалы:

    • "0000011" - сенбі және жексенбі демалыс күндері.
    • "1000001" - дүйсенбі және жексенбі демалыс күндері.

    Бір қарағанда. , демалыс күндеріндегі жолдар артық болып көрінуі мүмкін, бірақ маған бұл әдіс көбірек ұнайды, өйткені сіз демалыс күндерін кез келген сандарды есте сақтамай-ақ жасай аласыз.

    Мерекелер - күндердің қосымша тізімі жұмыс күнінің күнтізбесінен алып тастағыңыз келеді. Бұл күндерді қамтитын ұяшықтар ауқымы немесе сол күндерді көрсететін сериялық мәндердің жиым тұрақтысы болуы мүмкін.

    Excel бағдарламасында WORKDAY.INTL пайдалану - формула мысалдары

    Ал, өте үлкен көлем. Біз талқылаған теория өте күрделі және түсініксіз болып көрінуі мүмкін, бірақ формулаларда қолыңызды сынап көру бәрін жеңілдетеді.

    Біздің деректер жинағында, басталу күні 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 аргументтерінің тіркесімі жарамсыз күнді тудырса немесе WORKDAY.INTL функциясындағы
    • weekend аргументі жарамсыз болса. .

    #VALUE! қатесі келесі жағдайларда орын алады:

    • start_date немесе holidays -дағы кез келген мән жарамды күн болмаса немесе
    • days аргументі сандық емес.

    Excel NETWORKDAYS функциясы

    Excel бағдарламасындағы NETWORKDAYS функциясы демалыс күндерін және міндетті түрде мереке күндерін қоспағанда, екі күн арасындағы жұмыс күндерінің санын қайтарады. көрсетіңіз.

    Excel NETWORKDAYS синтаксисі интуитивті және есте сақтау оңай:

    NETWORKDAYS(басталу_күні, аяқталу_күні, [мерекелер])

    Алғашқы екі аргумент міндетті, ал үшіншісі -қосымша:

    • Бастау_күні - жұмыс күндерін санау басталатын бастапқы күн.
    • Аяқтау_күні - кезеңнің соңы сіз жұмыс күндерін санап жатырсыз.

    Бастау күні де, аяқталу күні де жұмыс күндерінің қайтарылған санында есептеледі.

    • Мерекелер - қосымша тізім Жұмыс күндері ретінде есептелмейтін мерекелер саны.

    Excel бағдарламасында NETWORKDAYS қалай қолданылады - формула мысалы

    А2: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 аргументі қабылдай аладысан немесе жол. Сандар мен демалыс күндері WORKDAY.INTL функциясының weekend параметрімен дәл бірдей.

    NETWORKDAYS.INTL функциясы Excel 365 - 2010 нұсқасында қолжетімді.

    NETWORKDAYS.INTL пайдалану Excel бағдарламасында - формула мысалы

    Алдыңғы мысалдағы күндер тізімін пайдалана отырып, жексенбі жалғыз демалыс күні болатын екі күн арасындағы жұмыс күндерінің санын есептейік. Ол үшін NETWORKDAYS.INTL формуласының weekend аргументіне 11 санын теріңіз немесе алты 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 функциясына қатысты емес, себебі біреу қорытындылауы мүмкін. Функция дұрыс, бірақ... ол не істейді? Ол A2:A3 ұяшықтарындағы демалыс күндерін (сенбі және жексенбі) және мереке күндерін қоспағанда, 15 жұмыс күнінен кейінгі күнді қайтарады.

    Жарайды және осы формулаға негізделген ереже не істейді? Ол бүгінгі күнге тең немесе одан үлкен және 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 бағдарламаларында өз дағдыларын жетілдірді. Майклдың блогы өз білімі мен тәжірибесін басқалармен бөлісуге, өнімділік пен тиімділікті арттыруға арналған оңай орындалатын кеңестер мен оқулықтар беруге арналған. Сіз тәжірибелі кәсіпқой болсаңыз да, жаңадан бастаушы болсаңыз да, Майклдың блогы осы маңызды бағдарламалық құралдарды барынша пайдалану үшін құнды түсініктер мен практикалық кеңестер ұсынады.