Izračun razlike med dvema datumoma. Izračun datumskih razlik v programu Microsoft Excel

lepota 20.10.2019
lepota

Če na Excelovem listu delate ne samo s številkami, grafi, slikami, ampak tudi z datumi, potem ste verjetno naleteli na situacijo, ko ste morali izračunati razliko med njimi. Na primer, morate določiti število dni ali mesecev za določeno časovno obdobje ali izračunati starost osebe, tako da je rezultat v dnevih, mesecih in letih, ali pa je morda potrebno izračunati delovne dni.

Na spletnem mestu že obstaja članek o izračunu razlike v Excelu in v njem sem se malo dotaknil datumov. Zdaj pa si poglejmo to težavo podrobneje in ugotovimo, kako izračunati število dni med dvema datumoma. na preprost način ali z uporabo funkcije RAZDAT () in kako določiti število delovnih dni.

1. način: odštevanje

Začnimo z najpreprostejšim - od enega datuma odštejemo drugo in dobimo vrednost, ki jo potrebujemo. Pred tem se prepričajte, da je format celic, v katere so vpisana števila, izbran "Datum".

Če jih še niste izpolnili, izberite obseg, s katerim želite delati, in kliknite majhno puščico poleg imena skupine »Številka«.

V oknu, ki se odpre na levi strani, izberemo obliko, ki nam ustreza, nato pa se v glavnem delu odločimo za vrsto: 03/14/12, 14 Mar 12 ali drugo. Pritisnite "OK".

V tiste celice, ki ste jim pravkar spremenili obliko, vnesite podatke. Izpolnil sem A1 in B1. Zdaj morate izbrati katero koli celico ( D1 ), v kateri je nastavljen splošni format podatkov, sicer bodo izračuni napačni. Vanj vnesite »=« in pritisnite najprej zadnji (B1) datum, nato zgodnji (A1). Če želite izračunati število dni med njima, pritisnite "Enter".

2. način: uporaba funkcije

Če želite to narediti, izberite celico, v kateri bo rezultat (B3), in preverite, ali je zanjo izbran splošni format.

Za izračun dni bomo uporabili funkcijo RAZDAT(). Vključuje tri argumente: začetni in končni datum, enoto. Enota je tisto, v čemer želimo doseči rezultat. Zamenjano tukaj:

"d" - število dni;
"m" - število polnih mesecev;
"y" - število polnih let;
"md" - bo štelo dneve brez upoštevanja mesecev in let;
"yd" - štetje dni brez upoštevanja le let;
"ym" - šteje mesece brez upoštevanja leta.

V B3 postavimo enačaj, napišemo RAZDAT in odpremo oklepaj. Nato izberemo zgodnji datum (A1), nato pozni (B1), postavimo ustrezno enoto v narekovaje in zapremo oklepaj. Med vse argumente vstavite ";" . Za izračun pritisnite "Enter".

Dobil sem to formulo:

RAZNDAT(A1;B1;"d")

Ko sem za enoto izbral "d", sem dobil rezultat - 111.

Če se spremeni dano vrednost, na primer na "md", potem bo formula izračunala razliko med 5 in 24, brez mesecev in let.

S spremembo tega argumenta na ta način bo mogoče izpeljati natančno starost osebe. V eni celici bodo leta "y", drugi meseci "ym", tretji dnevi "md"

3. način: štetje delovnih dni

Vzemimo to tabelo kot primer. V stolpcu A imamo začetek meseca oziroma začetni datum štetja, v B pa konec meseca oziroma štetje. Ta funkcija šteje delovne dni, razen sobot in nedelj, v mesecih pa so tudi prazniki, zato bo stolpec C izpolnjen z ustreznimi datumi.

NETWORKDAYS(A5;B5;C5)

Kot argumente določimo začetni datum (A5), nato končni datum (B5). Zadnji argument so prazniki (C5). Ločimo jih ";" .

S pritiskom na "Enter" se prikaže rezultat, v primeru celice D5 - 21 dni.

