Odštevanje datumov

Pomoč pri delu z MS Excelom
LIDIJA
Prispevkov: 27
Pridružen: Ne Dec 10, 2006 10:47 pm

Odštevanje datumov

Odgovor Napisal/-a LIDIJA »

Spoštovani Matjaž in ostali

Rada bi poiskala razliko med dvema datuma, toda ne želim rezultata v letih, mesecih in dnevih, ampak samo v številu dni - to rabim za računanje obresti. Poskusila sem s funkcijo DATEDIF, pa ne vem določiti oblike celice. Prebrala sem že vaš nasvet, kako sešteti ure ((h) :mm), pa mi vseeno ne gre.

Lep pozdrav Lidija
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

preprosto odštejte celici (npr =b1-a1), obliko celice pa postavite na 'splošno', ne na 'datum'.
lp,
Matjaž Prtenjak
Administrator
LIDIJA
Prispevkov: 27
Pridružen: Ne Dec 10, 2006 10:47 pm

Odgovor Napisal/-a LIDIJA »

Matjaž hvala za vaš odgovor. Istočasno se vam opravičujem, ker sem se premalo potrudila, saj sem namreč po dolgem pregledovanju vašega foruma našla isto temo (Zoki in Stenly).
Lep pozdrav Lidija :oops:
LOGITECH
Prispevkov: 32
Pridružen: To Jan 09, 2007 12:20 am

DATUMI

Odgovor Napisal/-a LOGITECH »

Pozdrav,
Kako v Excel-u podal začetni datum in končni datum.
Vrnil pa bi mi število dni v tem obdobju brez sobot in nedelj ?

Hvala
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Odgovor boste našli v sledečih tematikah:
http://www.matjazev.net/forum/viewtopic.php?t=376
http://www.matjazev.net/forum/viewtopic.php?t=386

PS: Naslednjič za novo vprašanje odprite novo tematiko.
lp,
Matjaž Prtenjak
Administrator
ljubo7
Prispevkov: 18
Pridružen: Po Mar 05, 2007 11:28 am
Kraj: Sevnica

Odgovor Napisal/-a ljubo7 »

Sam pa imam nekoliko drugačen problem.

Sicer sem na forumu že spoznal sicer nedokumentirano funkcijo "datedif", vendar bi žele preko nje nekoliko več.

Ta funkcija vrne razliko med datumoma v dnevih ali mesecih ali letih. Sam pa bi rad, da mi /verjetno še preko kakih drugih funkcij/ razliko posebej v celih letih, morebitni ostanek v celih mesecih in morebitni ostanek še v dnevih in to seveda v treh različnih celicah. Če pa razlike v letih ali/in mesecih ne bi bilo, naj vrne v tistih celicah recimo znake "0".

Kako se naj torej tega lotim?

Ali pa morda že obstaja kaka elegantna repšitev.

Hvala v naprej

in LP

Ljubo
GoldZ
Prispevkov: 137
Pridružen: Če Sep 01, 2005 10:20 am

Odgovor Napisal/-a GoldZ »

Pozdravljeni!

Za rešitev Vašega problema je najprimernejša funkcija DATEDIF(začetni datum;končni datum;"parameter").

Uporabiti pa jo boste morali 3 ×. Enkrat za prikaz v:
  • letih - parameter y
    mesecih - parameter ym
    dnevih - parameter md.
Recimo, da sta datuma v celici A1 in A2.

Primer za leta:

Koda: Izberi vse

=datedif(a1;a2;"y")
Pazite, da parametre pišete v narekovajih.
Zadnjič spremenil GoldZ, dne To Mar 06, 2007 1:10 pm, skupaj popravljeno 1 krat.
Življenje je enostavno, če poznaš "The Secret".
GoldZ
ljubo7
Prispevkov: 18
Pridružen: Po Mar 05, 2007 11:28 am
Kraj: Sevnica

Odgovor Napisal/-a ljubo7 »

Ena velika zahvala GoldZ-ju za (skoraj) čudovito rešitev.

Sicer sem vedel, da se da parametre tudi združevati, nisem pa vedel pomena takega združevanja. Po pravici povedano, še sedaj povsem ne razumem, deluje pa. Vendar, kot rečeno, ne povsem.

Funkcijo sem testiral na nekaj znanih mi podatkih (kakih 15 jih je bilo) in na enem mi vrne napačen izračun.

Gre za naslednjega:
pravilna razlika med datumoma 7. 5. 1980 in 28. 2. 1998 (vštevši oba mejna datuma, se pravi "datedif"+1dan) je 17 let, 9 mesecev in 25 dni. Pri tem je treba mesece šteti v celoti take, kot so, ne glede na njihovo dolžino. Funkcija pa vrne 17 let, 9 mesecev in 22 dni. Razlika je torej pri dnevih.

Zakaj tako? Ali funkcija ne zna delati pravilno s februarskimi dnevi ali kaj?

Zaradi tega preizkusa stvari ne morem 100% zaupati. Ali je še kakšna druga možnost?
BJ
Prispevkov: 170
Pridružen: Sr Okt 26, 2005 5:46 pm

Odgovor Napisal/-a BJ »

