Enhavtabelo
La hodiaŭa blogaĵo temas pri eltrovi la diferencon inter du datoj en Google Sheets. Vi vidos multajn DATEDIF-formulojn por kalkuli tagojn, monatojn kaj jarojn, kaj lernos kiel NETWORKDAYS estas uzata por kalkuli labortagojn nur eĉ se viaj ferioj baziĝas sur kutima horaro.
Multaj kalkultabeloj kiujn uzantoj trovas. datoj konfuzaj, se ne ege malfacilaj, por manipuli. Sed kredu aŭ ne, ekzistas kelkaj oportunaj kaj simplaj funkcioj por tiu celo. DATEDIF kaj NETWORKDAYS estas kelkaj el ili.
DATEDIF-funkcio en Google Sheets
Kiel okazas kun funkcioj, iliaj nomoj sugestas la agon. La sama validas por DATEDIF. Ĝi devas esti legita kiel datodif , ne datita se , kaj ĝi signifas datodiferenco . Tial DATEDIF en Google Sheets kalkulas la datdiferencon inter du datoj.
Ni disigu ĝin en pecojn. La funkcio postulas tri argumentojn:
=DATEDIF(komenco_dato, fin_dato, unuo)- komenco_dato – dato uzata kiel deirpunkto. Ĝi devas esti unu el la jenaj:
- dato mem inter citiloj: "8/13/2020"
- referenco al ĉelo kun dato: A2
- formulo kiu liveras daton: DATO(2020, 8, 13)
- nombro kiu signifas apartan daton kaj kiu povas esti interpretita kiel dato de Google Sheets, ekz. 44056 reprezentas la 13-an de aŭgusto 2020 .
- fin_daton - dato uzatakiel finpunkto. Ĝi devas esti samformata kiel la komenca_dato .
- unuo – estas uzata por diri al la funkcio kian diferencon redonu. Jen plena listo de unuoj, kiujn vi povas uzi:
- "D" – (mallongigo de tagoj ) liveras la nombron da tagoj inter du datoj.
- "M" – (monatoj) la nombro da plenaj monatoj inter du datoj.
- "Y" – (jaroj) la nombro da plenaj jaroj.
- "MD" – (tagoj ignorante monatojn) la nombro da tagoj post subtraho de tutaj monatoj.
- "YD" – (tagoj ignorante jarojn) la nombro da tagoj post subtraho de tutaj jaroj.
- "YM" – (monatoj ignorante jarojn) la nombro de kompletaj monatoj post subtraho de plenaj jaroj.
Notu. Ĉiuj unuoj devas esti metitaj al formuloj same kiel ili aperas supre - en duoblaj citiloj.
Nun ni kunigu ĉiujn ĉi tiujn partojn kaj vidu kiel DATEDIF-formuloj funkcias en Google Sheets.
Kalkulu tagojn inter du datoj en Google Sheets
Ekzemplo 1. Kalkulu ĉiujn tagojn
Mi havas malgrandan tablon por spuri kelkajn mendojn. Ĉiuj ili estis senditaj en la unua duono de aŭgusto - Senddato - kiu estos mia komenca dato. Estas ankaŭ proksimuma liverdato – Limdato .
Mi kalkulos tagojn – "D" – inter sendado kaj ligdatoj por vidi kiom da tempo necesas por ke aĵoj alvenu. Jen la formulo, kiun mi uzu:
=DATEDIF(B2, C2, "D")
Mi enigas laDATEDIF-formulo al D2 kaj tiam kopiu ĝin laŭ la kolumno por apliki al aliaj vicoj.
Konsileto. Vi ĉiam povas kalkuli la tutan kolumnon samtempe per ununura formulo uzante ARRAYFORMULA:
=ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))
Ekzemplo 2. Nombri tagojn ignorante monatojn
Imagu tie estas kelkaj monatoj inter du datoj:
Kiel oni kalkulas nur tagojn kvazaŭ ili apartenus al la sama monato? Ĝuste: ignorante plenajn monatojn, kiuj pasis. DATEDIF kalkulas tion aŭtomate kiam vi uzas la unuon "MD" :
=DATEDIF(A2, B2, "MD")
La funkcio subtrahas pasintajn monatojn kaj kalkulas ceterajn tagojn. .
Ekzemplo 3. Nombri tagojn ignorante jarojn
Alia unuo – "YD" – helpos por kiam datoj havas pli ol jaron inter ili:
=DATEDIF(A2, B2, "YD")
La formulo unue subtrahos jarojn, kaj poste kalkulos ceterajn tagojn kvazaŭ ili apartenus al la sama jaro.
Nombri labortagojn en Google Sheets
Estas speciala kazo, kiam vi bezonas kalkuli nur labortagojn en Google Sheets. DATEDIF-formuloj ne multe helpos ĉi tie. Kaj mi kredas, ke vi konsentos, ke subtrahi semajnfinojn permane ne estas la plej eleganta elekto.
Feliĉe, Google Sheets havas kelkajn ne tiom magiajn sorĉojn por tio :)
Ekzemplo 1. NETWORKDAYS-funkcio
La unua nomiĝas NETWORKDAYS. Ĉi tiu funkcio kalkulas la nombron da labortagoj inter du datoj krom semajnfinoj (sabato kajDimanĉo) kaj eĉ ferioj se necese:
=NETWORKDAYS(komenco_dato, fin_dato, [ferioj])- komenco_dato – dato uzata kiel deirpunkto. Bezonata.
Notu. Se ĉi tiu dato ne estas ferio, ĝi estas kalkulita kiel labortago.
- fin_dato – dato uzata kiel finpunkto. Bezonata.
Notu. Se ĉi tiu dato ne estas ferio, ĝi estas kalkulita kiel labortago.
- ferioj – ĉi tiu estas nedeviga por kiam vi bezonas indiki specifajn feriojn. Ĝi devas esti gamo da datoj aŭ nombroj reprezentantaj datojn.
Por ilustri kiel ĝi funkcias, mi aldonos liston de ferioj kiuj okazas inter sendado kaj limdatoj:
Do, kolumno B estas mia komenca dato, kolumnoj C - findato. Datoj en kolumno E estas la ferioj por konsideri. Jen kiel devus aspekti la formulo:
=NETWORKDAYS(B2, C2, $E$2:$E$4)
Konsileto. Se vi kopios la formulon al aliaj ĉeloj, uzu absolutajn ĉelojn referencojn por ferioj por eviti erarojn aŭ malĝustajn rezultojn. Aŭ konsideru konstrui tabelan formulon anstataŭe.
Ĉu vi rimarkis, kiel la nombro da tagoj malpliiĝis kompare kun la DATEDIF-formuloj? Ĉar nun la funkcio aŭtomate subtrahas ĉiujn sabatojn, dimanĉojn kaj du feriojn, kiuj okazas vendrede kaj lunde.
Notu. Male al DATEDIF en Google Sheets, NETWORKDAYS kalkulas start_day kaj end_day kiel labortagojn krom se ili estas ferioj. Tial, D7 liveras 1 .
Ekzemplo 2.NETWORKDAYS.INTL por Google Sheets
Se vi havas laŭmendan semajnfinan horaron, vi profitos de alia funkcio: NETWORKDAYS.INTL. Ĝi permesas vin kalkuli labortagojn en Google Sheets surbaze de persone fiksitaj semajnfinoj:
=NETWORKDAYS.INTL(komenco_dato, fin_dato, [semajnfino], [ferioj])- komenco_dato – a dato uzata kiel deirpunkto. Bezonata.
- fin_dato – dato uzata kiel finpunkto. Bezonata.
Notu. NETWORKDAYS.INTL en Google Sheets ankaŭ kalkulas start_day kaj end_day kiel labortagojn krom se ili estas ferioj.
- semajnfino – ĉi tiu estas nedeviga. Se ellasita, sabato kaj dimanĉo estas konsiderataj kiel semajnfinoj. Sed vi povas ŝanĝi tion uzante du manierojn:
- Maskoj .
Konsileto. Ĉi tiu maniero estas perfekta por kiam viaj libertagoj estas disigitaj dum la tuta semajno.
Masko estas sepcifera ŝablono de 1 kaj 0. 1 signifas semajnfinon, 0 labortagon. La unua cifero en la ŝablono ĉiam estas lundo, la lasta - dimanĉo.
Ekzemple, "1100110" signifas, ke vi laboras merkrede, ĵaŭde, vendrede kaj sabate.
Notu. La masko devas esti enmetita inter citiloj.
- Nombroj .
Uzu unuciferajn nombrojn (1-7) kiuj indikas paron da fiksitaj semajnfinoj:
Nombro Semajnfino 1 Sabato, dimanĉo 2 Dimanĉo, lundo 3 Lundo, mardo 4 Mardo,Merkredo 5 Merkredo, ĵaŭdo 6 Ĵaŭdo, vendredo 7 Vendredo, sabato Aŭ labori kun duciferaj nombroj (11-17) kiuj indikas unu tagon por ripozi ene de semajno:
Nombro Semajnfina tago 11 Dimanĉo 12 Lundo 13 Mardo 14 merkredo 15 ĵaŭdo 16 vendredo 17 Sabato
- Maskoj .
- ferioj – ĝi ankaŭ estas nedeviga kaj estas uzata por specifi feriojn.
Ĉi tiu funkcio eble ŝajnas komplika pro ĉiuj tiuj nombroj, sed mi kuraĝigas vin provi ĝin.
Unue, nur akiru klaran komprenon pri viaj liberaj tagoj. Ni faru ĝin dimanĉon kaj lundon . Tiam, decidu pri la maniero indiki viajn semajnfinojn.
Se vi iros kun masko, estos tiel – 1000001 :
=NETWORKDAYS.INTL(B2, C2, "1000001")
Sed ĉar mi havas du semajnfintagojn sinsekve, mi povas uzi nombron el la supraj tabeloj, 2 miakaze:
=NETWORKDAYS.INTL(B2, C2, 2)
Tiam simple aldonu la lasta argumento - referencu al ferioj en kolumno E, kaj la formulo estas preta:
=NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)
Google Sheets kaj datdiferenco en monatoj
Kelkfoje monatoj gravas pli ol tagoj. Se ĉi tio validas por vi kaj vi preferas ricevi la datdiferencon en monatoj prefere ol tagoj, lasu Google SheetsDATEDIF faru la laboron.
Ekzemplo 1. La nombro da plenaj monatoj inter du datoj
La borilo estas la sama: la komenco_dato iras unue, sekvata de la fin_dato kaj "M" – tio staras dum monatoj – kiel fina argumento:
=DATEDIF(A2, B2, "M")
Konsileto. Ne forgesu pri la funkcio ARRAUFORMULA kiu povas helpi vin kalkuli monatojn sur ĉiuj vicoj samtempe:
=ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))
Ekzemplo 2. La nombro da monatoj ignorante jarojn
Vi eble ne bezonas kalkulu monatojn dum ĉiuj jaroj inter komencaj kaj findatoj. Kaj DATEDIF permesas tion fari.
Nur uzu la unuon "YM" kaj la formulo unue subtrahos tutajn jarojn, kaj poste kalkulos la nombron da monatoj inter datoj:
=DATEDIF(A2, B2, "YM")
Kalkuli jarojn inter du datoj en Google Sheets
La lasta (sed ne malplej) montri al vi estas kiel Google Sheets DATEDIF kalkulas la daton diferenco en jaroj.
Mi kalkulos la nombron da jaroj da geedzoj surbaze de siaj geedziĝdatoj kaj la hodiaŭa dato:
Kiel vi eble jam divenis, mi uzos la unuon "Y" por tio:
=DATEDIF(A2, B2, "Y")
Ĉiuj ĉi DATEDIF-formuloj estas la unue provi kiam temas pri kalkuli tagojn, monatojn kaj jarojn inter du datoj en Google Sheets.
Se via kazo ne povas esti solvita per ĉi tiuj aŭ se vi havas demandojn, mi instigas vin dividi ilin. kun ni en la sekcio de komentojmalsupre.