Zdravím
Rád bych našel nějakou funkci, která porovná dva sešity v .ods a dle nalezených/nenalezených buněk upraví nový sešit. Pokoušel jsem se to řešit pomocí vlookup, ale není to ideální, tak zjišťuji, zda to nejde udělat elegantněji.
Omlouvám se, ale musím problém vypsat podrobněji, takže to bude delší:
- Mám databázi, do které různí lidé zapisují a odepisují zakázky. Počet položek se většinou pohybuje kolem 100 a v týdnu se cca 50% změní (vyrobené zakázky z databáze po expedici zmizí a při zadání se zapíší nové zakázky) Jednou týdně tuto databázi vyexportuji do excelu (export ihned do OpenOffice není možný). Pk musím anuálně smazat zakázky, které již mají datum ve sloupci s termínem ukončení a přehážu řádky, protože při exportu začínají zakázky dílnou 3 a končí dílnou 1 a já to potřebuji naopak. Pak vložím tabulku do listu vstup v novém sešitu OpenOffice a v listu výstup dostanu data upravené po smazání mezer (Pomocí TRIM).
- V novém listu výstup v .ods, mám přidány vlastní sloupce na konci tabulky, jež označují stav výroby. Tento dokument vytisknu, dám na jednotlivé pracoviště a pracovník, když zakázku vyrobí, ji odškrtne. Já si jednou týdně ty papíry sesbírám a do jednoho dokumentu zaškrtnu všechny křížky.
Právě v tom zaškrtávání je problém. Mám dokument z minulého týdne, kde manuálně dle výpisů doplním zaškrtané zakázky. Pak si vyexportuji nový dokument, upravím jej dle informací výše. Nyní mám tedy stejné dva sešity a to sešit z minulého týdne a aktuální. V sešitu z minulého týdne mám zakázky a u nich označen jejich stav. V novém mám jen zakázky (které se ale o cca 50% změnily oproti minulému týdnu) a nyní musím vzít první buňku v nové tabulce, kde je číslo zakázky a to manuálně hledat napříč celou tabulkou z minulého týdne. Když ji nenajdu, pravděpodobně je to nová zakázka a tudíž se na ní ještě nepracovalo, takže políčka nechávám nezaškrtnuté. Když ale zakázku najdu, kouknu zda a které políčka označující výrobní dílnu, jsou zaškrtnuté a stejné zaškrtnu v novém dokumentu, aby dílna věděla, že na ní už pracovat nemusí.
Je to pracné, stávají se chyby a podobně, takže jsem hledal nástroj, který to zautomatizuje a vyřešil to vlookupem. Dokumenty vždy označuji číslem týdne, takže nejdříve se dostanu do stadia, kdy mám upravený dokument z nového týdne. Pak dokument z minulého týdne přejměnuji na old.ods. V novém dokumentu je v políčku jednotlivé dílny vzorec s vlookupem, který se právě kouká do dokumentu old.ods, hledá číslo zakázky a zaškrtává. Jenže mám problém, že když ten řádek se zakázkou v minulém týdnu nenajde (zakázka nebyla zadána), tak by měl nechat prázdné políčko. On ale vypíše chybovou hlášku. Zkoušel jsem to ošetřit pomocí IF, ale nepřišel jsem na to jak (dělá mi problémy i ten TRIM, který maže mezery, protože pole pak není prázdné, ale vždy je tam nějaký vzorec). Dále je tam ten mezikrok s přejmenováváním na old.ods, tak jsem uvažoval, ať si vyhledává v dokumentu, který je pojmenován podle čísla minulého týdne, ale na to jsem také nepřišel. V neposlední řadě, vlookup, když dám odkazovat na jiný sešit, tak si vypisuje celou cestu, takže když se změní složka, zase to nefunguje.
Dokumenty ve stavu, jak to mám nyní, přikládám, ať se když tak lze kouknout, protože ten popis problému není asi nic moc.
Dokument nový: http://uloz.to/xjnmWNrC/29-ods
Dokument starý: http://uloz.to/xzPZVKwJ/old-ods
Děkuji za pomoc
Editoval Gooorila (22. 7. 2014 09:23:24)