Zdaj razmislite, ali je v mesecu več praznikov. Na primer januarja Novo leto in božič. Izberite celico ( D6 ) in jo postavite enako. Nato kliknite na črko "f" v vrstici s formulo. Odpre se okno "Vstavi funkcijo". V polju "Kategorija" izberite "Celoten abecedni seznam" in poiščite na seznamu želeno funkcijo. Kliknite OK.

Nato morate izbrati argumente funkcije. V "Start_date" izberemo začetno vrednost (A6), v "End_date" - končno (B6). V zadnje polje vnesite datume praznikov v oklepajih () in narekovajih "". Nato pritisnite "V redu".

Kot rezultat bomo dobili naslednjo funkcijo in vrednost bo izračunana brez vikendov in določenih praznikov:

NETWORKDAYS(A6;B6;("01/01/17", "01/07/17"))

Da ne bi ročno registrirali počitnic, lahko v ustreznem polju določite določen obseg. Jaz imam C6:C7.

Delovni dnevi bodo šteti, funkcija pa bo videti takole:

NETWORKDAYS(A6;B6;C6:C7)

Zdaj pa izračunajmo za prejšnji mesec. Vnesite funkcijo in izpolnite njene argumente:

NETWORKDAYS(A8;B8;C8)

Februarja se je izkazalo 19 delovnih dni.

O drugih funkcijah datuma in časa v Excelu sem napisal ločen članek, ki ga lahko preberete s klikom na povezavo.

Za izračun trajanja časovnih intervalov je najbolj priročno uporabiti nedokumentirano funkcijo RAZDAT ( ) , angleška verzija DATEDIF().

Funkcije RAZDAT() ni v pomoči za EXCEL2007 in v Čarovnik za funkcije (SHIFT+ F3 ), vendar deluje, čeprav ne brez napak.

Sintaksa funkcije:

RAZDAT(začetni_datum; končni_datum; merilna_metoda)

Prepir začetni datum mora biti pred argumentom končni datum.

Prepir metoda_merjenja določa, kako in v katerih enotah se bo meril interval med začetnim in končnim datumom. Ta argument ima lahko naslednje vrednosti:

Pomen

Opis

razlika v dnevih

celomesečna razlika

celoletna razlika

razlika v polnih mesecih brez let

razlika v dnevih brez mesecev in let
POZOR! Funkcija za nekatere različice EXCEL vrne napačno vrednost, če je dan začetnega datuma večji od dneva končnega datuma (na primer v EXCEL 2007 pri primerjavi datumov 28. 2. 2009 in 1. 3. 2009 , bo rezultat 4 dni, ne 1 dan). Izogibajte se uporabi funkcije s tem argumentom. Alternativna formula je prikazana spodaj.

razlika v dnevih brez let
POZOR! Funkcija za nekatere različice EXCEL vrne napačno vrednost. Izogibajte se uporabi funkcije s tem argumentom.

Spodaj je natančen opis vseh 6 vrednosti argumentov metoda_merjenja, pa tudi alternativne formule (funkcijo RAZDAT () je mogoče zamenjati z drugimi formulami (čeprav precej okornimi). To je storjeno v datoteki primera).

V vzorčni datoteki vrednost argumenta začetni datum postavljen v celico A2 in vrednost argumenta končni datum- v celici V 2 .

1. Razlika v dnevih ("d")

Formula =RADIDAT(A2;B2;"d") vrne preprosto razliko v dnevih med dvema datumoma.

Primer1:začetni datum 25.02.2007, končni datum 26.02.2007
rezultat: 1 dan).

Ta primer kaže, da je treba pri izračunu delovne dobe skrbno uporabljati funkcijo RAZDAT(). Očitno je, da če je delavec delal 25. in 26. februarja, potem je delal 2 dni, ne 1. Enako velja za izračun polnih mesecev (glej spodaj).

Primer2:začetni datum 01.02.2007, končni datum 01.03.2007
rezultat: 28 (dni)

Primer3:začetni datum 28.02.2008, končni datum 01.03.2008
rezultat: 2 (dneva), ker 2008 je prestopno leto

Opomba: Če vas zanimajo samo delovni dnevi, lahko k med dvema datumoma izračunate s formulo = NETWORKDAYS (B2, A2)

