< návrat zpět

MS Excel


Téma: Workday a hodiny rss

Zaslal/a 20.6.2023 8:51

Dobrý den, v Gantově diagramu potřebuji při plánování počítat hodiny, nebo spíše desetiny dnů, ale standartně to Workday neumí 7
Poradí někdo, jestli to jde nějak elegantně vyřešit?
Já se to snažil obejít krkolomným zpětným příčítáním desetin, ale došel jsem k tomu, že 1 se nerovná 1 podle Excelu, takže to ne vždy funguje a moje poslední verze vzorce vypadá takhle hrozně:

=KDYŽ(V3228-ZAOKR.DOLŮ(V3228;1)+F3228-ZAOKR.DOLŮ(F3228;1)<0,999995;WORKDAY(V3228;F3228;svátky!I:I)+V3228-ZAOKR.DOLŮ(V3228;1)+F3228-ZAOKR.DOLŮ(F3228;1);WORKDAY(V3228;F3228;svátky!I:I)+V3228-ZAOKR.DOLŮ(V3228;1)+F3228-ZAOKR.DOLŮ(F3228;1)-1)

Slupec F jsou dny, V je začátek, obojí v desetinách
Stejně ale v některých případech počítá špatně 6

Zaslat odpověď >

Strana:  1 2   další »
#055071
avatar
Bez přílohy ani ránu!citovat
#055072
avatar
OK, ořezal jsem plán na to podstatné.
První 3 řádky jsou moje krkolomné řešení, kde je výsledek přepsaný ve sloupci Z v desetinách
Další 3 řádky jsou standartní Workday v celých číslech
Pro celkový plán potřebuji ty desetiny, ale nedaří se to vždy.
Příloha: 7z55072_plan-wall.7z (44kB, staženo 12x)
citovat
#055074
elninoslov
???
Skúste, či som trafil a či nie ...
=WORKDAY(V4;CEILING(F4;1))-IF(MOD(F4;1)=0;0;1-MOD(F4;1))
=WORKDAY(V4;ZAOKR.NAHORU(F4;1))-KDYŽ(MOD(F4;1)=0;0;1-MOD(F4;1))

EDIT: Aha, máte pravdu. Také jednoduché to asi nebude. Ach tie nepresnosti Excelu, kor keď som zabudol na to že V4 má byť desatina tiež. Neskôr ešte skúsim.citovat
#055075
avatar
Něco takového?:

=LET(
zacatek;V3;
zacatek_hod;MOD(zacatek;1);
doba;F3 + zacatek_hod;
doba_hod;MOD(doba;1);
WORKDAY(od;doba)+doba_hod)


Nevím, jak se má počítat s desetinami - jsou to zlomky dne nebo zlomky pracovní doby nebo směs?
Podle odpovědi je nutné vhodně upravit zlomky (buď sumu nebo dobu trvání).

tj. Nejprve spočítat celkovou dobu od počátku prvního dne, spočítat workday a pak vrátit zbývající hodiny.

Bez let to nakonec vypadá snažší (bez úprav v počítání desetin samozřejmě):
=WORKDAY(V3;F3+MOD(V3;1))+MOD(V3+F3;1)citovat
#055076
avatar
Jsou to zlomky dne, resp. naplnění denní kapacity
Jdu to zkusitcitovat
#055077
avatar
Super, vypadá to o moc líp, než ta moje hrůza a zatím jsem nenašel žádnou chybu 9
díky moc, použití MOD mě vůbec nenapadlo 10citovat
#055078
elninoslov
@lubo: dospel som presne k tomu istému, až na záverečný +MOD
=WORKDAY(V4;F4+MOD(V4;1);svátky!$I$1:$I$13)+MOD(F4+MOD(V4;1);1)
pretože ak bude prípad V4=45104,2 (27.7.) a F4=7,8 tak by mal byť po započítaní sviatkov (5.7., 6.7.) výsledok 45118 (11.7.) a nie 45117 (10.7).
Či sa mýlim?

EDIT: Tu je príklad.
Příloha: xlsx55078_desatiny-datumu-priklad.xlsx (13kB, staženo 8x)
citovat
#055082
avatar
Ne, nemýlíte se.

Problém je v rozsahu hodnot ve sloupci V. Tím, že zde jsou čísla cca 50000, jsou číslice od cca 10-té pozice jen přibližné.

Problém vzniká, pokud je uložená hodnota menší než skutečná a proces končí na konci dne.

Konkrétně

Mod(45104,2;1) je 0,199999999997090, tj. trochu méně než 0,2.

Počet dnů pro workday je potom 7,999999999997090, po useknutí zůstane jen 7.

Vaše řešení potom do výsledku vrátí chybějící hodnotu 0,999999999997089.

Další možnosti jsou:

=WORKDAY(V4;F4+MOD(V4;1) +1e-9;svátky!$I$1:$I$13)+MOD(F4+V4;1)
=WORKDAY(V4;ZAOKROUHLIT(F4+MOD(V4;1);1);svátky!$I$1:$I$13)+MOD(F4+V4;1)

Asi i jiné.citovat
#055083
avatar
Uff, tak teď jsem z toho zase trochu zmatený a nevím, jestli budou pracovat na 100% všechny možnosti, nebo jen některá 10
Při tom mém zaokrouhlování výše jsem dospěl k tomu, že ne vždy v Excelu 1=1, proto tam mám tu hranici 0,999995, na které mi to zlobilo.citovat
#055085
avatar
V Excelu 1 = 1.

Problém je v tom, že se nepracuje s desítkovou soustavou . Velká a desetinná čísla se ukládají (v desítkovém ekvivalentu na cca 18 číslic, přitom pokud se číslo převede z interního vyjádření do desítkové soustavy, tak se často s původním číslem neshodují. Někdy je toto číslo větší, někdy menší. Pokud má číslo jen desetinnou část, chyba se projeví zpravidla až za 15-tým desetinným místem. Vše co je v čísle před desetinnou čárkou, posouvá nepřesnosti taky doprava. Pokud je tedy číslo cca 45000, posune se chyba o 5 pozic na cca 10. desetinné místo.
Normálně lze zobrazit 15 desetinných míst. Excel při výpočtech často tyto chyby koriguje.

Stručně.
A) Použijte vzorec elnina, případně některou z dalších variant.
B) Pokuste se pochopit, jak Excel funguje a jak fungují použité vzorce (zvlášť pokud je někde najdete nebo jsou výsledkem techniky pokus-omyl).citovat

Strana:  1 2   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