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

#1 2. 9. 2019 09:42:40

zubrtoma
Člen
Registrace: 2. 9. 2019
Příspěvků: 2

Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

Dobrý den,
potřeboval bych poradit s tabulkou na výkaz práce. Už mě to nebaví vyplňovat ručně a chtěl bych si to zautomatizovat.

Jedná se o tabulku na výkaz práce, kde by ve sloupci 2 bylo vybráno písmeno - symbol dané směny, což se mi již podařilo vykoumat dle fora /data-platnost-seznam a hodnoty ze zdrojové tabulky(pod hlavní tabulkou dole - sloupce lícují s hlavní tabulkou výkazu - sloupec 2/. nicméně dále jsem v koncích, zkoušel jsem funkci IF, VLOOKUP a nejsem schopen je přesvědčit ke spolupráci

* rád bych vybral ze seznamu hodnotu ve sloupci 2 a aby se následně vyplnil i zbytek řádku /případně dvou řáddků nad sebou - viz dále/ v tabulce výkazu - tj. zadám symbol D a aby se vyplnil řádek až nakonec dle tabulky směn pod hlavní tabulkou, nejlépe i s textovým popisem.

* Některé směny pokračují do druhého dne, t.j. po vybrání písmene by se měly vyplnit dva řádky, což bude asi problém, ale pokud by se v řádku vybrala třeba nula, tak by se ten mohl následně vyplnit dle předchozího, ale nevím jak stanovit tyto priority.

* Event. je možné dát zdrojová data na druhý list - asi detail

* Následné sumy v dolním řádku již snad nebudou problém.

Dotaz jsem položil dost krkolomně, nicméně doufám, že bude srozumitelný. Moc Vám děkuji za jakékoli rady, snažím se o to již dvě hodiny a ani přes vyhledávání tady na foru se mi nedaří. Přikládám zdrojový soubor.

https://www.dropbox.com/s/ntydvo3qs7dq3 … z.ods?dl=0

Offline

#2 2. 9. 2019 13:48:19

mikess
Člen
Registrace: 29. 9. 2008
Příspěvků: 10

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

Ahoj, tady jsem něco zkusil (zatím jen část hodin): https://uloz.to/file/mierRpK7v8LV/vykaz-uprava-ods
dej vědět, zda je to ono, aby se dalo pokračovat dál.
Ještě do toho výkazu práce napiš, kam co patří. Třeba jen vyplň první den, pak to bude přehlednější a lépe tomu porozumím.

Offline

#3 2. 9. 2019 16:40:06

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

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

Není to velký problém, ale Vaše tabulka od řádku 60 je nedostatečná. Těžko nasměrovat na řádek který nemá "index". Toto se objevuje na řádcích 62 a 64. Chápu že to je ten problém který uvádíte jako řešení 2 řádků. Máte představu, že ve vlastním výkazu bude mít některý den 2 řádky - což jsou zřejmě ty dva případy "bez indexu".
     To je sice možné dělat manuálně ale také se posune tabulka z řádků 60 až 69. Ta by měla být na jiném listu - zřejmě s názvem "data". Takže můj názor je ten, že i když se jedná o takto daný zápis přes dva řádky - musí mít položka tabulky také "index".
     Mám v přibuzenstvu zdravotní sestru a tak vím že se běžně rozlišuje Ranní (R = 8 hodin) a denní (D = 12 hodin). není sice obvyklé pracovat na třísměnný provoz, ale nic tomu nebrání. Takže aby ve zkratkách nebyly zmatky (vím - účtárna má své představy) je možné použít
D12 denní 12 hod všední den
N12 noční 12 hod všední den
N8  noční 8 hod všední den
NP12 noční v pátek 12 hod
NP8  noční pátek 8 hod
VD   víkend denní 12 hod
VN   víkend noční 12 hod
NN   noční neděle 12 hod
DM   dovolená (M asi jako mateřská? - nepodstatné)
DS   dovolená (S asi jako standardní? - nepodstatné)


     Takto nějak by to mělo být popsáno. Je jasné, že sestry ve směnách by měly mít předepsaný graf na dvanáctky (existují i smíšené grafy 8 a 12 hod ale s tím je víc praktické práce i starostí). Naproti tomu existují sestry jen na ranní směny (staniční, zácvikářky ap.) které je možné vyslat jako posilu - nejlépe jen na "osmičku" a to kdykoliv, takže i na nedělní noční ap.
     Problém bude s tím, že mzdovka nemá zavadené příslušné indexy, ale to se dá nastavit takže jde spíš o jejich schopnost, nebo ochotu. Já to postavím tak jak si myslím že je správně a pak bych očekával Vaše připomínky.


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

Offline

#4 2. 9. 2019 18:29:28

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

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

Otestujte toto První verze.
     Moc jsem toho nedělal a ani nekomentoval. Snad bude zřejmé co jsem chtěl ukázat a pak i to co byste potřeboval dodělat. Za zmíňku snad stojí že jsem předělal načítání z data-platnost-seznam na data-platnost-úsek buněk.
     Například pouhým smazáním čísla dne můžeme připisovat nestandardní hodiny přesčasů a podobně. To je dáno vzorcem v číslování který inkrementuje k maximu z úseku jedničku - tím přeskočí prázdné buňky. Ty ovšem mohou na konci scházet, takže je nutné přidat a na ně vykopírovat vzorce. To by šlo i stylověji například makrem.


     Je toho určitě dost ke zkoumání a testování. Netroufám si predikovat Vaše skutečné potřeby.

Editoval neutr (2. 9. 2019 18:31:50)


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

Offline

#5 3. 9. 2019 21:05:44

zubrtoma
Člen
Registrace: 2. 9. 2019
Příspěvků: 2

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

Ahoj, moc Vám děkuji za rady a pokusy. Daří se mi otevřít pouze soubor od mikesse, od neutra je pravděpodobně v libre office, ten v práci nemám a pro nedostatečná práva ani nemohu nainstalovat, jsem tu už druhý den v kuse, tudíž nemohu ani zkusit doma. Už jste rozchodili funkce, které já rozchodit neumím, ani tabulku od mikesse nejsem schopen upravit, jak bych potřeboval.

* souhlasím že by bylo lepší zdrojová data umístit na druhý list
* asi by mi dostačovali i směny které jsem si zadal,pokud tam budou směny 8 h,. bude to jedině dobře, ale zase další komplikace k řešení.
* pro snažší pochopení přikládám tabulku, jak by měl vyplněný výkaz vypadat, vždy ve žlutém poli/1-2 řádky/ je jedna směna, odděleno bílým řádkem.

Moc vám děkuji za pomoc, ale pokud ny to nebudete mít čas, nechme to usnout, myslel jsem že to bude jednodušší smile

https://uloz.to/file/ZnCeMrMzT7AK/vykaz-ods

Editoval zubrtoma (3. 9. 2019 21:05:59)

Offline

#6 4. 9. 2019 05:49:03

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

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

zubrtoma napsal(a)

A) Už jste rozchodili funkce, které já rozchodit neumím, ani tabulku od mikesse nejsem schopen upravit, jak bych potřeboval.
B) * souhlasím že by bylo lepší zdrojová data umístit na druhý list
C) * asi by mi dostačovali i směny které jsem si zadal,pokud tam budou směny 8 h,. bude to jedině dobře, ale zase další komplikace k řešení.
D) * pro snažší pochopení přikládám tabulku, jak by měl vyplněný výkaz vypadat, vždy ve žlutém poli/1-2 řádky/ je jedna směna, odděleno bílým řádkem.