2. Razlika v polnih mesecih ("m")

Formula =RAZDAT(A2;B2;"m") bo vrnila število polnih mesecev med dvema datumoma.

Primer1:začetni datum 01.02.2007, končni datum 01.03.2007
rezultat: 1 mesec)

Primer2:začetni datum 01.03.2007, končni datum 31.03.2007
rezultat: 0

Pri izračunu delovne dobe se šteje, da je delavec, ki je delal vse dni v mesecu, delal 1 polni mesec. Funkcija RAZDAT() ne misli tako!

Primer3:začetni datum 01.02.2007, končni datum 01.03.2009
rezultat: 25 mesecev


=12*(LETO(B2)-LETO(A2))-(MESEC(A2)-MESEC(B2))-(DAN(B2)<ДЕНЬ(A2))

Pozor: V pomoči za MS EXCEL (glej razdelek Izračun starosti) je ukrivljena formula za izračun števila mesecev med 2 datumoma:

=(LETO(DATUM())-LETO(A3))*12+MESEC(DATUM())-MESEC(A3)

Če namesto funkcije TDATE () - trenutni datum, uporabite datum 31.10.1961 in vnesete 01.11.1962 v A3, bo formula vrnila 13, čeprav je v resnici minilo 12 mesecev in 1 dan ( november in december leta 1961 + 10 mesecev leta 1962).

3. Razlika v polnih letih ("y")

Formula =RAZDAT(A2;B2;"y") bo vrnila število celotnih let med dvema datumoma.

Primer1:začetni datum 01.02.2007, končni datum 01.03.2009
rezultat: 2 leti)

Primer2:začetni datum 01.04.2007, končni datum 01.03.2009
rezultat: 1 leto)

Formulo je mogoče nadomestiti z alternativnim izrazom:
=ČE(DATUM(LETO(B2),MESEC(A2),DAN(A2))<=B2;
YEAR(B2)-YEAR(A2);YEAR(B2)-YEAR(A2)-1)

4. Razlika v polnih mesecih brez let ("ym")

Formula =RAZDAT(A2;B2;"ym") bo vrnila število polnih mesecev med dvema datumoma, razen let (glejte primere spodaj).

Primer1:začetni datum 01.02.2007, končni datum 01.03.2009
rezultat: 1 (mesec), ker primerja se končni datum 01.03.2009 in spremenjeni začetni datum 01.02. 2009 (leto začetnega datuma se nadomesti z letom končnega datuma, ker je 01.02 manj kot 01.03)

Primer2:začetni datum 01.04.2007, končni datum 01.03.2009
rezultat: 11 (meseci), as primerjata se končni datum 03/01/2009 in spremenjeni začetni datum 01/04. 2008 (leto začetnega datuma se nadomesti z letom končnega datuma minus 1 leto, Ker 01.04 več kot 01.03)

Formulo je mogoče nadomestiti z alternativnim izrazom:
=MOD(C7;12)
V celici C7 mora vsebovati razliko v polnih mesecih (glej točko 2).

5. Razlika v dnevih brez mesecev in let ("md")

Formula =RAZDAT(A2;B2;"md") bo vrnila število dni med dvema datumoma, razen mesecev in let. S tem argumentom ni priporočljivo uporabljati funkcije RAZDAT() (glejte primere spodaj).

Primer1:začetni datum 01.02.2007, končni datum 06.03.2009
Rezultat1: 5 (dni), ker primerjata se končni datum 03/06/2009 in spremenjeni začetni datum 01. 03 .2009 (leto in mesec začetnega datuma se nadomestita z letom in mesecem končnega datuma, ker je 01 manj kot 06)

Primer2:začetni datum 28.02.2007, končni datum 28.03.2009
Rezultat2: 0, ker primerjata se končni datum 28.3.2009 in spremenjeni začetni datum 28. 03 .2009 (leto in mesec začetnega datuma se nadomestita z letom in mesecem končnega datuma)

