Kazalo
Današnja objava na blogu govori o ugotavljanju razlike med dvema datumoma v Google Sheets. Videli boste veliko formul DATEDIF za štetje dni, mesecev in let ter izvedeli, kako se NETWORKDAYS uporablja za štetje samo delovnih dni, tudi če vaši prazniki temeljijo na prilagojenem urniku.
Veliko uporabnikov preglednic meni, da je rokovanje z datumi zmedeno ali celo zelo težavno. Toda verjeli ali ne, za ta namen obstaja nekaj priročnih in preprostih funkcij. DATEDIF in NETWORKDAYS sta dve izmed njih.
Funkcija DATEDIF v Google Sheets
Kot je značilno za funkcije, njihova imena nakazujejo dejanje. Enako velja za DATEDIF. Brati ga je treba kot datum dif. , ne z datumom, če in pomeni razlika v datumih . Zato funkcija DATEDIF v Google Sheets izračuna razliko med dvema datumoma.
Razčlenimo jo na dele. Funkcija zahteva tri argumente:
=DATEDIF(začetni_datum, končni_datum, enota)- start_date - datum, ki se uporablja kot izhodišče. Biti mora eden od naslednjih:
- sam datum v dvojnih narekovajih: "8/13/2020"
- sklic na celico z datumom: A2
- formulo, ki vrne datum: DATUM(2020, 8, 13)
- število, ki pomeni določen datum in ga lahko Google Sheets interpretira kot datum, npr. 44056 predstavlja . avgust 13, 2020 .
- end_date - datum, ki se uporablja kot končna točka. Biti mora v enaki obliki kot start_date .
- enota - se uporablja, da funkciji pove, kakšno razliko naj vrne. Tukaj je celoten seznam enot, ki jih lahko uporabite:
- "D" - (kratica za dni ) vrne število dni med dvema datumoma.
- "M" - (mesecev) število polnih mesecev med dvema datumoma.
- "Y" - (leta) število polnih let.
- "MD" - (dnevi brez upoštevanja mesecev) število dni po odštetju celih mesecev.
- "YD" - (dnevi brez let) število dni po odštetju celih let.
- "YM" - (meseci brez let) število polnih mesecev po odštetju polnih let.
Opomba: Vse enote je treba v formule vnesti na enak način, kot so navedene zgoraj - v dvojnih narekovajih.
Sedaj združimo vse te dele in si oglejmo, kako formule DATEDIF delujejo v Google Sheets.
Izračun dni med dvema datumoma v Google preglednicah
Primer 1. Štetje vseh dni
Imam majhno tabelo za spremljanje nekaterih naročil. Vsa naročila so bila poslana v prvi polovici avgusta - Datum odpreme - ki bo moj datum začetka dela. Prav tako je naveden okvirni datum dostave - Rok plačila .
Izračunal bom dneve - "D" - med datumom odpreme in datumom zapadlosti, da vidim, koliko časa je potrebnega, da izdelki prispejo. Tukaj je formula, ki jo moram uporabiti:
=DATEDIF(B2, C2, "D")
Vnesem formulo DATEDIF v D2 in jo nato kopiram navzdol po stolpcu, da se uporabi v drugih vrsticah.
Nasvet. Vedno lahko celoten stolpec izračunate naenkrat z eno samo formulo z uporabo ARRAYFORMULA:
=ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))
Primer 2. Štetje dni brez upoštevanja mesecev
Predstavljajte si, da je med dvema datumoma nekaj mesecev:
Kako lahko štejete samo dneve, kot da pripadajo istemu mesecu? Prav: tako, da ne upoštevate celotnih mesecev, ki so minili. DATEDIF to samodejno izračuna, ko uporabite ukaz "MD" enota:
=DATEDIF(A2, B2, "MD")
Funkcija odšteje pretečene mesece in prešteje preostale dni.
Primer 3. Štetje dni brez upoštevanja let
Druga enota - "YD" - je namenjena pomoči, ko je med datumi več kot eno leto:
=DATEDIF(A2, B2, "YD")
Formula najprej odšteje leta, nato pa preostale dneve izračuna, kot da bi pripadali istemu letu.
Štetje delovnih dni v Google preglednicah
Obstaja poseben primer, ko morate v Google Sheets šteti samo delovne dni. Formule DATEDIF vam pri tem ne bodo v veliko pomoč. Verjamem, da se strinjate, da ročno odštevanje vikendov ni najbolj elegantna možnost.
Na srečo ima Google Sheets za to nekaj ne tako čarobnih čarov :)
Primer 1. Funkcija NETWORKDAYS
Prva funkcija se imenuje NETWORKDAYS. Ta funkcija izračuna število delovnih dni med dvema datumoma brez vikendov (sobota in nedelja) in po potrebi tudi praznikov:
=NETWORKDAYS(start_date, end_date, [holidays])- start_date - datum, ki se uporablja kot izhodišče. Zahtevano.
Opomba: Če ta datum ni praznik, se šteje kot delovni dan.
- end_date - datum, ki se uporablja kot končna točka. Zahtevano.
Opomba: Če ta datum ni praznik, se šteje kot delovni dan.
- počitnice - Ta možnost ni obvezna, če želite opozoriti na določene praznike. To mora biti razpon datumov ali številk, ki predstavljajo datume.
Za ponazoritev delovanja bom dodal seznam praznikov, ki so med datumi odpreme in zapadlosti:
Torej, stolpec B je moj začetni datum, stolpec C - končni datum. Datumi v stolpcu E so prazniki, ki jih je treba upoštevati:
=NETWORKDAYS(B2, C2, $E$2:$E$4)
Nasvet. Če boste formulo kopirali v druge celice, za praznike uporabite absolutne reference na celice, da se izognete napakam ali nepravilnim rezultatom. Ali pa namesto tega razmislite o oblikovanju formule v obliki polja.
Ste opazili, kako se je število dni zmanjšalo v primerjavi s formulo DATEDIF? Ker zdaj funkcija samodejno odšteje vse sobote, nedelje in dva praznika, ki sta v petek in ponedeljek.
Opomba: Za razliko od DATEDIF v Google Sheets, NETWORKDAYS šteje start_day in . end_day kot delovni dnevi, razen če so prazniki. Zato D7 vrne 1 .
Primer 2. NETWORKDAYS.INTL za Google Sheets
Če imate prilagojen razpored vikendov, vam bo koristila še ena funkcija: NETWORKDAYS.INTL. Z njo lahko štejete delovne dni v Google Sheets na podlagi osebno določenih vikendov:
=NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])- start_date - datum, ki se uporablja kot izhodišče. Zahtevano.
- end_date - datum, ki se uporablja kot končna točka. Zahtevano.
Opomba: NETWORKDAYS.INTL v Google Sheets prav tako šteje start_day in . end_day kot delovni dnevi, razen če gre za praznike.
- vikend - Ta možnost ni obvezna. Če jo izpustite, se sobota in nedelja štejeta za vikend. Vendar lahko to spremenite na dva načina:
- Maske .
Nasvet. Ta način je idealen, če so vaši prosti dnevi razpršeni čez cel teden.
Maska je sedemmestni vzorec 1 in 0. 1 pomeni konec tedna, 0 pa delovni dan. Prva številka v vzorcu je vedno ponedeljek, zadnja pa nedelja.
Na primer, "1100110" pomeni, da delate v sredo, četrtek, petek in soboto.
Opomba: Maska mora biti v dvojnih narekovajih.
- Številke .
Uporabite enomestne številke (1-7), ki označujejo par določenih vikendov:
Številka Vikend 1 sobota, nedelja 2 nedelja, ponedeljek 3 ponedeljek, torek 4 torek, sreda 5 Sreda, četrtek 6 Četrtek, petek 7 petek, sobota Ali pa delajte z dvomestnimi številkami (11-17), ki označujejo en dan počitka v enem tednu:
Številka Dan ob koncu tedna 11 Nedelja 12 Ponedeljek 13 Torek 14 Sreda 15 Četrtek 16 Petek 17 Sobota
- Maske .
- počitnice - je prav tako neobvezen in se uporablja za določitev praznikov.
Ta funkcija se morda zdi zapletena zaradi vseh teh številk, vendar vas spodbujam, da jo preizkusite.
Najprej si razjasnite svoje proste dneve. Nedelja in . Ponedeljek . Nato se odločite, kako boste označili svoje vikende.
Če boste uporabili masko, bo videti takole - 1000001 :
=NETWORKDAYS.INTL(B2, C2, "1000001")
Ker pa imam dva zaporedna dneva vikenda, lahko uporabim številko iz zgornjih tabel, 2 v mojem primeru:
=NETWORKDAYS.INTL(B2, C2, 2)
Nato preprosto dodajte zadnji argument - sklic na počitnice v stolpcu E - in formula je pripravljena:
=NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)
Google preglednice in razlika v datumih v mesecih
Včasih so meseci pomembnejši kot dnevi. Če je tako tudi pri vas in raje dobite razliko datumov v mesecih kot v dnevih, naj to opravi DATEDIF iz Google preglednic.
Primer 1. Število polnih mesecev med dvema datumoma
Postopek je enak: start_date je prvi, sledi pa mu end_date in . "M" - ki traja več mesecev - kot zadnji argument:
=DATEDIF(A2, B2, "M")
Nasvet: Ne pozabite na funkcijo ARRAUFORMULA, ki vam lahko pomaga pri štetju mesecev v vseh vrsticah hkrati:
=ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))
Primer 2. Število mesecev brez upoštevanja let
Morda vam ni treba šteti mesecev v vseh letih med začetnim in končnim datumom, kar vam omogoča DATEDIF.
Uporabite samo "YM" in formula bo najprej odštela cela leta, nato pa preštela število mesecev med datumi:
=DATEDIF(A2, B2, "YM")
Izračunajte leta med dvema datumoma v Google preglednicah
Nazadnje (a ne nazadnje) vam pokažemo, kako Google Sheets DATEDIF izračuna razliko datumov v letih.
Na podlagi datuma poroke in današnjega datuma bom izračunal, koliko let so pari poročeni:
Kot ste morda že uganili, bom uporabil "Y" enota za to:
=DATEDIF(A2, B2, "Y")
Vse te formule DATEDIF so prve, ki jih lahko preizkusite, ko gre za izračunavanje dni, mesecev in let med dvema datumoma v Google preglednicah.
Če vašega primera ni mogoče rešiti s temi rešitvami ali če imate kakršna koli vprašanja, vas vabim, da jih delite z nami v spodnjem razdelku s komentarji.