a) Není problém udělat vzor pro nejlepší řešení podle a pro celou tabulku. Snad se k tomu dnes dostanu. Udělám i detailní popis vzorců zejména VLOOKUP().


b) Vzor bude obsahovat tabulku na listu „data".


c) Vzorová tabulka bude provedena tak aby se daly „nepotřebné položky" smazat.


d) To je řešitelné variantně.

KOMENTÁŘ.


zubrtoma napsal(a)

Ahoj, moc Vám děkuji za rady a pokusy. Daří se mi otevřít pouze soubor od mikesse, od neutra je pravděpodobně v libre office, ten v práci nemám a pro nedostatečná práva ani nemohu nainstalovat, jsem tu už druhý den v kuse, tudíž nemohu ani zkusit doma.


     Ano bylo to provedeno v Libre Office. Udělal jsem to jen ilustračně. Důvody jsou z mé strany nekomentované. Raději to upřesním nyní. Mikess uvedl správné a jednoduché řešení pomocí VLOOKUP. Vy jste ale zmínil také funkci IF. Proto moje řešení spočívalo právě v tom IFS() které je pokročilejší verzí IF() - tu zase AOO neumí. Mělo to být jen ukázkou která demonstruje že to jde. K tomu jsem udělal načítání tabulky z jiného listu a upravil jsem pořadové číslování dne ve sloupci "A".


     Je celkem zřejmé, že taková šablona by měla sloužit celému špitálu a nejen v rámci chirurgie, ale to je ve hvězdách. Zato nejméně Vaše oddělení by mělo používat stejný vzor jak pro sestry, tak pro lékaře a další zdravotnický personál.
     Logicky stačí vzor kde jsou uvedeny všechny varianty které se dají rozpitvat na specializované šablony. Zejména sestry budou mít problém směnového rozdělení na 8 a 7,5 hodiny. U lékařů snadno dojde k souběhu pohotovostí s vlastními službami které podle vzoru může obsahovat až 3 varianty rozdělené ještě na všední dny a víkendy (6 variant).


     Tato neurčitost tabulky pod výkazem zřejmě zastavila mikesse. Prázdné pole v prvním sloupci nelze úspěšně použít více jak v jediném případě a i ten vyžaduje extra dotaz. Proto by všechny hodnoty prvního sloupce "B" měly mít nějaký identifikátor.
     V relaci nejsou jen prázdné buňky, ale také jejich podstata. Aby to fungovalo u pohotovostí, nebo i u náhradního volna a jinde je potřebné vykazovat stejně jako u položek D, N, P a podobně. Tedy rozsah hodin a za ním součet. Zejména u lékařů nastane problém, když tento má svou směnu na oddělení, respektive na sále, a současně pohotovost při výkonu. Jindy může mít pohotovost na pracovišti, ale nikoliv vlastní směnu, nebo je dokonce doma kde je k dispozici.
     Pokud má lékař současně směnu a pohotovost má ve stejný časový úsek přesah dvou položek. Tyto zase mají své vlastní sazby a měly by mít samostatný řádek který lze navolit z tabulky.

     Ve skutečnosti se dají zapsat také ke dni ve kterém je vykonávána služba - jednoduše manuálním připsáním do kolonek "pohotovost". To je sice možné, ale snadno se to přehlédne což se může projevit zejména na výplatě. V takovém případě by opravdu každá pohotovost měla být v samostatném řádku a tento princip by se projevil někdy jako dva řádky stejného dne.
     Proto by to mělo platit shodně pro všechny druhy pohotovostí => každý typ ze 6-ti pohotovostí by měl mít vlastní zadávací kód a tím pádem také rozpad na časy ve všední dny, svátky, noční a nejméně součet z rozpadu (v případě různých sazeb) který by podléhal celkovým součtům za měsíc.


     U sester je zase celkem pochopitelné, že se prolínají dva různé fondy pracovní doby. Toto je docela nepříjemné zejména v případě, že sestry mají povinnost samy vést svou evidenci (pochybuji že to někdo přepisuje z papíru do počítače). Chtělo by to idividiální šablonu na každou zdravotnickou profesi podle fondu pracovní doby - nejen u sester. Tedy šablonu pro sestry na ranních směnách - často musí zaskočit do směn, nebo si protáhnout osmičku na dvanáctku a podobně. Také primář musí občas do služby i když má fond pracovní doby 8 hod (samozřejmě to nikoho nezajímá a navíc se příplatky odvíjí ze základu - každý měsíc podle počtu směn ap.) V nemocnici mohou být lékaři jen na ranní - specialisté kteří dělají část úvazku v ordinaci a část v nemocnici. Týká se to také nižšího zdravotnického personálu - asistentů.
     jednoduše řečeno - každý typ pracovního zařazení a fondu pracovní doby potřebuje specifickou šablonu pro výkaz své práce. Nehovořím o ideálu který by byl reprezentován jako předepsaný plán práce na každou osobu. Každá osoba by vyplnila do plánu skutečně odpracované. Vím jak je to v praxi. Často lidé nevědí ještě 15. dne jak budou sloužit od prvního. Lepe řízená oddělení mají plány práce i 3 měsíce dopředu - ale to je vzhledem k praxi často nereálné.


     Je zřejmé, že ani konkrétní šablona nebude oblíbeným prostředkem už proto že musí balancovat mezi potřebami oddělení, možnostmi personálního pokrytí a také účtárnou pro kterou je vytvořena. Na jedné straně realita - staniční sestry - přepíšu papír na nástěnce a holky si to opíšou, nebo i vzkážou - a je to (nač se zabývat úpravou šablon). Na druhé straně účtárna která by nejradě jediný typ šablony pro všechny. Tolik asi k problematice "vzoru" respektive šablony.
     Přes to existuje možnost generovat individuální měsíční plány práce, které je možné individuálně doplnit o skutečně odpracované hodiny, nebo snadno pozměnit v případě potřeby.


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

