< návrat zpět

MS Excel


Téma: převod roků rss

Zaslal/a 6.11.2014 9:51

Dobrý den, existuje nějaký vzorec či něco takového na rozložení roků? V buňce mám uvedené odpracované roky : 8,59 ... Chtěla bych to převést na ROKY, MĚSÍCE a DNY (např.: 8let 6měsíců 28dní) .. Lze to vůbec ? Děkuji za jakoukoliv odpověď 1 Lenn

Zaslat odpověď >

Strana:  « předchozí  1 2 3 4   další »
icon #022210
eLCHa
@AL
ano, mám - jen je třeba doladit poslední položku (den)
bohužel zase musím běžet - takže mám rozpracováno toto=DATEDIF(DatumOd;DatumDo;"y")&"-"&DATEDIF(DatumOd;DatumDo;"ym")&"-"&DEN(DatumDo)-DEN(DatumOd)+(DEN(DatumOd)>DEN(DatumDo))*((DATUM(ROK(DNES());MĚSÍC(DatumOd)+1;1)-DATUM(ROK(DNES());MĚSÍC(DatumOd);1)))a na první pohled se to zdá v pořádku. Možná by mohl někdo hodit druhý pohled nebo tu část pro den zkusit zjednodušit ;))

Ještě jsem stihl druhý pohled a asi tam je ještě něco k doladění ;))
Prostě pro den použít něco jiného než DATEDIF a bude to ;)citovat
#022211
avatar
Ten problém (0 dnů) je způsoben

datum(rok=2014;měsíc=2;den = 31), což posouvá dopočtené datum dále než bylo zamýšleno.

Dostal jsem se na výraz:

=DATEDIF(A1;B1;"y")&"R-"&
DATEDIF(A1;B1;"ym")&"M-"&(B1-DATUM(ROK(A1);MĚSÍC(A1)+DATEDIF(A1;B1;"m");MIN(DEN(EOMONTH(DATUM(ROK(A1);MĚSÍC(A1)+DATEDIF(A1;B1;"m");1);0));DEN(A1))))&"D"


Volba v "md" datedif zřejmě trpí stejnou vadou.
(Můj závěr, před nějakou dobou jsem sledoval chování funkce)citovat
#022213
avatar
Ještě jsem dohledal výsledky pokusů s datedif:

Pokud je parametr "md", tak chování funkce odpovídá vzorec:

=KDYŽ(DATUM(ROK(B1);MĚSÍC(B1);DEN(A1))<=B1;
B1-DATUM(ROK(B1);MĚSÍC(B1);DEN(A1));
B1-DATUM(ROK(B1);MĚSÍC(B1)-1;DEN(A1)))


kde v A1 je první datum a v B1 je druhé datum.
Pokud je v prvním datu 31 a v druhém datu březen, počítá to vždy chybně.citovat
#022215
avatar
Tak prikladám svoje riešenie
=DATEDIF(A1;B1;"y")&"R-"&DATEDIF(A1;B1;"ym")&"M-"&DAY(B1)-DAY(A1)+DAY(EOMONTH(DATE(YEAR(B1);1;1);MONTH(B1)-1))*(DAY(B1)-DAY(A1)<0)&"D"
Příloha: zip22215_datumy.zip (7kB, staženo 30x)
citovat
icon #022221
avatar
Chlapci, pokiaľ ste s tým pohli, tak ja na to teda hádžem bobek, snáď to Lenn použije, asi nemá zmysel, aby som riešil niečo, čo ste s úspechom dotiahli, a trávil s tým v podstate zbytočne čas. Za mňa v tomto prípade UDF :)

Inak, lubov vzorec je pmn už viacmenej stráviteľný, pokiaľ je jeden ochotný akceptovať, že dáva ten istý výsledok napr. pre nasledujúce kombinácie začiatku a konca:
29.12.2006 1.3.2014 7R-2M-1D
30.12.2006 1.3.2014 7R-2M-1D
31.12.2006 1.3.2014 7R-2M-1D
1 On tam ten február proste bude škodiť asi vždy 1

edit: ešte som pre zaujímavosť dotiahol i marjankajov vzorec, porovnanie výsledkov tuná (proste chaos s februárom):

od ------------- do ------------ lubo ----------- marjankaj
27.12.2006 --- 28.2.2014 --- 7R-2M-1D ---- 7R-2M-1D
28.12.2006 --- 28.2.2014 --- 7R-2M-0D ---- 7R-2M-0D

29.12.2006 --- 28.2.2014 --- 7R-1M-30D --- 7R-1M-27D --- menej u marj
30.12.2006 --- 28.2.2014 --- 7R-1M-29D --- 7R-1M-26D --- menej u marj
31.12.2006 --- 28.2.2014 --- 7R-1M-28D --- 7R-1M-25D --- menej u marj

