Matas Analitika

Excel ir Google Sheets

Datų skirtumas Excel: dienos, darbo dienos, mėnesiai ir metai

Kiek dienų liko iki termino, kiek darbo dienų tarp dviejų datų, koks stažas metais ir mėnesiais? Excel formulės su pavyzdžiais, įskaitant šventes.

Matas · · 3 min. skaitymo

Excel datą saugo kaip skaičių: dienų skaičių nuo 1900 m. sausio 1 d. Data 2026-11-06 jam yra 46332, o laikas yra dienos dalis, todėl 12:00 yra 0,5. Dėl to datas galima atimti, sudėti ir lyginti kaip įprastus skaičius, o dauguma formulių žemiau yra tiesiog aritmetika.

Pavyzdžiuose A2 yra pradžios data, B2 pabaigos data. Argumentai atskirti kabliataškiu, kaip Excel su lietuviškais regiono nustatymais.

Kiek dienų tarp dviejų datų

=B2-A2

Jei rezultatas rodomas kaip data, pavyzdžiui 1900-01-15, pakeiskite langelio formatą į General arba Number. Skaičius bus teisingas, tik rodomas ne tuo formatu.

Atimtis neįskaito vienos iš kraštinių dienų: nuo pirmadienio iki trečiadienio gausite 2. Jei reikia įskaičiuoti abi, pavyzdžiui atostogų ar komandiruotės dienoms, pridėkite 1: =B2-A2+1.

Kiek dienų liko iki termino:

=A2-TODAY()

TODAY grąžina šiandienos datą ir persiskaičiuoja kiekvieną kartą atidarius failą. Neigiamas rezultatas reiškia, kad terminas jau praėjo.

Kiek darbo dienų tarp datų

=NETWORKDAYS(A2;B2)

NETWORKDAYS neįskaito šeštadienių ir sekmadienių, o kraštines dienas įskaito abi. Nuo pirmadienio iki penktadienio tos pačios savaitės gausite 5.

Šventės

Švenčių dienų Excel nežino, todėl jas reikia surašyti patiems. Atskirame lape surašykite švenčių datas į vieną stulpelį, paverskite jį lentele (Ctrl+T) ir pavadinkite „Šventės“. Tada:

=NETWORKDAYS(A2;B2;Šventės[Data])

Lietuvoje švenčių dienos išvardytos Darbo kodekso 123 straipsnyje. Sąraše užtenka tų, kurios gali patekti į darbo dieną. Velykų sekmadienis, Motinos ir Tėvo dienos visada būna sekmadieniais, o antroji Velykų diena yra pirmadienis ir kasmet keičia datą, todėl ją reikia įrašyti kiekvieniems metams atskirai. Sąrašą verta papildyti kiekvienų metų pradžioje ir pasitikrinti, ar įstatymas nepasikeitė.

Kai savaitgalis ne šeštadienis ir sekmadienis

Jei dirbama šešias dienas per savaitę arba laisvos kitos dienos, naudokite NETWORKDAYS.INTL. Trečias argumentas yra septynių simbolių tekstas nuo pirmadienio iki sekmadienio, kur 1 reiškia laisvą dieną:

=NETWORKDAYS.INTL(A2;B2;"0000001";Šventės[Data])

Ši formulė laisva laiko tik sekmadienį. Įprastas savaitgalis būtų "0000011".

Terminas po kelių darbo dienų

Kokia data bus po 10 darbo dienų nuo užsakymo gavimo:

=WORKDAY(A2;10;Šventės[Data])

WORKDAY pradžios dienos neįskaito ir praleidžia savaitgalius bei šventes. Su neigiamu skaičiumi skaičiuoja atgal: =WORKDAY(B2;-5) parodys, kada vėliausiai pradėti, kad darbas būtų baigtas iki B2.

Mėnesiai ir metai: DATEDIF

Pilni metai tarp dviejų datų, pavyzdžiui darbuotojo stažas ar amžius:

=DATEDIF(A2;B2;"y")

Trečias argumentas nurodo, ką skaičiuoti:

ArgumentasKą grąžina
"y"Pilnus metus
"m"Pilnus mėnesius
"d"Dienas, tas pats kas B2-A2
"ym"Mėnesius, likusius po pilnų metų

Stažas metais ir mėnesiais vienu tekstu:

=DATEDIF(A2;TODAY();"y")&" m. "&DATEDIF(A2;TODAY();"ym")&" mėn."

DATEDIF neįtraukta į Excel funkcijų sąrašą, todėl rašant formulę ji nepasiūloma, bet veikia visose versijose. Jei pradžios data vėlesnė už pabaigos, ji grąžina #NUM!. Argumento "md" (dienos po pilnų mėnesių) geriau nenaudoti: pati Microsoft įspėja, kad kai kuriais atvejais jis grąžina neteisingą rezultatą.

Data po kelių mėnesių ir mėnesio pabaiga

Sutarties pabaiga po 6 mėnesių ir mėnesio, kuriame yra data, paskutinė diena:

=EDATE(A2;6)
=EOMONTH(A2;0)

EDATE teisingai tvarko skirtingo ilgio mėnesius: nuo sausio 31 d. po vieno mėnesio gausite vasario paskutinę dieną. EOMONTH(A2;-1)+1 grąžina einamojo mėnesio pirmą dieną, ji praverčia SUMIFS formulėse, kai reikia mėnesio sumos.

Valandos tarp dviejų laikų

Kai A2 yra darbo pradžia, o B2 pabaiga, valandų skaičius:

=(B2-A2)*24

Dauginama iš 24, nes laikas saugomas kaip dienos dalis. Jei pamaina baigiasi po vidurnakčio, paprasta atimtis duos neigiamą skaičių. Tada naudokite =MOD(B2-A2;1)*24.

Kai formulė grąžina #VALUE!

Dažniausiai tai reiškia, kad data iš tikrųjų yra tekstas. Taip nutinka po eksporto iš kitos programos arba atidarius CSV failą, kuriame datos įrašytos kitos šalies formatu. Patikrinti paprasta: tikra data pagal nutylėjimą lygiuojama prie dešinio langelio krašto, tekstas prie kairio. Kaip tai pataisyti, rašiau straipsnyje kodėl Excel nesumuoja skaičių ir neatpažįsta datų.

Google Sheets

Visos šios funkcijos Google Sheets veikia taip pat, įskaitant DATEDIF, NETWORKDAYS.INTL ir WORKDAY. Švenčių sąrašą galima laikyti atskirame lape ir nurodyti jį kaip intervalą, pavyzdžiui Šventės!A2:A30.

Pirmas žingsnis

Papasakokite, kas šiandien užima per daug laiko

Užtenka kelių sakinių. Perskaitysiu, prireikus paklausiu, ko trūksta, ir pasiūlysiu pokalbio laiką.

  • Pirmas pokalbis nemokamas.
  • Paprastai atsakau per 1 darbo dieną.
  • Jokių įsipareigojimų iki pasiūlymo.

Patogiau el. paštu? matas.analitika@gmail.com

Duomenis naudosiu tik atsakydamas į žinutę. Privatumo politika