Offline

#7 4. 9. 2019 11:13:50

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

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

Tak snad to pomůže. Udělal jsem to v AOO a trochu popsal vzorce nebo také co se s tím dá dělat. Je to zde Výkaz upravený_V1.


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

Offline

#8 4. 9. 2019 19:54:22

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 87

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

Tady je to přes kopírování buněk makrem: https://uloz.to/file/Ruj4idM7vIUz/vykaz-uprava1-kl-ods
Datová tabulka je též zvlášť v listu "data", její případné upravení/rozšíření je možné, akorát pak je třeba do makra správně zadat rozsahy buněk v té tabulce (je to tam popsáno).
V Listu vybrat ve sloupci B hodnotu z rozbalovátka a pak spustit makro z menu VYPLNIT, což nakopíruje data z tabulky (na to se dá navolit případně nějaká klávesová zkratka, popsáno dále).
Zohledňuje se to kopírování dvou řádků, ale testuje to skutečně jen jeden prázdný index (hodnota ve sloupci B) na dalším datovém řádku. Více prázdných řádků s prázdným indexem to nezkopíruje, jen jeden s vybranou hodnotou a k tomu tedy případně navíc jeden s prázdnou buňkou pod hodnotou.
Nedělá si to starosti s různě sloučenými buňkami a nakopíruje je jak jsou sloučené v datové tabulce. Zůstává také zachované formátování (jak máte třeba minuty u hodin horním indexem) a kopíruje se i barevné pozadí buněk. To prostě dělá automaticky kopírovací funkce.
Výhoda oproti vepisování vzorců je ta, že se pak ty hodiny dají upravovat ručně, kdežto ve vzorcích když někdo smázne vzorec a zadá jen ruční hodnotu tak to může být problém. Také když se pak něco do variant přidá jak již zmínil neutr, tak je nutné upravovat vzorce, ale ty někdy mohou být již tak složité, že se v nich dotyčný pořádně nevyzná a nejspíše se nasekají chyby i když se v nich "vyzná" :-).