Lep pozdrav!
Preizkusil sem formulo, kot jo je zapisal GoldZ, vendar mi ne deluje. Našel sem drugo obliko, vendar ne vem, zakaj mi rezultat izpiše v francoščini: 1 an 8 mois 25 jours.

Koda: Izberi vse

=DATE.DIFF(A1;B1;3)
GoldZ
Prispevkov: 137
Pridružen: Če Sep 01, 2005 10:20 am

Odgovor Napisal/-a GoldZ »

Pozdravljeni!
Zakaj tako? Ali funkcija ne zna delati pravilno s februarskimi dnevi ali kaj?
Funkcija pozna prestopna leta. Probajte s primeroma:
1.2.2007 - 1.3.2007 = 28
1.2.2008 - 1.3.2008 = 29

Ne zajema mejnih vrednosti.
Preizkusil sem formulo, kot jo je zapisal GoldZ, vendar mi ne deluje.
Se opravičujem za napako. Uporabil sem vejico, namesto podpičja. Uredil sem objavo in zdaj je pravilno.
Življenje je enostavno, če poznaš "The Secret".
GoldZ
GoldZ
Prispevkov: 137
Pridružen: Če Sep 01, 2005 10:20 am

Re: DATUMI

Odgovor Napisal/-a GoldZ »

LOGITECH napisal/-a:Pozdrav,
Kako v Excel-u podal začetni datum in končni datum.
Vrnil pa bi mi število dni v tem obdobju brez sobot in nedelj ?

Hvala
Še mogoče o tem:

funkcija NETWORKDAYS(začetni_datum;končni_datum;[dnevi, ki naj se ne upoštevajo]).

vrne število dni med dvema datumuma brez sobot in nedelj. Tretji opcijski argument "dnevi, ki naj se ne štejejo" je pa lahko območje z vpisanimi prazniki.

Za uporabo funkcije je prej potrebno vklopiti dodatek orodja za analizo.
Življenje je enostavno, če poznaš "The Secret".
GoldZ
ljubo7
Prispevkov: 18
Pridružen: Po Mar 05, 2007 11:28 am
Kraj: Sevnica

Odgovor Napisal/-a ljubo7 »

Res je, funkcija pozna prestopna leta, žal pa ni uporabna za nalogo, ki jo želim rešiti.

Število dni med posameznima datuma seveda pravilno izračuna (tudi v prestopnih letih), ne zna pa vedno pravilno prikazati število mesecev in dni, če je vsaj en datum postavljen znotraj meseca - recimo v primeru datumov 30. 12. 1990 in 1. 3. 1991 izračuna 0 let, 2 meseca in -1 dan (kar je celo smešno), moralo pa bi biti 0 let, 2 meseca in seveda 1 dan!

Funkcija pri mesecih vedno računa, da trajajo 31 dni, kar pa seveda za moje potrebe ne pride v poštev.

Očitno bo potrebno najti program, ki zna tako delo opraviti pravilno.

Hvala vsem in LP

Ljubo
GoldZ
Prispevkov: 137
Pridružen: Če Sep 01, 2005 10:20 am

Odgovor Napisal/-a GoldZ »

Pozdravljeni!

Priznam, da sem bil :shock:.

Podrobna razlaga DATEDIFF je tukaj:

http://cpearson.com/excel/datedif.htm

Ker mi ni dalo miru, sem povprašal "strica Googla":

http://www.herber.de/bbs/user/25094.xls

Datoteka vsebuje makro z lastno funkcijo. Dela OK, a ko jo boste odprli, boste našli kup Excel-ovih napak. Kriva je funkcija EDATUM (zakaj so imena funkcij prevajali, ne vem...), nadomestite jo z EDATE, pa bo delalo...

Mogoče pa še kdo vé kako boljšo rešitev... :?:
Življenje je enostavno, če poznaš "The Secret".
GoldZ
ljubo7
Prispevkov: 18
Pridružen: Po Mar 05, 2007 11:28 am
Kraj: Sevnica

Odgovor Napisal/-a ljubo7 »

Zanimivo, vendar pa tegale:

>Datoteka vsebuje makro z lastno funkcijo. Dela OK, a ko jo boste odprli, boste našli kup Excel-ovih napak. Kriva je funkcija EDATUM (zakaj so imena funkcij prevajali, ne vem...), nadomestite jo z EDATE, pa bo delalo...

nisem dobro razumel. Ker se na makroje bolj slabo spoznam, sedaj ne vem, kje moram kaj preimenovati. Lahko razložite malo bolj "na široko".

LP

Ljubo
ljubo7
Prispevkov: 18
Pridružen: Po Mar 05, 2007 11:28 am
Kraj: Sevnica

Odgovor Napisal/-a ljubo7 »

Se bom malo dopolnil:

Z vklop funkcije (ki je excelova) sem moral vklopiti v orodjih analitična orodja (orodja/ dodatki/ orodja za analizo), pa je šlo. Seveda pa sem prej vse nazive EDATUM v tabeli preimenoval v EDATE.

Lastna funkcija avtorja (njegov makro) pa se imenuje DATEDIFFM.

Žal sem po preverbi ugotovil, da tudi ta ne deluje tako, kot bi želel.

Iščem naprej!

LP

Ljubo
Odgovori