Змест
Сённяшні допіс у блогу прысвечаны высвятленню розніцы паміж дзвюма датамі ў Табліцах Google. Вы ўбачыце мноства формул DATEDIF для падліку дзён, месяцаў і гадоў і даведаецеся, як NETWORKDAYS выкарыстоўваецца для падліку толькі працоўных дзён, нават калі вашы святы заснаваны на карыстальніцкім раскладзе.
Шмат электронных табліц знаходзяць карыстальнікі даты заблытаныя, калі не вельмі цяжкія, каб справіцца. Але верце ці не, для гэтай мэты ёсць некалькі зручных і простых функцый. DATEDIF і NETWORKDAYS - некалькі з іх.
Функцыя DATEDIF у Табліцах Google
Як гэта бывае з функцыямі, іх назвы падказваюць дзеянне. Тое ж самае тычыцца DATEDIF. Яго трэба чытаць як date dif , а не dated if , і гэта азначае date difference . Такім чынам, DATEDIF у Табліцах Google вылічвае розніцу паміж дзвюма датамі.
Давайце разбяром гэта на часткі. Функцыя патрабуе трох аргументаў:
=DATEDIF(пачатковая_дата, канчатковая_дата, адзінка вымярэння)- пачатковая_дата – дата, якая выкарыстоўваецца ў якасці адпраўной кропкі. Гэта павінна быць адно з наступнага:
- сама дата ў двукоссі: "8/13/2020"
- спасылка на ячэйку з датай: A2
- формула, якая вяртае дату: ДАТА(2020, 8, 13)
- лік, які азначае пэўную дату і можа быць вытлумачана Google Sheets як дата, напрыклад. 44056 уяўляе сабой 13 жніўня 2020 г. .
- end_date – выкарыстоўваная датаяк канчатковая кропка. Ён павінен быць таго ж фармату, што і start_date .
- unit – выкарыстоўваецца, каб паведаміць функцыі, якую розніцу вярнуць. Вось поўны спіс адзінак, якія вы можаце выкарыстоўваць:
- "D" – (скарачэнне ад дзён ) вяртае колькасць дзён паміж дзвюма датамі.
- "M" – (месяцы) колькасць поўных месяцаў паміж дзвюма датамі.
- "Y" – (гады) колькасць поўных гадоў.
- "MD" – (дні без уліку месяцаў) колькасць дзён пасля аднімання цэлых месяцаў.
- "YD" – (дні без уліку гадоў) колькасць дзён пасля аднімання цэлых гадоў.
- "YM" – (месяцы без уліку гадоў) колькасць поўных месяцаў пасля аднімання поўных гадоў.
Заўвага. Усе адзінкі павінны быць змешчаны ў формулах гэтак жа, як яны паказаны вышэй - у падвойных двукоссях.
Зараз давайце збярэм усе гэтыя часткі разам і паглядзім, як працуюць формулы DATEDIF у Табліцах Google.
Падлічыце дні паміж дзвюма датамі ў Табліцах Google
Прыклад 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 ёсць некалькі не вельмі магічных загавораў для гэтага :)
Прыклад 1. Функцыя NETWORKDAYS
Першая называецца NETWORKDAYS. Гэтая функцыя разлічвае колькасць працоўных дзён паміж дзвюма датамі, за выключэннем выхадных (субота іНядзеля) і нават святочныя дні, калі неабходна:
=NETWORKDAYS(дата_пачатку, дата_канца, [святы])- дата_пачатку – дата, якая выкарыстоўваецца ў якасці адпраўной кропкі. абавязковы.
Заўвага. Калі гэтая дата не з'яўляецца святочнай, яна залічваецца як працоўны дзень.
- end_date – дата, якая выкарыстоўваецца ў якасці канчатковай кропкі. абавязковы.
Заўвага. Калі гэтая дата не з'яўляецца святочнай, яна залічваецца як працоўны дзень.
- святы – гэта неабавязкова, калі вам трэба адзначыць пэўныя святы. Гэта павінен быць дыяпазон дат або лічбаў, якія прадстаўляюць даты.
Каб праілюстраваць, як гэта працуе, я дадам спіс святаў, якія адбываюцца паміж датамі дастаўкі і тэрмінамі:
Такім чынам, слупок B - гэта мая пачатковая дата, слупкі C - дата заканчэння. Даты ў калонцы E - гэта святочныя дні, якія варта ўлічваць. Вось як павінна выглядаць формула:
=NETWORKDAYS(B2, C2, $E$2:$E$4)
Савет. Калі вы збіраецеся скапіяваць формулу ў іншыя ячэйкі, выкарыстоўвайце абсалютныя спасылкі на ячэйкі для святаў, каб пазбегнуць памылак або няправільных вынікаў. Або падумайце аб стварэнні формулы масіва замест гэтага.
Ці заўважылі вы, як зменшылася колькасць дзён у параўнанні з формуламі DATEDIF? Таму што цяпер функцыя аўтаматычна адымае ўсе суботы, нядзелі і два святочныя дні, якія адбываюцца ў пятніцу і панядзелак.
Заўвага. У адрозненне ад DATEDIF у Табліцах Google, NETWORKDAYS лічыць start_day і end_day працоўнымі днямі, калі яны не з'яўляюцца святочнымі днямі. Такім чынам, D7 вяртае 1 .
Прыклад 2.NETWORKDAYS.INTL для Табліц Google
Калі ў вас ёсць індывідуальны расклад на выхадныя, вы атрымаеце карысць ад іншай функцыі: NETWORKDAYS.INTL. Гэта дазваляе падлічваць працоўныя дні ў Табліцах Google на аснове асабіста ўстаноўленых выхадных:
=NETWORKDAYS.INTL(дата_пачатку, дата_канца, [выхадныя], [святы])- дата_пачатку – a дата выкарыстоўваецца ў якасці адпраўной кропкі. Абавязкова.
- end_date – дата, якая выкарыстоўваецца ў якасці канчатковай кропкі. абавязковы.
Заўвага. NETWORKDAYS.INTL у Табліцах Google таксама лічыць start_day і end_day працоўнымі днямі, калі яны не з'яўляюцца святочнымі днямі.
- weekend – гэта неабавязковы. Калі прапусціць, субота і нядзеля лічацца выхаднымі. Але вы можаце змяніць гэта двума спосабамі:
- Маскі .
Парада. Гэты спосаб ідэальна падыходзіць, калі вашы выходныя дні раскіданы па ўсім тыдні.
Маска - гэта сямізначны ўзор з 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)
Тады проста дадайце апошні аргумент – спасылка на святы ў калонцы E, і формула гатовая:
=NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)
Google Sheets і розніца дат у месяцах
Часам месяцы маюць большае значэнне, чым дні. Калі гэта праўда для вас і вы аддаеце перавагу атрымліваць розніцу ў датах у месяцах, а не ў днях, дазвольце Табліцам GoogleDATEDIF робіць працу.
Прыклад 1. Колькасць поўных месяцаў паміж дзвюма датамі
Справа тая ж: спачатку ідзе start_date , а затым end_date і "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.
Калі ваша справа не можа быць вырашана з дапамогай іх або калі ў вас ёсць якія-небудзь пытанні, я заклікаю вас падзяліцца імі з намі ў раздзеле каментарыяўніжэй.