Primer3:začetni datum 28.02.2009, končni datum 01.03.2009
Rezultat3: 4 (dni) - popolnoma nerazumljiv in NAPAČEN rezultat. Odgovor bi moral biti =1. Poleg tega je rezultat izračuna odvisen od različice EXCEL.

Različica EXCEL 2007 s servisnim paketom SP3:

Rezultat je 143 dni! Več kot dni v mesecu!

Različica EXCEL 2007:

Razlika med 28.02.2009 in 01.03.2009 je 4 dni!

In v EXCEL 2003 s SP3 formula vrne pravilen rezultat za 1 dan. Za vrednosti 31.12.2009 in 01.02.2010 je rezultat na splošno negativen (-2 dni)!

Ne svetujem uporabe formule z zgornjo vrednostjo argumenta. Formulo je mogoče nadomestiti z alternativnim izrazom:
=ČE(DAN(A2)>DAN(B2);
DAN(EOMESEC(DATUM(B2;-1);0))-DAN(A2)+DAN(B2);
DAN(B2)-DAN(A2))

Ta formula je le enakovreden (v večini primerov) izraz za RAZDAT() s parametrom md. Preberite o pravilnosti te formule v spodnjem razdelku "Še enkrat o ukrivljenosti RAZDAT ()".

6. Razlika v dnevih brez let ("yd")

Formula =RAZDAT(A2;B2;"yd") bo vrnila število dni med dvema datumoma, razen let. Uporaba ni priporočljiva iz razlogov, navedenih v prejšnjem odstavku.

Rezultat, ki ga vrne formula =RAZDAT(A2;B2;"yd"), je odvisen od različice EXCELA.

Formulo je mogoče nadomestiti z alternativnim izrazom:
=ČE(DATUM(LETO(B2),MESEC(A2),DAN(A2))>B2;
B2-DATUM(LETO(B2)-1,MESEC(A2),DAN(A2));
B2-DATUM(LETO(B2),MESEC(A2),DAN(A2)))

Še enkrat o ukrivljenosti RAZDAT ()

Poiščimo razliko med datumoma 16.3.2015 in 30.1.15. Funkcija RAZDAT() s parametroma md in ym bo izračunala, da je razlika 1 mesec in 14 dni. Je res?

Če imamo formulo, enakovredno RAZDAT(), lahko razumemo postopek izračuna. Očitno je v našem primeru število polnih mesecev med datumi = 1, tj. cel februar. Za izračun dni funkcija poišče število dni v prejšnjem mesecu glede na končni datum, tj. 28 (končni datum je marec, prejšnji mesec je februar, v letu 2015 pa je imel februar 28 dni). Nato odšteje začetni dan in doda dan končnega datuma = DAN(EOMESEC(DATUM(B6,-1);0))-DAN(A6)+DAN(B6), tj. 28-30+16=14. Po našem mnenju je med datumi in vsemi dnevi marca še 1 polni mesec, torej 16 dni, ne 14! Do te napake pride, če je v prejšnjem mesecu manj dni glede na končni datum kot dni začetnega datuma. Kako priti iz te situacije?

Spreminjamo formulo za izračun dni razlike brez upoštevanja mesecev in let:

=IF(DAY(A18)>DAY(B18),IF((DAY(EOMESEC(DATUM(B18,-1),0))-DAY(A18))<0;ДЕНЬ(B18);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18)+ДЕНЬ(B18));ДЕНЬ(B18)-ДЕНЬ(A18))

Pri uporabi nove funkcije je treba upoštevati, da bo razlika v dnevih enaka za več začetnih datumov (glej sliko zgoraj, datumi 28.-31.01.2015). V drugih primerih so formule enakovredne. Kakšno formulo uporabiti? Odločitev je prepuščena uporabniku, odvisno od stanja težave.

Če želite izvesti določena opravila v Excelu, morate določiti, koliko dni je minilo med določenima datumoma. Na srečo ima program orodja, ki lahko rešijo to težavo. Ugotovimo, kako lahko izračunate datumsko razliko v Excelu.

Preden začnete delati z datumi, morate formatirati celice za to obliko. V večini primerov, ko vnesete nabor znakov, ki je videti kot datum, se celica preoblikuje. Vendar je še vedno bolje, da to storite ročno, da se zavarujete pred presenečenji.


