|
A) Ukázky špatných formulací (laxní zadání)
"v Excelu potřebuju najít nějakou funkci, která..."
"kam mám umístit makro a tlačítko pro něj, aby bylo dostupné..."
Microsoft Excel existuje v mnoha verzích (..., 97, 2000, 2001(XP), 2003, 2007, 2010, občas také označovány jako Excel 8, 9, 10, 11, 12 a 14) a jazykových mutacích/lokalizacích (EN, CZ a přirozeně další). Slovenští uživatelé tak nemají před sebou list Excelu, ale hárok a názvy funkcí listu jsou pro ně běžně v angličtině. Nemusím tedy zdůraznovat, kam tím mířím, viďte... Funkce listu v průběhu času přibývaly a méně či více se měnil i objektový model VBA. Excel 2007 pak pohřbil známé panely nástrojů a přišel s Pásem karet (Ribbonem). Další hřištěm Microsoftu jsou 64bitové verze Excelu. Uvědomte si to, až budete chtít poradit s tím vaším Excelem. Má-li být řešení navíc funkční pro kolegy v práci i doma, zjistěte, jaké verze používají. Každý software má pochopitelně i své chyby a tak vycházejí servisní balíčky (Excel 2003 SP3, Excel 2007 SP2, Excel 2010 SP1, ...).
Řadu problémů ovlivňuje způsob zacházení se sešity. Patří sem témata sdílení, práv na serveru, rychlost připojení, potřeba práce v reálném čase, oprávnění pro přístup do databáze atd.
Uvádějte, pokud pro vás nejsou řešením makra VBA, resp. doplněk (XLA, DLL, doplňky COM) a vyžadujete řešení pouhými funkcemi na listu. Samozřejmě se můžete dočkat odpovědi "bez VBA to nejde".
Počítejte s tím, že VBA není bezpečné místo pro ukládání hesel, připojení do databází apod. a bohužel pro programátory není ani dobře chráněno proti vykrádání a zneužití know-how. Stejně tak zabezpečení listu heslem stojí za starou bačkoru. Jediná silnější ochrana je v samotném zaheslování/šifrování sešitu Excelu.
B) Ukázky špatných formulací (3. osoba, střední rod, české "ono se to potento, ono se to udělá")
"tak to vždy vzalo tu první hodnotu a dosadilo to do všech 3 řádků"
"v Excelu 2010 to vysype hlášky místo hodnot, teď si nepamatuju jaký hlášky, ale nenapadá někoho, co je třeba zapnout, aby to fungovalo jak má"
Daný úkon, operaci vykonává buď člověk (ručním vstupem, zásahem) nebo se tak děje automaticky (na základě nějaké události). Automatizaci zajišťuje zpravidla naplánovaná úloha ve Windows, skripty (určitě si ještě pamatujete na BAT, CMD, VBS) nebo makro VBA. Data se mohou dostat do Excelu různými cestami (import dat ze souboru, ODBC a jiné databázové přístupy, přímé načítání přes (sériový) port z nějakého měřicího zařízení, ze čtečky, mobilního telefonu, prostřednictvím technologie jako je Real Time Data nebo webová služba, ...). Impulsem pro spuštění úlohy je buď časový údaj sám o sobě, předchozí ukončená úloha nebo uživatelský vstup (výjimka v procesu, potřeba administrace, opravy, restartování apod.).
Jestliže máte při formulaci zadání nutkání používat "aby se to", "se to převede a pak", "musí se to", pak to ve výsledku může znamenat dohady mezi vámi a dodavatelem řešení o náklady na vícepráce. Navíc to vypovídá o neznalosti procesního modelu (kdo, co, jak, kdy, co se stane když, ...). Procesní a vývojové diagramy nejsou zdaleka minulostí!
Každý, i když zdánlivě drobný požadavek na změnu bude o to víc fatální, čím později zazní od vyhlášení původního zadání.
C) Ukázky špatných formulací (úzký pohled na věc)
"mám 10 souborů CSV ale nějak je nedokážu otevřít v Excelu a vyexportovat jako samostatné sešity"
"chci si v Excelu evidovat vystavené faktury, můžete mi doporučit nějakou šablonu?"
"udělal jsem si v Excelu formulář, který plním daty, ale po tisku vypadá jinak..."
V prvním případě si tazatel asi nepoložil vícero otázek. Jaký to má smysl. K čemu zde vlastně Excel slouží? Excel je v daném případě prostředník - něco je na vstupu a něco má být na výstupu. Je v požadované formě vstup? Setkávám se v drtivé většině s tím, že zadavatel "nemůže" vstup nijak ovlivnit (musel by se obrátit na IT, na jinou pobočku společnosti atd.). Věřím tomu, že často ovšem stačí jen napsat kolegovi přes ICQ nebo zvednout telefon. Ve výsledku pak pětiminutový zásah do SQL dotazu může vyřešit korektní výstup ze systému/vstup pro Excel, zatímco následné řešení VBA ošetřující vstupy by zabralo několik hodin.
Druhá formulace patří k těm nejděsivějším, které znám a cítím z ní velký programátorský průšvih. Proč? Z praxe vím, že takový dotaz neskončí přeposláním šablony. Uživatel bude chtít fakturu plnit daty klientů (adresy, DIČ, kontaktní osoby atd., což směřuje k databázi) a vyřešit číslování. Zjistí, že faktury mají své objednávky a dodací listy. Nakonec přijde sklad. Excel je dejme tomu nástroj pro finanční analýzu, ale NENÍ VHODNÝ jako účetní - nebo, chcete-li ekonomický - software.
Excel může vcelku slušně sloužit jako úložiště dat v rozsahu dejme tomu deseti tisíc řádků. Nechtějte ale po datech v jeho sešitech a listech relační vazby nebo OLAP. Posloupnost složka-sešit-list-sloupec ukazuje maximální hloubku členění dat. ODBC, ADO, DAO, Microsoft Jet a další technologie a pojmy pro získávání dat z Excelu jsou dosti omezené. Hlavním problémem je prakticky nemožnost řídit datové typy sloupců na listech Excelu sloužící jako zdroj dat (viz IMEX a další prapodivnosti).
Excel není textový editor s bohatými možnostmi jako Word (ani ten není zrovna šampion v udržení si rozvržení grafiky a textu na monitoru a tiskárně). V buňkách Excelu špatně uřídíte zalamování dlouhých textů, kromě toho s nimi budou mít problém i textové funkce. Při vytváření komplikovaného formuláře (tedy tiskopisu) strávíte řadu hodin a nakonec dospějte k tomu, že buňkový "rastr" je nutné mít ještě jemnější a musíte znovu sloučit buňky (typicky vkládaný sloupec). Přetékání obsahu mezi stránkami a vůbec problematika stránkování může být také v Excelu neřešitelná (ale ani Word není ideální). Přesto platí jednoduché pravidlo - šablony (DOT) zpracujte ve Wordu a plňte je informacemi z Excelu buď prostřednictvím Hromadné korespondence, nebo využijte záložky (Bookmarks), resp. vlastní proměnné (Custom Document Properties) a pole. Celé tabulky pak můžete vkládat i jako objekty. Úzký pohled na věc je otázka zkušeností.
D) Ukázky špatných formulací (chování)
"Mám seznam čísel, chci vrácet... Bude to dnes? Jinak je mi to k ničemu."
"To tu fakt nikdo neví jak na to borci?"
"Pro tebe to bude určitě hračka. Dík"
"Vaším úkolem je zpracovat vzorec, který vyhledá..."
"Dobrý den, vím, že jsem na Excel tupá a proto bych Vás moc chtěla poprosit..."
Je dobré uvést čas, ve kterém musíte úlohu mít lidově řečeno z krku. Uvědomte si ale, že za písemným projevem si čtenář může představit jakéhokoliv uživatele i "tón", jakým byl dotaz podán.
Předmětem zdejšího fóra ani mou náplní práce není řešit pravidelně domácí úlohy studentů. Zkuste si domluvit doučování, jeho formu a odpovídající ohodnocení.
Každý umíme něco a není potřeba se shazovat. Ani ten, kdo odpovídá (radí, dodává řešení) není pánbůh a může se od tazatele i něčemu naučit. Ponechme prosím stranou i tituly a bavme se k věci.
Pokud se vám někdo snaží pomoci, pak to zpravidla dělá ve svém volném čase a jediným jeho ohodnocením je slovo "děkuji". Je si vědom toho, že potřebujete pomoci a nepředpokládá finanční obnos za řešení. Není neslušností si ale o odměnu říci, obzvláště, pokud jeho práce přesahuje řekněme půlhodinu nebo se jedná o pozdní večerní dobu. Stejně tak nemusíte čekat, jestli si "o něco řekne", nabídněte kupříkladu protislužbu. Pamatujte i na to, že na druhé straně je člověk, má své koníčky, radosti i strasti, rodinu a bydlí možná kousek od vás. Není to (alespoň v našich poměrech) někdo, kdo se z nudy prochází po internetu nebo člověk, který si něco potřebuje dokázat nebo zchladit žáhu na "hloupých uživatelích".
Buďte trpěliví při zodpovídání dotazů, které si ověřují vaše zadání. V dané problematice se možná cítíte jako ryba ve vodě, ale nepředpokládejte to o druhé straně. Dokonce to ani nemusí být nutné. Naopak, využijte toho, že je jí téma cizí a má nad věcí nadhled, zatímco vy se v problému utápíte týdny a měsíce. Může vás přivést na myšlenku, která vás ani nenapadla.
Závěrem
Způsob komunikace mezi vámi coby "objednatelem" a "dodavatelem" si jistě už najdete sami (e-mail, chat, messenger, telefon, osobní schůzka). Samotné zadání a jeho řešení (hardwarové nároky, potřebný software a licence, časový průběh, procesní model, odpovědné osoby, ...) je rovněž v případě dlouhodobé spolupráce dobré podchytit konceptem, schváleným oběma stranami. To již ale nespadá do obsahu tohoto článku, nýbrž do oblasti práva a obchodních vztahů.
Kam s dotazem:
viz levý sloupec a oddíl Pohotovost Excel
kontaktní formulář
fórum Excelplus.NET
Petr Pecháček,
administrátor a vývojář Excelplus.NET
|