Google Sheets қолданбасындағы DATEDIF және NETWORKDAYS: күндер, айлар және жылдардағы күн айырмашылығы

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

Бүгінгі блог жазбасы Google Sheets қолданбасындағы екі күннің айырмашылығын анықтауға арналған. Сіз күндерді, айларды және жылдарды санау үшін көптеген DATEDIF формулаларын көресіз және мерекелеріңіз реттелетін кестеге негізделген болса да, NETWORKDAYS жұмыс күндерін санау үшін қалай қолданылатынын білесіз.

Пайдаланушылар көптеген электрондық кестелерді табады. даталарды өңдеу өте қиын болмаса, шатастырады. Бірақ сенсеңіз де, сенбесеңіз де, осы мақсат үшін бірнеше ыңғайлы және қарапайым функциялар бар. DATEDIF және NETWORKDAYS – олардың бірнешеуі.

    Google Sheets қолданбасындағы DATEDIF функциясы

    Функцияларда болатындай, олардың атаулары әрекетті ұсынады. DATEDIF үшін де солай. Оны күні емес, күннің айырмашылығы деп оқу керек және ол күннің айырмашылығы дегенді білдіреді. Осылайша, Google Sheets қолданбасындағы DATEDIF екі күн арасындағы күн айырмашылығын есептейді.

    Оны бөліктерге бөлейік. Функция үш аргументті қажет етеді:

    =DATEDIF(бастау_күні, аяқталу_күні, бірлік)
    • басталу_күні – бастапқы нүкте ретінде пайдаланылатын күн. Ол келесілердің бірі болуы керек:
      • қос тырнақшадағы күннің өзі: "8/13/2020"
      • күні бар ұяшыққа сілтеме: A2
      • күнді қайтаратын формула: DATE(2020, 8, 13)
      • белгілі бір күнді білдіретін сан Google Sheets арқылы күн ретінде түсіндіруге болады, мысалы: 44056 2020 жылдың 13 тамызын білдіреді.
    • аяқталу_күні – пайдаланылған күнсоңғы нүкте ретінде. Ол басталу_күні пішімінде болуы керек.
    • бірлік – функцияға қандай айырмашылықты қайтару керектігін айту үшін пайдаланылады. Мұнда сіз пайдалануға болатын бірліктердің толық тізімі берілген:
      • "D" – ( күн үшін қысқа) екі күн арасындағы күндер санын қайтарады.
      • "М" – (айлар) екі күн арасындағы толық айлар саны.
      • "Y" – (жылдар) толық жылдар саны.
      • "MD" – (айларды есепке алмаған күндер) толық айларды шегергеннен кейінгі күндер саны.
      • "YD" – (жылдарды есепке алмаған күндер) бүтін жылдарды шегергеннен кейінгі күндер саны.
      • "YM" – (жылдарды есепке алмағанда) толық жылдарды шегергеннен кейінгі толық айлар саны.

    Ескертпе. Барлық бірліктерді формулаларға жоғарыда көрсетілгендей қою керек – қос тырнақшаға.

    Енді осы бөліктердің барлығын біріктіріп, DATEDIF формулаларының Google Sheets жүйесінде қалай жұмыс істейтінін көрейік.

    Google Sheets қолданбасында екі күн арасындағы күндерді есептеңіз

    1-мысал. Барлық күндерді санау

    Менде кейбір тапсырыстарды бақылайтын шағын үстел бар. Олардың барлығы тамыз айының бірінші жартысында жөнелтілді – Жеткізу күні – бұл менің басталу күнім болады. Сондай-ақ шамамен жеткізу күні бар – Тауар мерзімі .

    Мен күндерді есептеймін – "D" – арасындағы заттардың келуіне қанша уақыт кететінін көру үшін жеткізу және мерзімі. Мен мына формуланы қолданамын:

    =DATEDIF(B2, C2, "D")

    Мен енгіземінDATEDIF формуласын D2 мәніне енгізіп, басқа жолдарға қолдану үшін оны бағанға көшіріңіз.

    Кеңес. Сіз әрқашан ARRAYFORMULA көмегімен бір формуламен бүкіл бағанды ​​бірден есептей аласыз:

    =ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))

    2-мысал. Айларды елемейтін күндерді санау

    Онда елестетіңіз екі күннің арасындағы бірнеше ай:

    Тек күндерді бір айға жататындай қалай санайсыз? Бұл дұрыс: өткен толық айларды елемеу арқылы. DATEDIF оны "MD" бірлігін пайдаланған кезде автоматты түрде есептейді:

    =DATEDIF(A2, B2, "MD")

    Функция өткен айларды шегереді және қалған күндерді санайды .

    3-мысал. Жылдарды елемейтін күндерді санау

    Тағы бір бірлік – "YD" – күндер арасында бір жылдан астам уақыт болған кезде көмектеседі:

    =DATEDIF(A2, B2, "YD")

    Формула алдымен жылдарды шегереді, содан кейін қалған күндерді сол жылға тиесілі сияқты есептейді.

    Google Sheets қолданбасындағы жұмыс күндерін санау

    Google Sheets қолданбасында тек жұмыс күндерін санау қажет болатын ерекше жағдай бар. DATEDIF формулалары мұнда көп көмектеспейді. Демалыс күндерін қолмен шегерудің ең талғампаз нұсқа емес екендігімен келісесіз деп ойлаймын.

    Бақытымызға орай, Google Sheets-те бұл үшін сиқырлы емес бірнеше сиқырлар бар :)

    1-мысал. NETWORKDAYS функциясы

    Біріншісі NETWORKDAYS деп аталады. Бұл функция демалыс күндерін қоспағанда, екі күн арасындағы жұмыс күндерінің санын есептейді (сенбі жәнежексенбі) және тіпті қажет болса мереке күндері:

    =NETWORKDAYS(бастау_күні, аяқталу_күні, [мерекелер])
    • басталу_күні – бастапқы нүкте ретінде пайдаланылатын күн. Міндетті.

      Ескертпе. Егер бұл күн мереке күні болмаса, ол жұмыс күні болып есептеледі.

    • аяқталу_күні – соңғы нүкте ретінде пайдаланылатын күн. Міндетті.

      Ескертпе. Егер бұл күн мереке күні болмаса, ол жұмыс күні болып есептеледі.

    • мерекелер – бұл белгілі бір мерекелерді көрсету қажет болғанда міндетті емес. Бұл күндерді білдіретін күндер немесе сандар ауқымы болуы керек.

    Оның қалай жұмыс істейтінін көрсету үшін мен жеткізу және төлеу мерзімі арасында өтетін мерекелердің тізімін қосамын:

    Сонымен, B бағанында менің басталу күнім, C бағандары – аяқталу күні. E бағанындағы күндер ескерілетін мерекелер болып табылады. Формула келесідей болуы керек:

    =NETWORKDAYS(B2, C2, $E$2:$E$4)

    Кеңес. Егер формуланы басқа ұяшықтарға көшіргіңіз келсе, қателерді немесе дұрыс емес нәтижелерді болдырмау үшін мереке күндері үшін абсолютті ұяшық сілтемелерін пайдаланыңыз. Немесе оның орнына массив формуласын құруды қарастырыңыз.

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

    Ескерту. Google Sheets қолданбасындағы DATEDIF күнінен айырмашылығы, NETWORKDAYS мереке күндері болмаса, бастау_күн және соңғы_күн күндерін жұмыс күндері ретінде санайды. Демек, D7 1 қайтарады.

    2-мысал.Google Sheets үшін NETWORKDAYS.INTL

    Егер сізде арнаулы демалыс кестесі болса, сіз басқа функцияны пайдаланасыз: NETWORKDAYS.INTL. Ол Google Sheets қолданбасында жеке белгіленген демалыс күндеріне негізделген жұмыс күндерін санауға мүмкіндік береді:

    =NETWORKDAYS.INTL(басталу_күні, аяқталу_күні, [демалыс], [мерекелер])
    • басталу_күні – a бастапқы нүкте ретінде пайдаланылған күн. Міндетті.
    • аяқталу_күні – соңғы нүкте ретінде пайдаланылатын күн. Міндетті.

      Ескертпе. Google Sheets жүйесіндегі NETWORKDAYS.INTL сонымен қатар мереке күндері болмаса, бастау_күн және аяқ_күн күндерін жұмыс күндері ретінде санайды.

    • демалыс күндері – бұл күн міндетті емес. Өткізілмесе, сенбі және жексенбі демалыс күндері болып саналады. Бірақ оны екі жолмен өзгертуге болады:
      • Маскалар .

        Кеңес. Бұл әдіс демалыс күндеріңіз апта бойы шашыраңқы болған кезде өте қолайлы.

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

        Мысалы, "1100110" сәрсенбі, бейсенбі, жұма және сенбі күндері жұмыс істейтіндігіңізді білдіреді.

        Ескертпе. Масканы қос тырнақшаға қою керек.

      • Сандар .

        Демалыс күндерінің жұбын білдіретін бір таңбалы сандарды (1-7) пайдаланыңыз:

        Сан Демалыс күндері
        1 Сенбі, жексенбі
        2 жексенбі, дүйсенбі
        3 Дүйсенбі, сейсенбі
        4 сейсенбі,сәрсенбі
        5 Сәрсенбі, бейсенбі
        6 Бейсенбі, жұма
        7 Жұма, сенбі

        Немесе демалыс үшін бір күнді білдіретін екі таңбалы сандармен (11-17) жұмыс жасаңыз апта ішінде:

        саны Демалыс күні
        11 жексенбі
        12 дүйсенбі
        13 сейсенбі
        14 Сәрсенбі
        15 Бейсенбі
        16 Жұма
        17 сенбі
    • мерекелер – ол сондай-ақ қосымша болып табылады және мерекелерді көрсету үшін пайдаланылады.

    Бұл функция барлық осы сандарға байланысты күрделі болып көрінуі мүмкін, бірақ мен оны қолданып көруге шақырамын.

    Біріншіден, жай ғана демалыс күндеріңіз туралы нақты түсінік алыңыз. жексенбі және дүйсенбі жасайық. Содан кейін демалыс күндерін көрсету жолын шешіңіз.

    Егер бетпердемен жүрсеңіз, ол былай болады – 1000001 :

    =NETWORKDAYS.INTL(B2, C2, "1000001")

    Бірақ менде екі демалыс күні қатарынан болғандықтан, мен жоғарыдағы кестелердегі санды пайдалана аламын, менің жағдайда 2 :

    =NETWORKDAYS.INTL(B2, C2, 2)

    Сосын жай ғана мынаны қосыңыз соңғы аргумент – Е бағанындағы мерекелерді қараңыз және формула дайын:

    =NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)

    Google Sheets және айлардағы күн айырмашылығы

    Кейде айлар күндерден де маңызды. Бұл сізге қатысты болса және күн айырмашылығын күндермен емес, айлармен алғыңыз келсе, Google Sheets қолданбасына рұқсат етіңізDATEDIF тапсырманы орындайды.

    Мысал 1. Екі күн арасындағы толық айлар саны

    Жолдау бірдей: алдымен басталу_күні , одан кейін <1 болады>аяқталу_күні және "M" – бұл айларға созылады – соңғы дәлел ретінде:

    =DATEDIF(A2, B2, "M")

    Кеңес. Барлық жолдардағы айларды бірден санауға көмектесетін ARRAUFORMULA функциясы туралы ұмытпаңыз:

    =ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))

    2-мысал. Жылдарды еленбейтін айлар саны

    Сізге қажет болмауы мүмкін. басталу және аяқталу күндері арасындағы барлық жылдардағы айларды санау. Және DATEDIF мұны істеуге мүмкіндік береді.

    Тек "YM" бірлігін пайдаланыңыз және формула алдымен бүтін жылдарды алып тастайды, содан кейін күндер арасындағы айлар санын есептейді:

    =DATEDIF(A2, B2, "YM")

    Google Sheets қолданбасында екі күн арасындағы жылдарды есептеңіз

    Соңғы (бірақ кем дегенде) Google Sheets DATEDIF күнді қалай есептейтінін көрсетеді. жылдардағы айырмашылық.

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

    Сіз сияқты әлдеқашан болжаған болуы мүмкін, мен ол үшін "Y" бірлігін қолданамын:

    =DATEDIF(A2, B2, "Y")

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

    Егер сіздің ісіңіз осы арқылы шешілмесе немесе сұрақтарыңыз болса, оларды бөлісуге кеңес беремін. түсініктеме бөлімінде бізбен біргетөменде.

    Майкл Браун - бағдарламалық құралдарды пайдалана отырып, күрделі процестерді жеңілдетуге құмарлығы бар арнайы технология әуесқойы. Технологиялық индустрияда он жылдан астам тәжірибесі бар ол Microsoft Excel және Outlook, сондай-ақ Google Sheets және Docs бағдарламаларында өз дағдыларын жетілдірді. Майклдың блогы өз білімі мен тәжірибесін басқалармен бөлісуге, өнімділік пен тиімділікті арттыруға арналған оңай орындалатын кеңестер мен оқулықтар беруге арналған. Сіз тәжірибелі кәсіпқой болсаңыз да, жаңадан бастаушы болсаңыз да, Майклдың блогы осы маңызды бағдарламалық құралдарды барынша пайдалану үшін құнды түсініктер мен практикалық кеңестер ұсынады.