Sedaj bo vse podatke, ki bodo vsebovani v izbranih celicah, program prepoznal kot datum.

1. način: preprost izračun

Razliko dni med datumi najlažje izračunate s preprosto formulo.


2. način: funkcija RAZDAT

Za izračun razlike v datumih lahko uporabite tudi posebno funkcijo RAZDAT. Težava je v tem, da je ni na seznamu čarovnika za funkcije, zato morate formulo vnesti ročno. Njegova sintaksa je videti takole:

RAZDAT(začetni_datum, končni_datum, enota)

"enota"- to je oblika, v kateri bo rezultat prikazan v izbrani celici. Simbol, uporabljen v tem parametru, določa enote, v katerih bo vrnjena vsota:

  • "y" - polna leta;
  • "m" - polni meseci;
  • "d" - dnevi;
  • "YM" - razlika v mesecih;
  • "MD" - razlika v dnevih (meseci in leta se ne upoštevajo);
  • "YD" - razlika v dnevih (leta se ne upoštevajo).

Upoštevati morate tudi, da mora biti za razliko od zgoraj opisane metode preproste formule pri uporabi te funkcije začetni datum na prvem mestu, končni datum pa na drugem. V nasprotnem primeru bodo izračuni napačni.


3. način: izračun števila delovnih dni

Excel ima tudi možnost izračuna delovnih dni med dvema datumoma, to je brez vikendov in praznikov. Za to se uporablja funkcija ČISTRABNI. Za razliko od prejšnjega stavka je naveden v čarovniku za funkcije. Sintaksa te funkcije je:

NETWORKDAYS(začetni_datum, končni_datum, [prazniki])

V tej funkciji so glavni argumenti enaki kot pri operatorju RAZDAT- začetni in končni datum. Poleg tega obstaja neobvezen argument "počitnice".

Nadomestiti ga je treba z datumi državnih praznikov, če obstajajo, za zajeto obdobje. Funkcija izračuna vse dneve podanega obsega, razen sobot, nedelj in tudi tistih dni, ki jih je uporabnik dodal argumentu "počitnice".


Po zgornjih manipulacijah bo v vnaprej izbrani celici prikazano število delovnih dni za določeno obdobje.

Kot lahko vidite, program Excel svojim uporabnikom ponuja dokaj priročno orodje za izračun števila dni med dvema datumoma. Hkrati, če morate samo izračunati razliko v dnevih, bi bila najboljša možnost uporaba preproste formule za odštevanje namesto uporabe funkcije RAZDAT. Če pa morate na primer izračunati število delovnih dni, bo funkcija priskočila na pomoč OMREŽNI DNEVI. To pomeni, da se mora uporabnik, kot vedno, odločiti o orodju za izvedbo, potem ko je določil določeno nalogo.


Koledar je način štetja in prikaza velikih časovnih obdobij.
Vsi naši izračuni se izvajajo v okviru gregorijanskega koledarja, ki je danes splošno sprejet po vsem svetu (povprečna dolžina leta je 365,2425 dni). Pri zgodovinskih izračunih preverite datume. Razlika med navedbami gregorijanskega in julijanskega koledarja je zdaj 13 dni, vendar je bilo v zgodnjih stoletjih število dni med enakima datumoma manjše, manjše, čim bližje začetku našega štetja ().

Datum 1

sonce 22 . 06 . 1941 04 : 00

prvotni datum

21

Interval

1417

dni med datumi

0

stoletja med datumi

Datum 2

tor 9 . 05 . 1945 01 : 43

končni datum

21

1012

delovnih dni med datumi *

3

leta med datumi

46

mesecev med datumi

34009

ur med datumi

2040583

minut med datumi

122434980

sekund med datumi

3

10

17

1

43

leta meseci dnevi ure minute
med dvema datumoma

