Kuupäevade erinevus päevades. Funktsioon diff() – kahe kuupäeva erinevuse arvutamine päevades, kuudes, aastates ms excelis. =erinev(alguskuupäev, lõppkuupäev, ühik)

MS Excelil on äärmiselt huvitav funktsioon, millest paljud ei tea. Nii vähe, et see Exceli funktsioon ei anna sisestamisel isegi kontekstiviipa, kuigi kummalisel kombel on see programmi abis ja seda on üsna hästi kirjeldatud. Seda nimetatakse RAZDAT() või DATEDIF() ja see võimaldab automaatselt arvutada päevade, kuude või aastate erinevust kahe antud kuupäeva vahel.

Ei kõla palju? Tegelikult võib mõnikord väga kasulik olla võimalus kiiresti ja täpselt välja arvutada, kui palju aega on mõnest sündmusest möödunud. Mitu kuud on teie sünnipäevast möödunud, kui kaua olete sellel töökohal püksis istunud või mitu päeva olete pidanud dieeti – aga kui palju seda kasulikku funktsiooni kasutati? Ja mis kõige tähtsam, arvutamist saab automatiseerida ja iga kord, kui avate MS Exceli töövihiku, saate täpsed andmed tänase päeva kohta! Kõlab huvitavalt, kas pole?

Funktsioonil RAZDAT() on kolm argumenti:

  • Algus kuupäev- kuupäev, millest alates kontot hoitakse
  • Lõplik kuupäev- milleni kontot peetakse
  • Üksus päevad, kuud, aastad.

See on kirjutatud nii:

= HINNE(alguskuupäev, lõppkuupäev, ühik)

Mõõtühikud on kirjutatud järgmiselt:

  • "y"- kuupäevade erinevus täisaastates
  • "m"- kuupäevade erinevus täiskuudes
  • "d"- kuupäevade erinevus täispäevades
  • "yd"- kuupäevade erinevus päevades alates aasta algusest, välja arvatud aastad
  • "MD"- kuupäevade erinevus päevades, välja arvatud kuud ja aastad
  • "ym"- kuupäevade erinevus täiskuudes, välja arvatud aastad

Teisisõnu, et arvutada minu koguvanus aastates praegusel hetkel, kirjutan funktsiooni järgmiselt:

= RAZDAT(07/14/1984; 03/22/2016; "y")

Pange tähele, et viimane argument on alati jutumärkides.

Kui tahan täpset vanust saada, siis panen kirja keerulise valemi:

= DIFFERENT(F2;G2;"y")&" aasta "&RADIAT(F2;G2;"ym")&" kuud"

Milles funktsiooni RAZDAT() kutsutakse kaks korda korraga, koos erinevaid tähendusi, ja sõnad "aasta" ja "kuud" on tulemusele lihtsalt dokitud. See tähendab, et funktsiooni tegelik jõud avaldub ainult siis, kui see on kombineeritud teiste MS Exceli funktsioonidega.

Veel üks huvitav võimalus on lisada funktsioonile loendur, mis nihkub igapäevaselt tänase kuupäeva suhtes. Näiteks kui ma otsustan kirjutada valemi, mis arvutab tavavormis päevade arvu puhkuseni, näeks see välja umbes selline:

Ja kõik oleks õige, kui pärast nädala pärast selle lehe avamist näeksin, et puhkusele eelnevate päevade arv väheneb. Küll aga näen sama numbrit – pole ju algsed kuupäevad muutunud. Sellest lähtuvalt peaksin muutma praegust kuupäeva ja siis teeks funktsioon RAZDAT () kõik õigesti.

Selle tüütu pisiasja vältimiseks ei asenda ma esimese argumendina (tänane kuupäev) mitte viidet lahtrisse salvestatud väärtusele, vaid mõne muu funktsiooniga. Seda funktsiooni nimetatakse TODAY() ja selle peamine ja ainus ülesanne on tänase kuupäeva tagastamine.