Když makro nepůjde spustit tak bude asi potřeba snížit úroveň "paranoji" v Nástroje/ Možnosti/ OpenOffice/ Zabezpečení/ Zabezpečení maker (tu cestu mám z LO neb AOO mám jen v EN verzi, tak snad se tam ty nabídky jmenují stejně nebo obdobně).


Ještě mi AOO psalo, že nemá Java Runtime Environment (JRE - běhové prostředí Javy), ale i tak to makro spustit šlo.
AOO jsem nainstaloval portable verzi, ty portable verze lze používat aniž by bylo třeba je instalovat jako admin. Také pak fungují v pohodě paralelně na jednom počítači (jinak používám jen Libre).


Když jsem pro Den 3 zkusil automatizovat spouštění makra aby se spouštělo hned po vybrání rozbalovátka, tak to vypíše že do chráněných buněk nelze kopírovat a nevím jak to udělat aby to kopírovalo. A také nevím, jestli je vhodné to automatické spouštění makra přes fci IF( ISBLANK(buňka);""; makro ).


Kdyžtak návod na makra je zde: https://www.openoffice.cz/navody/makra- … ffice-uvod
A klávesové zkratky se k makrům dají přiřadit přes Nástroje/ Přizpůsobit/ Klávesnice a v Kategorie se proklikat k makru. Článek třeba zde: https://www.openoffice.cz/navody/jak-pr … ozi-format



V Listu jsou ještě upravené maličkosti, jen taková kosmetika. Řádek pod posledním dnem (jako kdyby byl den 32) má též rozbalovátko což je asi zbytečné. Ale vzhledem ke kontrolovanému rozsahu buněk s rozbalovátkem nejde z tohoto rozbalovátka makro spustit.
Řádky 48/49 v Listu "Hodiny celkem & Převod do dalšího měsíce" měly v některých buňkách vložené křížky z čar kresby, tak jsem to upravil na úhlopříčkové ohraničení buněk, neboť v Libre se mi zobrazovaly v původní ukázce rozhozené.

Offline

#9 5. 9. 2019 07:30:49

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

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

pro kamlan :
     Použití maker pro uvedené účely jsem předem zavrhl. Zubrtoma zeřjmě není v pozici ředitele respektive v takové kdy mohl nařídit použití SW. To plyne například z jeho výroku, že nemůže ovlivnit instalaci LO místo AOO.
     Problém se dá čekat na několika záležitostech. Zejména jde asi o instalaci na serveru. Z toho plyne povolení maker a zejména instalace Javy bez které by AOO vždy hlásilo chybu. (Dělá to někdy i LO i když Javu nutně nepotřebuje tak jako AOO.)
     Mám názor, že mnohdy se bude sešit používat pod Excelem. Zde makra fungovat nebudou, ale vzorce ano. Je to běžné. Šéfové mají instalaci Excelu ale personál už nikoliv. Takže bych se něčemu takovému nedivil.


     V použitých makrech vidím potenciální chybu. Když například navolím noční tak se vyplní 2 řádky a v tom druhém zůstává aktivní „Platnost dat". Když ji nějaká sestra omylem otevře a navolí – přepíše se druhý řádek – tedy ten který měl být zachován.
     Zbrtoma požadoval vybarvení do žluta nejen pro přidané řádky bez označení (u Vás jen volba P), ale všechny řádky kdy byl zapsán nějaký výkon. To je samozřejmě detail který lze řešit jinak nežli uvádíte ve svém řešení, ale budiž stačilo by vybarvit všechny indexované položky.


     Docela je zajímavá ta chyba s uzamčenou buňkou. Také se mi nepovedlo najít kde se to dá odstranit. Použil jsem AOO i LO, zaškrtnutí ochrany buňky jsem udělal několikrát po sobě a nastavil – následně zrušil ochranu listu která to má aktivovat. Vypadá to nesmyslně. List ani dokument nejsou uzamčeny. Všechny buňky s roletkou uzamčeny jsou – běžné nikoliv – to se muselo povolit protože implicitně je tam nastaveno uzamčení – AOO i LO stejně. Přes to ta buňka zůstává stále uzamčena. Jde o formát buňky. Takže jsem začal podmíněným formátem a pokračoval.
     Nakonec jsem hledal ve stylech a zjistil velice zajímavou věc. Už první originál od zubrtoma má stránku „data" formátovanou „výchozím stylem", ale druhá je formátovaná jinak – PageStyle_List1.
     Světe div se popis formátu obsahuje hned za specifikacemi odsazení údaj : Popis stránky : Arabsky, + …...... Teoreticky jde o velikou shodu s Vaší specializací a tak by také teoreticky mohla být příčina v tom, že tento formát „PageStyle_List1" načetl při nastavování právě chybu kterou v buňce B18 komentujete.
     Ovšem jen můj dojem – kauzalita nemusí být příčinná zejména proto, že při prvním postnutí se ještě pokusy s makry ze strany zubrtoma nemohly konat a jeho roletka nic takového jako zamčení neukazuje :-)
     U nás v malé nemocnici slouží plno lékařů ze středního východu a nebude to moc odlišné od ostatních nemocnic. Takže v rámci objektivních potřeb se vyskytnou také takové, aby dokumenty měly varianty zejména pro účely osvojení si jazyka. Vypovídá to nejspíš něco o rozsahu takových potřeb nežli čehokoliv jiného.


     Nic není jednodušší nežli celý řádek smazat a chyba je pryč. Jinak kopírováním se formát přenáší. Když kopírujeme bez formátu do nového listu zůstanou jen texty. Zde se pak musí dodělat vše znovu. Takže výhodnější je chybný řádek smazat.


     Pokud tedy zavrhneme makra zbývá vyřešit přidávání řádků na konec. Lze to udělat podobně jak jsem ukazoval. Jen je potřeba přidat za datum 31 vhodný počet řádků, které budou mimo vzorce pro číslování obsahovat ještě podmínku IF((Max(úsek) + 1) > 31;"";Max(úsek)+1). Takže když se číslo někde uprostřed smaže, nebo přepíše na stejnou hodnotu jako má předchozí řádek, otevře se viditelná 31 na dalším řádku. Podle mne by stačil odhad 5-10 řádků. Správně by se měl každý měsíc přepisovat tak aby se blokovalo číslo posledního dne reálného měsíce.

     Celé řešení by mělo být ve formě šablony se kterou se dá už dělat hodně věcí. Například vydávat jednotlivé sešity na osobu, nebo jeden stejný sešit na celé oddělení a podobně. Pomocí maker by šlo podle seznamu generovat přímo vyplněné sešity včetně generálií a na každý měsíc roku přesně na míru – tedy včetně svátků.


     V minulosti jsem se zabýval podobnou věcí (šablonou plánovacího kalendáře s obsahem různých pracovních rozvrhů) a tak jsem hledal – ale bez úspěchu. Je to už pár let. Ale podíval jsem se na internetové zdroje kalendářů. Je jich dokonce více a „validnější" nežli v té době kdy jsem s tím pracoval. Já se tomu ale nemohu věnovat – dělám dost rozsáhlý projekt a jen tak bez poptávky je nesmyslné vůbec začít. Je to ale práce nejvýše tak na tři dny když to přeženu.


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

Offline

#10 5. 9. 2019 12:30:04

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 87

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

neutr: Mě to přišlo divný když jste to navzorcoval bez náznaku makra a říkal jsem si proč asi to máte bez makra. Je fakt že já o používání v podstatě čehokoliv ve stylu server-klienti nevím vůbec nic a na všechno hledím v podstatě z toho jak by se to vyřešilo oflajn. A že by klidně mohla nastat odůvodněná varianta, že na to půjde možná i někdo v Excelu mě fakt nenapadla :-).


To podbarvení vskutku bylo myšleno tak, že si lze jednotlivé položky obarvit v té datové tabulce a podle toho se to překopíruje. To případné přepsání již vyplněného následujícího řádku při výběru dvouřádkové varianty jsem neošetřoval, bral jsem to spíše jen jako prvotní ukázku. Ale to se tam dá kdyžtak dodělat. Stejně jako ta deaktivace nějakého toho rozbalovátka. Taky by se klidně dalo dodělat nějaké makro které by do Listu vložilo do těch buněk ve sloupci B rozbalovátka s indexy z datové tabulky, aby se to nemuselo při změně té datové tabulky předělávat ručně.
Ale to je všechno prostě na makra, to fakt na vzorce není.


Ono nevýhodu těch vzorců však stále vidím v tom, když se do toho prostě zasáhne ručně. Např. pro den 1 (sloupec C, Odpracováno Od) to podle vzorce vloží třeba 6 00, ale jistě se může stát, že prostě nastane nějaká situace a práce bude až od 10 00 a někdo tam prostě ručně zadá 10 00, čímž se vzorec smázne. Pak třeba někdo na další měsíc udělá kopii z tohohle listu a už to tam bude bez vzorce, při zadávání si toho, že se to nevyplní nebo vyplní špatně, někdo nemusí všimnout a bude tam chyba. Ještě horší by bylo kdyby to někdo upravil v té datové tabulce aby mu to pro daný List vyšlo a neuvědomil si, že by se to mohlo změnit pro více Listů a byla by spíše katastrofa.
Jako čistá automatika se vzorci a tedy pro neruční zasahování to myslím vyhovovat nebude, neb nějaké vyjímky proč zrovna nejdou použít předvolené tabulkové údaje jistě budou.