Število minut in sekund v datumu ne sme presegati 60, vnesli ste ... drugi parametri datuma bodo spremenjeni
Število ur v datumu ne sme presegati 23, vnesli ste: ... - spremenjeni bodo tudi drugi parametri datuma
Pozor!
Počitnice v Rusiji se v celoti upoštevajo le, če se oba datuma nanašata na leto 2018
Število dni v mesecu \n ne sme biti večje od 31

Oh-oh!
Številka, ki ste jo vnesli, se nanaša na čase, ki si jih je težko predstavljati...

Oprostite!

Tukaj je preprost spletni kalkulator, ki se zaveda svojih, žal, skromnih zmogljivosti, in ne astronomski program!

Vnesite drugo številko.

Na podlagi tega ustvarjenega majhnega semaforja.

Zdaj je tabela za izračun konfigurirana za štetje dni do začetka poletja.

Če želite izračunati, koliko dni je ali bo minilo med datumi, ki vas zanimajo, jih preprosto vnesite v ustrezna polja tabele. Časovni interval lahko spreminjate na enak način kot datume, medtem ko bo odštevanje od "Datum 1", "Datum 2" pa se bo spremenil.
Rezultati izračuna prikazujejo tudi nespremenjene vrednosti informacij in indikatorjev - to so dnevi v tednu (temno sivi - delavniki, oranžno-rdeči - vikendi) in kot končni povzetek interval med datumi, izražen v letih, meseci, dnevi, ure in minute.

Če na semaforju vidite najbolj usodno obdobje zgodovine za našo državo - dneve med datumoma velike domovinske vojne, potem to pomeni, da je Java Script onemogočen v vašem brskalniku in ga je treba omogočiti za izračune.

* Znotraj 2019 leta izračun delovnih dni v teku ob upoštevanju praznikov Rusije in odobrila vlada Ruske federacije shemo za prenos prostih dni. Dolgo časa med datumoma izračun števila delovnih dni temelji na predpostavki petdnevnega delovnega tedna, prazniki se ne upoštevajo.

Sergej ov(seonews9)


Referenca:
Verodostojno je znano, da so ob koncu prvega tisočletja v starodavni Rusiji čas šteli po julijanskem koledarju, čeprav se je novo leto praznovalo 1. marca, se odštevanje po takem koledarju imenuje marčevski slog. Razlika med enakima datumoma sodobnega in starodavnega koledarja 1. marca 1000 je bila 59 + 6 = 65 dni. (6 dni razlike med odčitavanjem julijanskega in gregorijanskega koledarja, za enake datume se štejejo datumi z enakim številom in enakim številom mesecev od začetka leta).
Leta 1492 je bil s sklepom moskovske katedrale Ruske pravoslavne cerkve sprejet koledar, po katerem se je novo leto (novo leto) začelo 1. septembra ( September stil ), je bila razlika z modernim koledarjem 9-122=-113 dni.
Dve stoletji pozneje, na predvečer okroglega koledarskega datuma, Peter Veliki uvede koledar, ki vodi od Kristusovega rojstva. Novo leto v Rusiji praznujejo 1. januarja od začetka leta 1700 (čeprav je v resnici po sodobnem koledarju to novo leto nastopilo 11. januarja 1700). Država se je iz leta 7208 premaknila na leto 1700! Rusija je torej v takrat novo 18. stoletje, ki je nastopilo leta 1701, vstopila skorajda v koraku z Evropo. Skoraj v koraku, saj je kronologija kot prej potekala po julijanskem koledarju (samo datum se je spremenil, zdaj se imenuje stari slog) , medtem ko je Evropa delno že prešla na gregorijanski koledar.
Sodobni gregorijanski koledar je bil v Rusiji sprejet šele v 21. stoletju. 26. januar 1918: Vladimir Iljič Lenin je podpisal odlok Sveta ljudskih komisarjev o prehodu na novo računanje časa, pri čemer se je datum premaknil za 13 dni. Zadnji državni dokument, datiran po starem slogu, je bil izdan 31. januarja 1918 - naslednji dan je bil 14. februar!
Vprašanje je torej: "Koliko dni je med dvema datumoma?" v zgodovinskem smislu vedno zahteva pojasnilo ...

Priporočamo branje

Vrh