Ükskord ja probleem on lahendatud – edaspidi, kui ma selle MS Exceli lehe avan, näitab funktsioon RAZDAT () mulle alati täpset väärtust, mis on arvutatud, võttes arvesse tänast kuupäeva.

Teatud ülesannete täitmiseks Excelis peate määrama, mitu päeva on teatud kuupäevade vahel möödunud. Õnneks on programmil tööriistad, mis võivad selle probleemi lahendada. Uurime, kuidas saate Excelis kuupäevade erinevust arvutada.

Enne kuupäevadega töötamise alustamist peate vormindama selle vormingu lahtrid. Enamikul juhtudel vormindab lahter end ümber, kui sisestate märgistiku, mis näeb välja nagu kuupäev. Kuid siiski on parem teha seda käsitsi, et kindlustada end ootamatuste vastu.


Nüüd tunneb programm kõik andmed, mis sisalduvad valitud lahtrites, kuupäevana.

1. meetod: lihtne arvutus

Lihtsaim viis päevade erinevuse arvutamiseks kuupäevade vahel on lihtsa valemiga.


2. meetod: funktsioon RAZDAT

Kuupäevade erinevuse arvutamiseks saate kasutada ka spetsiaalset funktsiooni RAZDAT. Probleem on selles, et seda pole funktsiooniviisardi loendis, seega peate valemi käsitsi sisestama. Selle süntaks näeb välja selline:

RAZDAT(alguskuupäev, lõppkuupäev, ühik)

"Üksus"- see on vorming, milles tulemus valitud lahtris kuvatakse. Selles parameetris kasutatav sümbol määrab ühikud, milles kogusumma tagastatakse:

  • "y" - täisaastad;
  • "m" - täielikud kuud;
  • "d" - päevad;
  • "YM" - erinevus kuudes;
  • "MD" - päevade erinevus (kuusid ja aastaid ei võeta arvesse);
  • "YD" - päevade vahe (aastaid ei võeta arvesse).

Samuti peate arvestama, et erinevalt ülalkirjeldatud lihtsast valemimeetodist peab selle funktsiooni kasutamisel olema alguskuupäev ja teisel kohal lõppkuupäev. Vastasel juhul on arvutused valed.


3. meetod: tööpäevade arvu arvutamine

Excelis on ka võimalus arvutada tööpäevi kahe kuupäeva vahel, st välja arvatud nädalavahetused ja pühad. Selleks kasutatakse funktsiooni CHISTRABNI. Erinevalt eelmisest lausest on see loetletud funktsiooniviisardis. Selle funktsiooni süntaks on:

NETWORKDAYS(alguskuupäev, lõpp_kuupäev, [pühad])

Selles funktsioonis on peamised argumendid samad, mis operaatoril RAZDAT- algus- ja lõppkuupäev. Lisaks on valikuline argument "Pühad".

See tuleks asendada hõlmatud perioodi riiklike pühade kuupäevadega, kui neid on. Funktsioon arvutab kõik määratud vahemiku päevad, välja arvatud laupäevad, pühapäevad ja ka need päevad, mille kasutaja argumendile lisab "Pühad".


Pärast ülaltoodud manipuleerimisi kuvatakse eelvalitud lahtris kindlaksmääratud perioodi tööpäevade arv.

Nagu näete, pakub Exceli programm oma kasutajatele üsna mugavat tööriista kahe kuupäeva vahele jäävate päevade arvu arvutamiseks. Samal ajal, kui peate lihtsalt arvutama päevade erinevuse, oleks parim valik funktsiooni asemel lihtsa lahutamise valemi kasutamine RAZDAT. Aga kui on vaja näiteks tööpäevade arvu arvutada, siis tuleb funktsioon appi VÕRGUPÄEVAD. See tähendab, et nagu alati, peaks kasutaja otsustama täitmistööriista üle pärast konkreetse ülesande määramist.