29.12.2006 --- 1.3.2014 ---- 7R-2M-1D ---- 7R-2M-3D ---- menej u lubo
30.12.2006 --- 1.3.2014 ---- 7R-2M-1D ---- 7R-2M-2D ---- menej u lubo
31.12.2006 --- 1.3.2014 ---- 7R-2M-1D ---- 7R-2M-1D ---- menej u lubo

31.12.2006 --- 3.3.2014 ---- 7R-2M-3D ---- 7R-2M-3Dcitovat
icon #022230
eLCHa
Inak, lubov vzorec je pmn už viacmenej stráviteľný, pokiaľ je jeden ochotný akceptovať, že dáva ten istý výsledok napr. pre nasledujúce kombinácie začiatku a konca:
29.12.2006 1.3.2014 7R-2M-1D
30.12.2006 1.3.2014 7R-2M-1D
31.12.2006 1.3.2014 7R-2M-1D


Mno ono je to sporné a je to o metodice. Jak je správné počítat dny? Podle mne je třeba dopočítat dny do konce měsíce v prvním datu a potom začít počítat dny měsíce ve druhém datu.

29.12.2006 1.3.2014 7R-2M-3D
30.12.2006 1.3.2014 7R-2M-2D
31.12.2006 1.3.2014 7R-2M-1D
29.12.2006 28.2.2014 7R-1M-30D
30.12.2006 28.2.2014 7R-1M-29D
31.12.2006 28.2.2014 7R-1M-28D
3.2.2008 3.3.2012 4R-1M-0D
3.2.2008 3.3.2008 0R-1M-0D
3.2.2009 3.3.2009 0R-1M-0D

Řešení mně napadlo hned, jak jsem včera vypnul počítač ;))
=DATEDIF(DatumOd;DatumDo;"y")&"R-"&DATEDIF(DatumOd;DatumDo;"ym")&"M-"&DATUM(ROK(DatumOd);MĚSÍC(DatumOd)+(DEN(DatumOd)>DEN(DatumDo));DEN(DatumDo))-DatumOd&"D"citovat
icon #022232
eLCHa
Nicméně - matematicky je podle mně správně pouze řešení vycházející z počtu dní, dávající výsledek, ze kterého jednoznačně počet dní zpětně zjistím - čímž se vracím k mému úvodnímu příspěvku). Takže např.:=USEKNOUT((DatumDo-DatumOd)/365,2425)&"R-"&USEKNOUT(MOD(DatumDo-DatumOd;365,2425)/365,2425*12)&"M-"&MOD(MOD((DatumDo-DatumOd);365,2425);365,2425/12)&"D"
29.12.2006 1.3.2014 7R-2M-1,42875D

Takže interval je 2619 dní
Zpětně tedy:
7*365,2425 = 2556,6975
2*365,2425/12 = 60,87375
1,42875
2556,6975 + 60,87375 + 1,42875 = 2619

Ale to jen pro zajímavost - o to tu nešlo - jen je tu po dlouhé době jiné a celkem zajímavé téma, díky němu jsem objevil (byla mi ukázána) a hned v podstatě zatratil fci DATEDIF ;))) - i když pro rozdíl měsíců asi použitelná bude ;), roky se dají zjistit snadno

29.12.2006 - 1.3.2014 - 7R-2M-3D - 7R-2M-1,42875D
30.12.2006 - 1.3.2014 - 7R-2M-2D - 7R-2M-0,42875D
31.12.2006 - 1.3.2014 - 7R-2M-1D - 7R-1M-29,865625D
3.2.2008 - 3.3.2012 - 4R-1M-0D - 4R-0M-29,03D
3.2.2008 - 3.3.2008 - 0R-1M-0D - 0R-0M-29D
3.2.2009 - 3.3.2009 - 0R-1M-0D - 0R-0M-28Dcitovat
#022239
avatar
Jednoznačné řešení podle mne závisí na odpovědi na otázku:

Jaké datum myslím, když 31.ledna řekneme "za měsíc".

"správných" odpovědí bude více.citovat
#022240
avatar
Z toho, čo uviedol zadávateľ, mi vychádza, že počíta s rokom, ktorý má 360 dní, Teda 12 mesiacov po 30 dní. Aspoň tá uvedená funkcia ROK360 (DAYS360) to naznačuje.
Teda asi by bolo dobré vedieť, na aký účel to potrebuje.citovat
#036792
avatar
Zdravím ve spolek, prosím o pomoc:
jak převést číslo např. 398 na to kolik je to roků+měsíců+dnů.
U funkce DATEDIF si např.rozdělím čas mezi datumy na roky, měsíce a dny, to je v pohodě ,ale když si např. každý časový úsek mezi datumy dám jen do počtu dnů pod sebe a pak je dám sečíst, tak aby mi to ukázalo celkový počet dnů, tak mi to ukáže např.398 dní, ale jak toto číslo převést na roky + měsíce + dni...??? Nebo alespoň na roky+dny???
Moc děkuji za případnou odpověď :-)citovat

Strana:  « předchozí  1 2 3 4   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje