Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 28. 10. 2020 17:55:54

libor007
Člen
Registrace: 11. 1. 2012
Příspěvků: 14

calc - nekorektní výpočet R/O směny dle datumu

Přátelé, mám kalendář, který mi vypočítá jestli mám ranní/odpolední směnu dle datumu - dekáda 5+2. Dosud vše mnoho let fungovalo, ale pro rok 2021 je výpočet nesprávný. Přelomový týden 2020/2021 mám odpolední, to kalendář vypočítá správně. Ale pro další týden se nepřeklopí na ranní a pokračuje odpoledním. Překlopí se až ten další týden, což je špatně. Kde může být chyba? Pro výpočet používám formulku =IF(WEEKDAY($A4;2)<6;IF(MOD(ISOWEEKNUM($A4);2)=0;"R";"O");"-") kterou mi někdo na fóru poradil. Nějaké tipy? Díky.


Soubor v příloze. Aktuální rok zadávám v buňce C1
https://uloz.to/file/dD8Mywo6PBrJ/volna-celorok-5-2-ods

Offline

#2 28. 10. 2020 18:42:10

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: calc - nekorektní výpočet R/O směny dle datumu

Máte pravdu, ale podívejte se na datum :
A1 > 26.12.2020 > B1 =WEEKNUM(A1) = 52
A2 > 27.12.2020 > B2 =WEEKNUM(A2) = 1
A3 > 1.1.2021   > B3 =WEEKNUM(A3) = 1



      Tedy poslední týden v roce je současně prvním v roce následujícím. Řešení je jednoduché :
Od roku 2021 změňte vzorec takto :

=IF(WEEKDAY($A4;2)<6;IF(MOD(ISOWEEKNUM($A4);2)=0;[b]"O";"R"[/b]);"-")

      Přehoďte od ledna 2021 pouze písmena "O" a "R" :-)

Editoval neutr (28. 10. 2020 18:44:17)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 28. 10. 2020 19:08:02

libor007
Člen
Registrace: 11. 1. 2012
Příspěvků: 14

Re: calc - nekorektní výpočet R/O směny dle datumu

Díky. To mne samozřejmě napadlo. Ale o co konkrétně jde, že to od 2021 nefunguje? Nějaký cyklus do určité doby? Nebo to s upraveným vzorcem pojede již "na furt"? Edit: upravený vzorec dle rady mi nefunguje. Vrací místo R/O znak ###

Editoval libor007 (28. 10. 2020 19:19:23)

Offline

#4 28. 10. 2020 19:25:17

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: calc - nekorektní výpočet R/O směny dle datumu

Tomu vzorci je to jedno. Počítá po týdenech a překlápí po dvou - lichý / sudý. Takže takhle to asi pojede nějaký rok - souvisí to s přestupným počtem dní a dělitelností. Uvědomte si raké, že to nepočítá se sobotou a nedělí (jsou tam pomlčky)
     Vzorec necháte takto až do doby, kdy by se situace opakovala - potom to dáte zpět.


PS :
Jeszli Vám původně fungoval vzorec v B4

=IF(WEEKDAY($A4;2)<6;IF(MOD(ISOWEEKNUM($A4);2)=0;[b]"R";"O"[/b]);"-")

Tak Vám musí fungovat v B4 i tento vzorec, ale vrací opačnou hodnotu

=IF(WEEKDAY($A4;2)<6;IF(MOD(ISOWEEKNUM($A4);2)=0;[b]"O";"R"[/b]);"-")

Editoval neutr (28. 10. 2020 19:33:00)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#5 28. 10. 2020 19:42:10

libor007
Člen
Registrace: 11. 1. 2012
Příspěvků: 14

Re: calc - nekorektní výpočet R/O směny dle datumu

No mě vzorec fungoval, ale Vy máte v odpovědi ve vzorci navíc to a . A takto je vzorec nefunkční. Předpokládám tedy, že mám pouze prohodit R/O v původním vzorci bez b.

Offline

#6 28. 10. 2020 19:45:21

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: calc - nekorektní výpočet R/O směny dle datumu

Ano máte pravdu měl jsem vynechat ty závorky - jsou to BBC kódy které pochopitelně v syntaxi Calcu nemají co dělat - omlouvám se.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#7 28. 10. 2020 21:27:38

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 144

Re: calc - nekorektní výpočet R/O směny dle datumu

Zdravím,
pokud tam dáte:

=IF(WEEKDAY(A4;2)<6;IF(MOD(INT((A4+5)/7);2)=1;"R";"O");"-")

pak vám to bude fungovat pro libovolný rok, nemusíte nic přepisovat.


Ubuntu 22.04.1 LTS, LibreOffice Verze: 7.4.6.2, wxMaxima 20.12.1, Maxima 5.47.0 (SBCL)

Offline

#8 30. 10. 2020 10:49:19

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 842

Re: calc - nekorektní výpočet R/O směny dle datumu

libor007 napsal(a)

Díky. To mne samozřejmě napadlo. Ale o co konkrétně jde, že to od 2021 nefunguje? Nějaký cyklus do určité doby? Nebo to s upraveným vzorcem pojede již "na furt"? Edit: upravený vzorec dle rady mi nefunguje. Vrací místo R/O znak ###

Podle iso normy je první týden v roce ten, ve kterém je 4. leden.

Některé roky zhruba po 5 letech (2020 např.) mají takto 53 týdnů, no a pak je 1. týden následujícího roku samozřejmě také lichý.

Offline

Zápatí