Kasutage funktsiooni DIFFERENT, kui soovite arvutada kahe kuupäeva erinevust. Esmalt sisestage lahtrisse alguskuupäev ja teise lõppkuupäev. Seejärel sisestage valem, näiteks üks järgmistest.

Erinevus päevades

Selles näites on alguskuupäev lahtris D9 ja lõppkuupäev lahtris E9. Valem kuvatakse klahvil F9. "D" tagastab numbri täis päevad kahe kuupäeva vahel.

Erinevus nädalates


Selles näites on alguskuupäev lahtris D13 ja lõppkuupäev lahtris E13. "D" tagastab päevade arvu. Kuid pange tähele, et lõpus on /7 . See jagab päevade arvu 7-ga, kuna nädalas on 7 päeva. Pange tähele, et ka see tulemus tuleb vormindada numbrina. Vajutage CTRL + 1. Seejärel klõpsake number _gt_ kümnendkohad: 2.

Erinevus kuudes


Selles näites on alguskuupäev lahtris D5 ja lõppkuupäev lahtris all. Valemis "m" tagastab numbri täiskuud kahe päeva vahel.

Erinevus aastates


Selles näites on alguskuupäev lahtris D2 ja lõppkuupäev lahtris E2. "Y"

Vanuse arvutamine kumulatiivsetes aastates, kuudes ja päevades

1. Aastate koguarvu leidmiseks kasutage funktsiooni RAZDAT.


Selles näites on alguskuupäev lahtris D17 ja lõppkuupäev lahtris E17. Valemis "y" tagastab täisaastate arvu kahe päeva vahel.

2. Kuude otsimiseks kasutage uuesti RAZDAT, määrates "GM".


Teises lahtris kasutage parameetriga RAZDAT valemit "GM". "GM" tagastab kuude arvu, mis on jäänud pärast viimast täisaastat.

3. Kasutage päevade leidmiseks teist valemit.


Nüüd peame leidma jäänud päevade arvu. Seda saab teha teist tüüpi valemi kirjutamisega, nagu ülal näidatud. See valem lahutab kuu lõpu esimese päeva (05/01/2016) algsest lõppkuupäevast lahtris E17 (05/06/2016). Seda tehakse järgmiselt: Esiteks loob funktsioon DATE kuupäeva 01.05.2016. Selle loomisel kasutatakse aastat lahtris E17 ja kuud lahtris E17. 1 tähistab kuu esimest päeva. Funktsiooni DATE tulemus on 01.05.2016. Seejärel lahutame selle kuupäeva algsest lõppkuupäevast lahtris E17 (6.5.2016), mille tulemuseks on 5 päeva.

4. Valikuline: ühendage kolm valemit üheks.


Saate paigutada kõik kolm arvutust ühte lahtrisse, nagu on näidatud selles näites. Ampersandide, jutumärkide ja teksti kasutamine. See on pikem sisendvalem, kuid vähemalt on see kõik ühes neist. Nõuanne. Reavahetuste paigutamiseks valemis vajutage Alt+Enter. See muudab lugemise lihtsamaks. Samuti, kui te ei näe kogu valemit, vajutage klahvikombinatsiooni CTRL+SHIFT+U.

Laadige alla näited

Saate alla laadida näidisraamatu koos kõigi selles artiklis toodud näidetega. Saate neid tellida või luua oma valemeid.

Muud kuupäeva ja kellaaja arvutused

Arvestus tänase ja teise kuupäeva vahel

Nagu ülal näidatud, arvutab funktsioon DIFFERENT alguskuupäeva ja lõppkuupäeva erinevuse. Konkreetsete kuupäevade sisestamise asemel saate aga kasutada ka funktsiooni Täna() valemis. Funktsiooni TODAY() kasutamisel kasutab Excel arvutis praegust kuupäeva. Pidage meeles, et kui avate faili tulevikus uuesti, see fail muutub.