Ono je tam i docela pěkné to formátování minut jako horního indexu nebo to sloučení buněk a vycentrování popisků ("dovolená" apod.). Prostě to vypadá lépe než jen stále stejný text v tabulce a to vzorce taky neumožní. 


Co se týká té arabštiny, tak to je pro mě jakožto silného zájemce o arabštinu potěšující :-), ale nikdy by mě nenapadlo, že zaplé CTL (Komplexní rozvržení textu) třeba trochu pozmění Styly a to by třeba mohlo bránit nějakému vzorci ve vepisování hodnot. Nicméně co se týká takových mých "lidských zkušeností" tak nejspíše bude platit, že jak je někde arabština, tak tam něco na styl "spokojeného síťování v hierarchii" (spokojenýServer(šéf)&spokojeníKlienti(podřízení)) nikdy fungovat nebude, ba možná právě naopak v tom bude čím dál větší bučus a nespokojenost na mnoha stranách.


Do AOO jsem zkoušel "přidat" i oflajn JRE ale nevzalo mi to, možná to bude chtít 32b verzi JRE. Taky to portable AOO trvá docela dlouho než se vzpamatuje z hlášky že nemá JRE a začne fungovat normálně. Na pomalejším počítačí by to mohl být možná problém.


Takže kdyby zubrtomovi šly a vyhovovaly makra, dalo by se třeba udělat lecos - byť jak již bylo zmíněno i s těmi makry to může napáchat škody, když se do toho zasáhne nějak nečekaně. Něco se sice dá programátorsky ošetřit, ale podstata bude nejspíš taková, že to makry může vyhovovat tomu, koho ten program prostě baví a kdo s tím chce dělat a naučí se to ovládat správně; pro ty kteří k tomu budou pouze nuceni a bude jim nařízeno/napokynováno něco ve stylu "když tohle tak klikneš sem atd." to nikdy dobře fungovat nebude a možná ani nemůže. Nakonec možná zubrtomovi nezbyde než to prostě vyplňovat asi jako doteď přes Ctrl+CV z datové tabulky nebo ručně.

Offline

#11 5. 9. 2019 13:59:42

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

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

pro kamlan :
     Ono není tak úplně jisté co zubrtoma potřebuje. To že to budou zapisovat sestry nebo lékaři je jedna věc. Vím že je to běžná praxe. Ale ty vzorce mohou vytvořit předpis směn - plán "fárání" který určuje primariát, respektive u sester vrchní, nebo staniční (podle struktury). Lékaři jsou spíš jako otroci a zřejmě jim stačí dny volna. běžně slouží 48 hodin a pracovní dobu mají jen v "ordinacích". Mám dojem že se musí sami domluvit - ale jde o jaké služby, oddělení + ordinace .. jde.
     Plno lékařů pracuje na částečné úvazky i na několika místech a ve špitále jsou pravidelně asi jen ti kteří se ucházejí o atestaci, nebo mají ordinace s minoritní časovou náročností a dělají do toho sem tam šichtu která se dá naplánovat.


     Takže je celkem jisté, že zapisují většinou do Excelu který má s bídou hlavičku a dni v měsíci. Ony i roletky jsou náročné na pamatování a když "externista" rozbalí nabídku zkratek z roletky a nevidí hned co to znamená tak to nejspíš naseká jak do receptu třeba 7.00 - 18.30 a je mu jedno do jakého sloupce to vloží. Pak to někdo musí "doladit".
     Proto moc výrazů je jistě kontraproduktivní. Potom je třeba udělat specializované nabídky lékařům, směnovým sestrám, raňákům a podobně. Tak aby každému vyskočily jenom jeho zkratky. Je to řešitelné pomocí přihlášení se.


     Pokud bude potřebné mít jediný sešit pro více lidí - bude to oddělení - např. 1. směna ze čtyř. Všechny jiné nežli sesterské kódy se skryjí. Takže něco takového řešit má cenu až když existuje explicitní zadání. Já mám bohaté zkušenosti s tím když nabízím více, nežli je požadováno. Většinou to nikam nevede. V tomto případě to vypadá jako kdyby měl zubrtoma osobní zájem a chtěl ukázat možnosti. Věřím, že ho za to nikdo nepochválí. Stále platí že aktivní ..... je horší než třídní nepřítel. Já bych mohl povídat :-)
     Obecně mám za to, že předpis směn by tam měl být před začátkem měsíce. Skutečnou dobu potom je možné upravit přepsáním vzorce. Zdrojová tabulka by měla být uzamčena na listu bez přístupu pracovníků - jenom se čte. Tak jak je to uděláno (nevím jestli Vy nebo zubrtoma) je z pohledu bezpečnosti nesprávně. Uzamkne se list každého pracovníka aby to nemohl nikdo přepsat a měl by být skrytý, respektive stačí skrýt vzorce v předvolbě (viděl jsem buňky odemčené tak že se do nich dá psát i při zamčeném sešitě).
     Každý list může mít vlastní heslo takže to by byla starost příslušného nadřízeného. Je ale možné dát každému vlastní sešit a zamknout úplně (ochran je více druhů - pro Calc 3). Pokud by měl mít každý pracovník samostatný sešit - bylo by na místě použít Writer a tam je ochran více možností.


     Nicméně to vidím tak, že když se dnes píše růčo je i malé zautomatizování v podobě roletky výrazným vylepšením. Mám dojem že se do ničeho většího zubrtoma nepustí jedině v případě požehnání shora. Ale dá se tušit že to šéf přejde kyselým úšklebkem a je to bez komentáře zasulcováno.


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

Offline

#12 17. 9. 2019 21:00:13

mikess
Člen
Registrace: 29. 9. 2008
Příspěvků: 10

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

Ahoj, tady posílám další verzi upravené tabulky. Nad první den jsem přidal ještě jeden řádek pro nastavení noční z posledního dne předešlého měsíce. Žluté pruhy jsou zatím jen u dnů 1-3, ale nevím jak k nim dostat ten text bez použití makra.

zde je ten soubor: https://uloz.to/file/8I5EfdWw05Ot/vykaz-uprava-2-ods

Offline

#13 Včera 06:01:08

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

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

mikess napsal(a)

Ahoj, tady posílám další verzi upravené tabulky. Nad první den jsem přidal ještě jeden řádek pro nastavení noční z posledního dne předešlého měsíce. Žluté pruhy jsou zatím jen u dnů 1-3, ale nevím jak k nim dostat ten text bez použití makra.

zde je ten soubor: https://uloz.to/file/8I5EfdWw05Ot/vykaz-uprava-2-ods

     Je to snadné - tedy stejné jako v buňkách sloupců C,D a E. Jen musíte upravit pole ve vzorci tak že úsek $B$61:$E$70 rozšíříte nejméně na $B$61:$Q$70 (správně až do $B$61:$V$70) a zadáte 16. sloupec tedy takto :

=IF(B16="N";$C$63;IF(B16="P";"";IF($B17="";"";VLOOKUP($B17;$B$61:$V$70;16;FALSE()))))

     Ovšem dík nešťastnému podmíněnému formátování (obsah buněk pod žlutou barvou je centrovaný) by se měl uvedený vzorec vložit do buňky ve sloupci "T". (U libre Office nelze zobrazit podmínky - alespoň ne u mne na LO 6.3 - 64 bitů - u Apache OpenOffice kterou používá autor je to v pohodě.)
     Je toho ale více. Například zubrtoma požaduje podbarvení celých řádků kde je nejaký zápis a vzorce by měly být v každé buňce formuláře kde je pracovní den.


     Šlo by udělat mnoho jednoduchých vylepšení jako je pomocný sloupec s názvem dne v týdnu podle kterého by se nastavovaly sazby příplatků a který by se vyplňoval pomocí "Automatického vyplňování dat podle sousedících buněk" (v LibreOffice "Řazené seznamy"). Šlo by tak podbarvovat i jinými barvami například víkendy, nebo stanovit sazbu příplatků (pevnou, nebo alikvótní) ap.


     Problém s "prázdnými" řádky není řešen takže na konci měsíce může dojít počet dnů a podobně. Jenže původní autor asi už ztratil zájem takže vidím efekt spíš jen v tom Vašem zájmu dopracovat docházku k dokonalosti. Může to motivovat jiného uživatele.


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

Offline

#14 Včera 10:43:04

mikess
Člen
Registrace: 29. 9. 2008
Příspěvků: 10

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

pro neutr:
Tento vzorec mě taky napadl, ale nevěděl jsem, zda by tam Zubtoma nechtěl vložit něco dalšího. Ještě jsem zkoušel najít, zda není vzorec na to, aby v jedné buňce (např. B3) bylo napsáno do buňky F4 napiš "něco" a v buňce F4 to "něco" bylo vidět.

Na tom sloupečku na přidání dne v týdnu jsem také přemýšlel, ale nechtěl nijak upravovat strukturu původní tabulky.

Já jsem "prázdné řádky" pochopil tak, že tím prázdným řádkem bude další den a ne úplně prázdný řádek a o tento řádek posunuté datum.

Offline

#15 Včera 15:16:45

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

Re: Jak vyplnit tabulku dle kriteria v prvním sloupci dle druhé tabulky

mikess napsal(a)