Tööpäevade arvestus puhkusega või ilma

Kasutage NETWORKDAYS. INTL, kui soovite arvutada kahe kuupäeva vahele jäävate tööpäevade arvu. Lisaks saate välja jätta ka nädalavahetused ja pühad.

Enne alustamist tehke järgmist. Otsustage, kas jätta puhkusekuupäevad välja. Kui jah, sisestage puhkusekuupäevade loend eraldi alale või lehele. Iga puhkusepäev paigutatakse eraldi lahtrisse. Seejärel tõstke need lahtrid esile ja seejärel valige valemid _Gr_ määrata Nimi. nimeta vahemik miholidice ja vajutage nuppu Okei. Seejärel looge valem, tehes järgmist.

1. Sisestage algus- ja lõppkuupäev.


Selles näites on alguskuupäev lahtris D53 ja lõppkuupäev lahtris E53.

2. Sisestage teise lahtrisse valem, näiteks:


Sisestage valem, nagu ülaltoodud näide. Valemis olev 1 määratleb "laupäeva" ja "pühapäeva" pühadena ning jätab need kogusummast välja.

Märge. Excel 2007-s ei ole NETWORKDAYS. RAHVUSVAHELINE Küll aga on tal VÕRGUPÄEVAD. Ülaltoodud näide näeks Excel 2007-s välja järgmine: = VÕRGUPÄEVAD (D53, E53). Te ei määra 1, sest NETWORKDAYS eeldab, et nädalavahetus on laupäev ja pühapäev.

3. Vajadusel muutke väärtust 1.


Kui laupäev ja pühapäev ei ole riigipühad, muutke IntelliSense'i loendis väärtus 1 millekski muuks. Näiteks 2 määrab pühapäeva ja esmaspäeva pühadeks.

Kui kasutate Excel 2007, jätke see samm vahele. Funktsioon NETWORKDAYS Excel 2007s eeldab alati, et nädalavahetused on laupäev ja pühapäev.

4. Sisestage puhkusevahemiku nimi.


Kui lõite pühadevahemiku nime ülalolevas jaotises Alustamine, sisestage see lõppu, nagu allpool näidatud. Kui teil pole puhkust, võite koma ja Myholidays välja jätta. Kui kasutate Excel 2007, näeb ülaltoodud näide välja järgmine: = VÕRGUPÄEVAD (D53, E53, myholidice).

Sulg Kui te ei soovi puhkusevahemiku nimele viidata, võite sisestada ka vahemiku nagu D35:E:39. Teise võimalusena võite sisestada valemisse iga puhkuse. Näiteks kui pühad on 1. ja 2. jaanuar 2016, sisestage need järgmiselt: = VÕRGUPÄEVAD. Int (D53, E53, 1, ("1/1/2016", "1/2/2016")). Excel 2007-s näeb see välja järgmine: = NETWORKDAYS(D53, E53, ("1/1/2016", "1/2 . 2016"})

Kulunud aja arvutamine

Kulunud aja arvutamiseks saate ühe aja teisest lahutada. Esmalt sisestage lahtrisse algusaeg ja teise lahtrisse lõpuaeg. Veenduge, et kõik ajad, sealhulgas tunnid, minutid ja tühikud, oleksid täidetud enne lõunat või PM. Selleks peate tegema järgmist.

1. Sisestage algus- ja lõpuaeg.


Selles näites on algusaeg lahtris D80 ja lõpuaeg lahtris E80. Sisestage kindlasti tunnid, minutid ja tühikud enne tähti AM ja PM.

2. Määrake vorminguks h/pm.


Valige mõlemad kuupäevad ja vajutage klahvikombinatsiooni CTRL+1 (Maci puhul +1). Veenduge, et valik oleks valitud kohandatud _gt_ h/pm kui see pole veel installitud.

3. kahe väärtuse lahutamine.


Teises lahtris lahutage alguslahter "lõpuaja" lahtrist.

4. Määrake vorminguks h.


Vajutage klahvikombinatsiooni CTRL+1 (või Macis +1). vali " kohandatud _rm_", et välistada sellest tulemused "AM" ja "PM".

Exceli töölehel on loodud ülesannete plaan. Ühes veerus on loetletud iga täitmisülesande tähtpäevad. Ülesannete õmmeldud tähtaegade esiletõstmiseks vajame Excelis täpset kuupäevade erinevust. Selleks kasutame tingimusvormingut valemiga RAZDAT.

Kuidas arvutada Excelis kuupäevade erinevust

Esile tuleb tuua nende ülesannete nimetused, mille tähtajad lõpevad 7 päeva pärast. Ülesandeplaani tabeli näide:


Tähtaegade esiletõstmise lõppmõju 7 päeva pärast:


Esile tõstetud rohelises kõik ülesanded, mis tuleb täita 7 päevaga. Kui muudate väärtusi lahtris D2, tõstetakse esile teised ülesanded.

Abistav nõuanne! Lahtris D2 saate tänase kuupäeva hankimiseks kasutada funktsiooni: =TODAY().



Kuupäevade erinevuse valem Excelis

Valem tagastab kuupäevade erinevuse tänase ja määratud plaani vahel päevades. Selle probleemi lahendamiseks kasutatakse Exceli funktsiooni RAZDAT: kust ma selle valemi leian?

Te ei leia seda funktsiooni funktsiooniviisardis ega isegi paneelil VALEM. See tuleb alati käsitsi sisestada. Funktsiooni esimene argument peab alati olema uusim kuupäev ja teine ​​argument peab alati olema kõrgeim kuupäev. Funktsiooni kolmas argument määrab funktsiooni =RAZDAT() tagastatava summa mõõtühiku. Sel juhul on see sümbol "d" - päevad. See tähendab, et funktsioon tagastab päevade arvu. Järgmiseks tuleb operaator<7. То есть формула проверяет, если функция возвращает число меньше чем 7, то формула возвращает значение ИСТИНА и к текущей ячейке применяется условное форматирование. Ссылки на ячейки в первом аргумент абсолютная (значение неизменяемое), а во втором аргументе – относительная, так как проверятся будут несколько ячеек в столбце C.

Vajadusel saate sellesse vahemikku lisada uue tingimusliku vormindamise reegli, mis hoiatab meid tähtaja lõppemisest 2 nädalat ette. Selleks peate vahemiku A2:A7 jaoks lisama uue tingimusliku vormindamise reegli ja muutma uues reeglis lihtsalt valemit:


Teise reegli vormingu värviks saate määrata kollase. Samale vahemikule tuleb rakendada 2 tingimusliku vormingu reeglit. Kontrollimiseks valige tööriist: "KODU" - "Stiilid" - "Tingimuslik vormindamine" - "Halda reegleid". Kuna me käivitame esmalt ülemise reegli, peaksime kuvatavas aknas muutma nende järjekorda: "Tingimusliku vormingu reeglite haldur". Vastasel juhul on kõigil valitud ülesannetel kollane lahtrivarjutus. Valige lihtsalt esimene reegel ja vajutage alla nuppu (CTRL + ALLANOOL), nagu on näidatud pildil:


Selle tulemusena hoiatab plaan meid esimesed kaks nädalat ja seejärel nädal enne ülesannete täitmise tähtaega:


Abistav nõuanne! Kui samale vahemikule on määratud palju reegleid, järgige reeglite halduris nende täitmise järjestuse prioriteetide hierarhiat. Mida kõrgem on reegel, seda kõrgem on selle täitmise prioriteet võrreldes teistega, mis on sellest madalamal.

Ajaintervallide kestuse arvutamiseks on kõige mugavam kasutada dokumenteerimata funktsiooni RAZDAT ( ) , DATEDIF() ingliskeelne versioon.

Funktsiooni RAZDAT() ei ole EXCEL2007 spikris ja sees Funktsiooniviisard (SHIFT+ F3 ), kuid see töötab, kuigi mitte ilma veata.

Funktsiooni süntaks:

RAZDAT(alguskuupäev; lõppkuupäev; mõõtmise_meetod)

Argument Algus kuupäev peab olema enne argumenti lõppkuupäev.

Argument meetod_of_measurement määrab, kuidas ja millistes ühikutes mõõdetakse algus- ja lõppkuupäeva vahelist intervalli. See argument võib võtta järgmisi väärtusi:

Tähendus

Kirjeldus

päevade vahe

terve kuu vahe

aasta vahe

erinevus täiskuudes ilma aastateta

päevade erinevus kuude ja aastateta
TÄHELEPANU! Mõne EXCELi versiooni funktsioon tagastab eksliku väärtuse, kui alguskuupäeva päev on suurem kui lõppkuupäeva päev (näiteks EXCEL 2007, kui võrrelda kuupäevi 28.02.2009 ja 03.01.2009 , on tulemuseks 4 päeva, mitte 1 päev). Vältige selle argumendiga funktsiooni kasutamist. Alternatiivne valem on näidatud allpool.

päevade erinevus, välja arvatud aastad
TÄHELEPANU! Mõne EXCELi versiooni funktsioon tagastab eksliku väärtuse. Vältige selle argumendiga funktsiooni kasutamist.

Allpool on kõigi 6 argumendi väärtuse üksikasjalik kirjeldus meetod_of_measurement, samuti alternatiivsed valemid (funktsiooni RAZDAT () saab asendada teiste valemitega (kuigi see on üsna tülikas). Seda tehakse näidisfailis).

Näidisfailis argumendi väärtus Algus kuupäev paigutatud lahtrisse A2 ja argumendi väärtus lõppkuupäev- kambris AT 2 .

1. Erinevus päevades ("d")

Valem =RADIDAT(A2;B2;"d") tagastab kahe kuupäeva lihtsa erinevuse päevades.

Näide1:Algus kuupäev 25.02.2007, lõppkuupäev 26.02.2007
Tulemus: 1 päev).

See näide näitab, et staaži arvutamisel tuleb funktsiooni RAZDAT() kasutada ettevaatlikult. Ilmselgelt, kui töötaja töötas 25. ja 26. veebruaril, siis töötas 2 päeva, mitte 1. Sama kehtib ka täiskuude arvestamisel (vt allpool).

Näide2:Algus kuupäev 01.02.2007, lõppkuupäev 01.03.2007
Tulemus: 28 (päeva)

Näide3:Algus kuupäev 28.02.2008, lõppkuupäev 01.03.2008
Tulemus: 2 (päeva), sest 2008 on liigaasta

Märge: Kui olete huvitatud ainult tööpäevadest, siis kahe kuupäeva vahele jääva k saab arvutada valemiga = VÕRGUPÄEVAD (B2, A2)

2. Erinevus täiskuudes ("m")

Valem =RAZDAT(A2;B2;"m") tagastab kahe kuupäeva vahele jäävate täiskuude arvu.

Näide1:Algus kuupäev 01.02.2007, lõppkuupäev 01.03.2007
Tulemus: 1 kuu)

Näide2:Algus kuupäev 01.03.2007, lõppkuupäev 31.03.2007
Tulemus: 0

Tööstaaži arvestamisel arvestatakse, et kõik kuu päevad töötanud töötaja on töötanud 1 täiskuu. Funktsioon RAZDAT() nii ei arva!

Näide3:Algus kuupäev 01.02.2007, lõppkuupäev 01.03.2009
Tulemus: 25 kuud


=12*(AASTA(B2)-AASTA(A2))-(KUU(A2)-KUU(B2))-(PÄEV(B2)<ДЕНЬ(A2))