pro neutr:
A) - Tento vzorec mě taky napadl, ale nevěděl jsem, zda by tam Zubtoma nechtěl vložit něco dalšího.
B) - Ještě jsem zkoušel najít, zda není vzorec na to, aby v jedné buňce (např. B3) bylo napsáno do buňky F4 napiš "něco" a v buňce F4 to "něco" bylo vidět.
C) - Na tom sloupečku na přidání dne v týdnu jsem také přemýšlel, ale nechtěl nijak upravovat strukturu původní tabulky.
D) - Já jsem "prázdné řádky" pochopil tak, že tím prázdným řádkem bude další den a ne úplně prázdný řádek a o tento řádek posunuté datum.

     ad B) a C) asi nějak nechápu co byste tam chtěl uvádět. Když zadáme něco do B3 tak se tam zalomí údaj z buňky A3. To by šlo pokud by sloupec A byl dost široký na obsah textu z buňky A3. V buňce F4 může být vzorec který bude reagovat na obsah jakékoliv jiné buňky. Klidně třeba A4. Písmo v A4 může dostat barvu podkladu (bílou) a tím se zneviditelní jestli jde o tohle.
     Celkem by to bylo do F4 jaksi pochybné, ale podobný údaj by se hodil pro vzorce které by mohly taktovat například vzorec pro určení dnů v týdnu respektive jen například "svátků" protože dny v týdnu lze navolit jako formátovaný údaj hned několika způsoby. Buď do dvou sloupců, nebo do jediného (za předpokladu že se údaj "za měsíc :" dá do jiné buňky a vlastní měsíc do roletky výběru).
     Formát čísla dne lze také upravit pomocí "vlastního formátu čísel" například na DD.MM." "NNN výsledek je celý název dne v týdnu. Pokud zadáme formát DD.MM." "NN - dostaneme jen dvě první písmena názvu dne. Když zadáme formát což v případě vzoru ukáže nějaký nesmysl, který se musí přímo v buňce přepsat na "01.01. pondělí" nebo lépe v editačním řádku na 1.1.2018 - den se pak načte automaticky sám i když se rok v buňce  nezobrazuje. Roztažením za růžek dostaneme :
01.01. pondělí (formát DD.MM." "NNN)
02.01. úterý   (formát DD.MM." "NNN)
03.01. st      (formát DD.MM." "NN)
04.01. čt      (formát DD.MM." "NN)
05.01. pá      (formát DD.MM." "NN)
06.01. so      (formát DD.MM." "NN)
......
.....
....
     Vidíme že formát (DD.MM." "NN) je asi výhodnější. Můžeme z toho odvodit podmíněný formát například do pomocného sloupce a "zneviditelnit ho". K tomu stačí vzorec =WEEKDAY(A17;2) který vrátí jedničku jako pondělí. Když bude bílá tak na ni bude podmníněný formát reagovat a uživatel nic neuvidí. Ale možností je určitě více a lze si vymyslet vlastní řešení na několik způsobů.


ad C) - výše jsem uvedl řešení do jediné buňky pomocí formátovaného čísla na "datum". Lze to ještě upravit jen na číslo pomocí formátu datum na "DD." - s tím že v příkazovém řádku nastartujeme na celé datum (v našem případě 01.01.2018). A vzorce =WEEKDAY(A17;2) fungují stejně dobře. Úplně stejně jako kdyby tam bylo celé datum (pozor musí to být formátované číslo - nikoliv textová forma).
     Úplně stejně funguje vzorec =IF(MOD(A17-1;7)=0;7;MOD(A17-1;7)) ale u AOO to podmíněný formát nevezme stejně jako WEEKDAY. Proto se musí odkázat na pomocný sloupec a číslo například takto "Y22=6". To funguje ale už to nechce pobrat podmínku z logiky OR. Takže docela je malér s malým počtem podmínek abychom mohli pokrýt 1). 1 až 2 svátky [červeně], 2). pátek + víkend [modře], 3) odpracovaný den [žlutě].
     Svátky by se mohly načítat z roletky v buňkách A4 a A5 (nejvíc 2 placené svátky v měsíci). Problém je v tom, že dva svátky načíst vyžaduje úpravu v pomocném sloupci. Podobný problém je s odpracovanými víkenky a pátky které by se měly oblišit do zelené (nebo jiné) barvy - tedy už v pořadí čtvrté. Tohle AOO nedává (LO ano - bez problémů a bez omezení počtu podmínek).
     Kdysi jsem s tím urputně bojoval a nějaké lepší výsledky jsem měl. Přes to zvítězil většinou jeden jednoduchý vzorec s odkazem na pomocný sloupec (řádek) kde jsem zahrnul vzorec s podmínkou ">" (a někdy neviditelně). Tedy první podmínka od největší hodnoty a další k menší hodnotě stejným vzorcem jen menší hodnotou. Dnes to už neřeším - pracuji většinou v LO kde takové triky nejsou potřebné.


ad D) - To jsme pochopili správně - já jsem to řešil ve svém posledním vzoru. Nevím jak Vy ale asi jste chtěl vybavit číslování dnů pomocí =Ax + 1 s tím že se manuálně přepíše startovací datum. To jste ale neuváděl - takže jen můj dojem.
     Přes to jde o údaj který se vztahuje k předešlému dni a jako jediný výkon v tom dni by to nevadilo. Vadilo by to až v případě když by například doma musel pracovník konat například pohotovost, nebo když by se vešel nástupem do práce po minimální pauze 8 (respektive 12) hodin. Například do 8.00 po noční a od 20.00 znovu jiná směna. Znám případ ostrahy objektu - strážní se střídají ve 4 ráno! nevím jak toto evidují ale dávají těm chlapům zabrat a za to minimální mzdu :-(


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

Offline

Zápatí