Tähelepanu: MS EXCELi abis (vt jaotist Vanuse arvutamine) on kõvervalem kahe kuupäeva vahele jäävate kuude arvu arvutamiseks:

=(AASTA(KUUPÄEV())-AASTA(A3))*12+KUUD(KUI())-KUUD(A3)

Kui funktsiooni TDATE () - praegune kuupäev asemel kasutage kuupäeva 31.10.1961 ja sisestage A3-sse 01.11.1962, tagastab valem 13, kuigi tegelikult on möödunud 12 kuud ja 1 päev ( november ja detsember 1961 + 10 kuud 1962) .

3. Erinevus täisaastates ("y")

Valem =RAZDAT(A2;B2;"y") tagastab kahe kuupäeva vahele jäävate täisaastate arvu.

Näide1:Algus kuupäev 01.02.2007, lõppkuupäev 01.03.2009
Tulemus: 2 aastat)

Näide2:Algus kuupäev 01.04.2007, lõppkuupäev 01.03.2009
Tulemus: 1 aasta)

Valemi saab asendada alternatiivse avaldisega:
=IF(KUUPÄEV(AASTA(B2),KUUD(A2),PÄEV(A2))<=B2;
AASTA(B2)-AASTA(A2);AASTA(B2)-AASTA(A2)-1)

4. Erinevus täiskuudes, va aastad ("ym")

Valem =RAZDAT(A2;B2;"ym") tagastab kahe kuupäeva vahele jäävate täiskuude arvu, välja arvatud aastad (vt näiteid allpool).

Näide1:Algus kuupäev 01.02.2007, lõppkuupäev 01.03.2009
Tulemus: 1 (kuu), sest võrreldakse lõppkuupäeva 01.03.2009 ja muudetud alguskuupäeva 01.02. 2009 (alguskuupäeva aasta asendatakse lõppkuupäeva aastaga, sest 01.02 on väiksem kui 01.03)

Näide2:Algus kuupäev 01.04.2007, lõppkuupäev 01.03.2009
Tulemus: 11 (kuud), as võrreldakse lõppkuupäeva 03/01/2009 ja muudetud alguskuupäeva 01/04. 2008 (alguskuupäeva aasta asendatakse lõppkuupäeva aastaga miinus 1 aasta, sest 01.04 rohkem kui 01.03)

Valemi saab asendada alternatiivse avaldisega:
=MOD(C7,12)
Lahtris C7 peab sisaldama vahet täiskuudes (vt punkt 2).

5. Erinevus päevades, välja arvatud kuud ja aastad ("md")

Valem =RAZDAT(A2;B2;"md") tagastab päevade arvu kahe kuupäeva vahel, välja arvatud kuud ja aastad. Selle argumendiga ei ole soovitatav kasutada funktsiooni RAZDAT() (vt näiteid allpool).

Näide1:Algus kuupäev 01.02.2007, lõppkuupäev 06.03.2009
1. tulemus: 5 (päeva), sest võrreldakse lõppkuupäeva 03/06/2009 ja muudetud alguskuupäeva 01. 03 .2009 (alguskuupäeva aasta ja kuu asendatakse lõppkuupäeva aasta ja kuuga, kuna 01 on väiksem kui 06)

Näide2:Algus kuupäev 28.02.2007, lõppkuupäev 28.03.2009
2. tulemus: 0, sest võrreldakse lõppkuupäeva 28.03.2009 ja muudetud alguskuupäeva 28. 03 .2009 (alguskuupäeva aasta ja kuu asendatakse lõppkuupäeva aasta ja kuuga)

Näide3:Algus kuupäev 28.02.2009, lõppkuupäev 01.03.2009
Tulemus 3: 4 (päeva) – täiesti arusaamatu ja VALE tulemus. Vastus peaks olema =1. Pealegi sõltub arvutustulemus EXCELi versioonist.

EXCEL 2007 versioon SP3-ga:

Tulemuseks on 143 päeva! Rohkem kui päeva kuus!

EXCEL 2007 versioon:

28.02.2009 ja 03.01.2009 vahe on 4 päeva!

Ja EXCEL 2003 koos SP3-ga tagastab valem õige tulemuse 1 päeva kohta. Väärtuste puhul 31.12.2009 ja 02.01.2010 on tulemus üldiselt negatiivne (-2 päeva)!

Ma ei soovita ülaltoodud argumendi väärtusega valemit kasutada. Valemi saab asendada alternatiivse avaldisega:
=IF(PÄEV(A2)>PÄEV(B2);
PÄEV(EOKUUD(KUUPÄEV(B2;-1);0))-PÄEV(A2)+PÄEV(B2);
PÄEV(B2)–PÄEV(A2))

See valem on ainult samaväärne (enamikul juhtudel) avaldis RAZDAT() parameetriga md. Selle valemi õigsuse kohta lugege allolevast jaotisest "Veel kord RAZDATI () kõveruse kohta".

6. Erinevus päevades, va aastad ("yd")

Valem =RAZDAT(A2;B2;"yd") tagastab kahe kuupäeva vahele jäävate päevade arvu, välja arvatud aastad. Eelmises lõigus nimetatud põhjustel ei ole seda soovitatav kasutada.

Valemiga =RAZDAT(A2;B2;"yd") tagastatav tulemus sõltub EXCELi versioonist.

Valemi saab asendada alternatiivse avaldisega:
=IF(KUUPÄEV(AASTA(B2),KUUD(A2),PÄEV(A2))>B2;
B2-KUUPÄEV(AASTA(B2)-1,KUUD(A2),PÄEV(A2));
B2-KUUPÄEV(AASTA(B2),KUUD(A2),PÄEV(A2)))

Veel kord kõveruse kohta RAZDAT ()

Leiame kuupäevade 16.03.2015 ja 30.01.2015 erinevuse. Funktsioon RAZDAT() parameetritega md ja ym arvutab, et erinevus on 1 kuu ja 14 päeva. Kas tõesti?

Kui teil on valemiga RAZDAT() samaväärne valem, saate arvutusprotsessist aru. Ilmselgelt on meie puhul täiskuude arv kuupäevade vahel = 1, st. terve veebruari. Päevade arvutamiseks leiab funktsioon eelmise kuu päevade arvu lõppkuupäeva suhtes, s.t. 28 (lõppkuupäev kuulub märtsikuusse, eelmine kuu on veebruar ja 2015. aastal oli veebruaris 28 päeva). Pärast seda lahutatakse alguspäev ja liidetakse lõppkuupäeva päev = PÄEV(EOKUU(KUUPÄEV(B6,-1),0))-PÄEV(A6)+PÄEV(B6), st. 28-30+16=14. Meie arvates on kuupäevade ja märtsikuu kõikide päevade vahel ikkagi 1 täiskuu, st 16 päeva, mitte 14! See tõrge ilmneb siis, kui eelmisel kuul on lõppkuupäeva suhtes vähem päevi kui alguskuupäeva päevi. Kuidas sellest olukorrast välja tulla?

Muudame erinevuste päevade arvutamise valemit kuud ja aastaid arvesse võtmata:

=KUI(PÄEV(A18)>PÄEV(B18),IF((PÄEV(EOKUUD(KUUPÄEV(B18,-1),0))-PÄEV(A18))<0;ДЕНЬ(B18);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18)+ДЕНЬ(B18));ДЕНЬ(B18)-ДЕНЬ(A18))

Uue funktsiooni rakendamisel tuleb arvestada, et päevade vahe on mitmel alguskuupäeval sama (vt ülaltoodud joonist, kuupäevad 28-31.01.2015). Muudel juhtudel on valemid samaväärsed. Millist valemit rakendada? See on kasutaja enda otsustada, olenevalt probleemi olukorrast.