Excel všemohoucí

11. 06. 2023 Petr Opletal

Na co všechno používáme Excel? Je to dobře nebo tady něco nehraje? Dává smysl řídit v tabulkovém procesoru zakázky, výrobu či projekt? Jaké jsou alternativy?

Excel všemohoucí

Jsem vyděšený záplavou doporučení, jak "lépe" zacházet s Excelem. Či spíše realitou, ve které se v něm vytvářejí "tabulky", které by měly být realizovány jinak. Když s ním zápasí lidé, kteří k tomu nemají předpoklady/dovednosti. Opravdu se mají učit ať už základy či pokročilé možnosti bez toho, aniž by jim někdo pomohl vyhodnotit, k čemu z jejich práce je tabulkový procesor vhodný a následně jaké konkrétní techniky by měli zvládnout?

  • Nadužívání tabulkového procesoru je příznakem nedostatku procesů. K tomu vám rádi řekneme mnohem víc.
  • Technologie se vyvíjejí. Doporučení zní - převeďte všechna svá "udělátka" na Power Platform (viz "...lépe, rychleji a radostněji..." z MS Build-u). S tím vám můžeme pomoci.

K čemu je a není Excel dobrý?

Ptejme se, kdo a jak by měl používat tabulkový procesor.

  • Je rozumné jej používat na správu zakázek / řízení výroby?
  • Proč by si měl "pro sebe" vytvářet "nástroj" běžný (pro vývoj funkčnosti nekvalifikovaný) uživatel? Bez zadání? Jak dlouho se bude učit, co by měl v takovém případě umět? Jak zjistí, co je optimální úroveň?
  • Čím řešit obdobné potřeby? Kde najít korektní doporučení (analýzu). Jak získat relevantní podporu? Co všechno by se mělo vyjasnit, než začnete vytvářet "udělátko".

Tabulkový procesor je bezpochyby naprosto skvělý nástroj. Když se používá k tomu, k čemuje určen. Na většinu toho, co v něm dnes děláte, existují mnohem vhodnější systémy. Je však pravda, že jejich použití je náročnější.

Všechny evidence začínají jako tabulka

Což je v pořádku. Dokud se to, co chcete sledovat, vejde do jediné tabulky a pro vaši osobní potřebu stačí vestavěná funkčnost. Příklady "evidencí" (aneb co byste v Excelu rozhodně mít neměli):

  • Výkaz práce.
  • Evidence úkolů.
  • Kontroly.
  • Požadavky na změny / rozvoj / ....
  • Nedejbože cestovní příkazy / vyúčtování.
  • Nabídky (i když tomu říkáte zakázkové kalkulace).
  • Strategické faktory úspěchu (rizika, příležitosti, ...).
  • Existují i pokusy řídit pomocí (padesáti či více rádoby provázaných) tabulek zakázkovou výrobu včetně spotřeby materiálu a vytížení kapacit.
  • ... nebo se podívejte do svých počítačů. 😎

Vytvořit si základ toho, co potřebujete zpracovávat (zadávat, vyhodnocovat či později sdílet s někým jiným) v tabulkovém procesoru - modelovat, co všechno by to mělo umět, vyjasnit, jaké údaje budou potřeba, testovat - je naprosto správně. Ale nesmí se to začít používat v provozu. Už se toho nezbavíte.

Kdy jej zakázat

Zní to dramaticky. Je to myšleno smrtelně vážně. Podloženo několika desítkami  let zkušeností. Je rozumné si v tabulkovém procesoru agendu "naznačit". Vytvořit základní struktury. Ale bez jakékoli funkčnosti (popř. s něčím velmi minimalistickým, pokud je nutno ověřit nějaký "výpočet"). Všechny transformace dat se dají dělat ručně. Není dobrý nápad zkoušet to "v praxi". Pro ověření musí stačit. Žádná skutečně užitečná agenda (několik propojených tabulek, do kterých používáním přibývají záznamy) není tak jednoduchá, aby tabulkový procesor byl správným nástrojem.

Takže jakmile se v tabulce objeví multiplicity či nutnost ji provázat s jinými tabulkami (což nastává prakticky vždy), neřku-li pokud zaznamenávaná data potřebujeme propojit s "kmenovými" daty - zaměstnanci, zákazníky, zakázkami, produkty, ... nebo navzájem, tak se tato modelová tabulka musí zakázat. Nejen její rozšiřování, ale i  její používání. V tomto okamžiku je již nutné mít náhradu. Korektní řešení.

To fakticky znamená již při vzniku prvotní tabulky začít souběžně hledat odpovídající technologii. Výrazně tomu pomůže, pokud dokážete spolupracovat s člověkem, který se orientuje v "architektuře" (dat, systémů, funkčnosti, procesů) a má k dispozici návrhové vzory (standardní koncepty). Opravdu není potřeba vymýšlet kolo pořád dokola. 

  • Primární tabulkou se ověří skutečná podoba potřeb (struktura dat, která vstupují do zpracování) a identifikují souvislosti.
  • Občas se ukáže, že potřebný nástroj již k dispozici je, jenom nikoho nenapadlo jej použít. Naprostou většinu běžných požadavků kryje standardní funkčnost existujících aplikací (stačí mít dobře zmapované potřeby a znát skutečné možnosti technologií).
  • Vždy zjistíte, že původní představa byla výrazně neúplná. Po potřebné analýze / specifikaci (pro formulaci a analýzu požadavků také potřebujete výše zmíněného architekta) se použijí nejvhodnější technologie, které pokryjí funkčnost navrženou pro první fázi využití a zajistí možnost dalšího rozšiřování / rozvoje / migrace.

Nestačily by lepší dovednosti uživatelů?

Chceme mít jasno v tom, co by měl běžný uživatel ovládat z pokročilé funkčnosti, jakou roli má mít vedoucí jeho týmu a jakou IT specialisté (nejde jen o Excel, ale o všechny kancelářské aplikace, popř. IT celkově).

Není sporu o tom, že lidé, kteří mají tabulkový procesor používat, se s ním musí naučit efektivně zacházet. To platí pro všechny aplikace a nástroje. 

  • Klávesové zkratky.
  • Hromadné operace - např. v Excelu zadat hodnotu do všech označených buněk. Hledání a nahrazování. Filtrování a řazení. Přesně pro to, k čemu se má používat - k analýze dat.
  • Regulární výrazy.
  • Překlopit řádky na sloupce.
  • Používání názvů (pojmenované oblasti).
  • Musí vědět, že za žádných okolností nesmí do vzorců používat konstanty.

Takových je dvanáct do tuctu (resp. nekonečno). Navíc by to vlastně ani nemělo být potřeba. Pokud Excel neboudou používat lidé, kteří jej používat nemají. Těm je zbytečné vnucovat a vymáhat naprosté základy. Není v jejich silách zjistit, že nemají ve dvou tisících řádků dat importovaných z bankovního systému odstraňovat apostrofy z textů (několik ve více buňkách na každém řádku) pomocí klikání myší a DEL. Že nemají "číst" seznam hodnot a tak v něm hledat to, co potřebují. 

Dovednosti ano a ne.

Uživatelé, kteří mají Excel používat pro ty činnosti, ve kterých je správným prostředkem - to je zmíněná analýza dat, případně ad-hoc modelování, prototypování (třeba vytvořit sadu grafů pro vyhodnocování vývoje a ty si ověřovat s jejich cílovými uživateli - ale v provozu to nemá být Excel, měla by to být služba typu Power BI) - potřebují intenzívní podporu a systematický rozvoj dovedností.

Běžný administrativní pracovník by neměl potřebovat "lepší dovednosti", protože by tabulkový procesor vůbec neměl používat. Asi se vám to nezdá, ale zkuste si udělat "seznam" toho, k čemu Excel tento typ výkonných lidí (neřkuli řídících pracovníků) používá. Nebo si to nechte prověřit od nás.

Pro využití Excelu nestačí znát Excel

Je nutno se správně rozhodnout, jaké dovednosti rozvíjet.

  • Mají se lidé učit obecnou funkčnost a tu potom dle vlastního uvážení sami uplatňovat v praxi?
  • Nebylo by lepší, aby někdo s potřebným nadhledem a znalostmi zjistil, jak lze co nejefektivěji vykonávat jejich práci? Potom jim to ukázat a pomoci si daný postup osvojit.
  • Mají se koncoví uživatelé trápit s tím, k čemu by vlastně měl být ten který nástroj používán? Zda se hodí pro jejich potřeby či nikoliv (jakou úroveň znalostí k tomuto potřebují)?
  • Co všechno se mají učit - a proč?

Nejdříve pár otázek. Spíše řečnických - smyslem je zpochybnit stávající praxi.

  • Mají se všichni učit všechno? Jak vědí, co všechno? Má to být na jejich uvážení?
  • Nebylo by lepší, kdyby se věnovali tomu, jak správně a účelně dělat svoji práci (rozumí se v tomto smyslu účast na trvalém zdokonalování procesů / činností - těch odborných, kterým rozumí nejlépe) a v rámci toho korektně identifikovali překážky / omezení a požadavky na řešení / jeho rozvoj. 
    • Ve velmi renomované firmě se zjevně vyskytuje brutálně amatérské řešení (bohužel je vlákno dostupné jen členům skupiny Exel and VBA Users) ... což není nic neobvyklého. Ale jak je možné, že se "Senior Manufacturing Engineer & Team Lead" na sociální síti dotazuje na to, jak upravit kód ve VBA pro zjevně extrémně amatérskou & primitivní "aplikaci"? Vždyť to je naprosto šílené!
    • O kolik bude levnější a rychlejší, když na základě korektně definovaných požadavků vytvoří a doručí robustní nástroj kompetentní dodavatel?
  • běžný uživatel (typu referent, popř. měl by mít) dostatečnou kvalifikaci k tomu, aby mohl vytvořit byť sebejednodušší pomůcku, která mu bude pomáhat v běžných činnostech?
    • Co všechno to znamená?
    • Má ji dělat sám pro sebe?
    • Využije tu kvalifikaci?

Celá tato úvaha začíná kdysi dávno, kdy jsem s kamarádkou, pracující ve velké stavební firmě diskutoval o projektech. Nadšeně mi oznamovala, že používají MS Project. Udělají si "svůj" projekt v Excel-u a potom to přepíší, aby získali Gantt-ův diagram. Chytil jsem se stropu a ptal jsem se, proč ten Excel.

Odpověď: "Protože s ním 'umíme'..."

Realita... Co myslíte? Uměli?

Nevytvářejte aplikace - na to jsou databáze!

Pár příkladů (většinou platí ve všech případech totéž, co u zakázek viz níže).

  • Obvyklé použití je seznam zakázek (v horším případě zákazníků). Jakmile by se měl obsahovat něco víc než zákazníka, styčnou osobu, termín nejbližšího milníku, zodpovědného pracovníka apod. - tedy chtěli bychom, aby sloužil např. jako nástroj kontroly postupu prací (neřku-li pro řízení kapacit), pořád to jde, ale poměr užitek/úsilí se rychle zhoršuje.
  • Většinou všechny "evidence" týkající se personálních aktivit.
  • Sběr dat od zákazníků (příběh je o nesprávném použití a nedostatečné podpoře uživatelů v prezentaci "Nástroje Office 365").
  • Často se tabulkový procesor používá pro kalkulaci nabídek. To by mohlo být relativně správné nasazení. Pokud nemáte vůbec nic jiného a nikde jinde nejsou data, které k tomu potřebujete. Právě tady se dají objevit skutečné "perly". Obvykle je to dáno tím, že běžný uživatel nevěří, že by mu mohl někdo pomoci, tak se snaží sám vytvořit dle svého nejlepšího přesvědčení alespoň něco. Bude doplněno.
  • Extrémní případ bylo řízení výroby a nákupu sezónních produktů pomocí kontingenčních tabulek nad daty loňských prodejů. Což je současně i příběh s dobrým koncem. Vlastně výtečným.

Rizikem je to, že z důvodu omezených možností nástroje nebudete dělat něco, co začne být potřeba až od určité velikosti firmy či komplexnosti činností.

Průzkum: K čemu používáte Excel u vás?

Správný typ nástroje

Tabulkový procesor je určen - ačkoli to z toho názvu úplně nevyplýva - k vytváření volných výpočetních struktur - např. k sestavení prototypu kalkulačního vzorce (např. na jedinečnou zakázku, kde se nepoužívají žádné položky uložené v podnikovém informačním systému - což je nepravděpodobné). Je vhodným prostředkem pro modelování (do určité úrovně) a analýzu. Je skvěle vybaven k tomu, aby použil data z databáze a umožnil nám s nimi prakticky cokoli. 

Tabulkový procesor není databáze.

Lidé z MS si z toho sami dělají legraci. Ptají se, jestli víme, co je světově nejčastěji používaný databázový systém … odpověď je Excel. Otázka, jestli je to k smíchu. Pro zpracování dat, které vyžaduje databázový přístup, jsou nutné odpovídající znalosti a dovednosti. Nemá smysl, aby si s nimi hrál metodou pokus-omyl člověk, který je nemá. Používání obecných nástrojů mimo platné / závazné postupy by mělo být celkem nekompromisně zakázáno.

Zakázat lidovou tvořivost

Nejdříve je potřeba provést audit produktivity administrativy. Rádi s tím pomůžeme.

Jakmile vyhodnotíme faktický stav, eliminujeme vytváření i úpravy stávajících tabulek. Místo hraní si s Excelem bude běžným uživatelům (a jejich vedoucím) nastavena povinnost formulovat požadavek se všemi širšími souvislostmi (k čemu je dobrá nová či stávající činnost, veškeré známé vazby atd.). Požadavek zařadíme to katalogu námětů a dáme mu správné místo - dle jeho vazeb na ostatní témata. Až na něj přijde řada, najdeme pro něj správné řešení (pro dané podmínky a dle jeho ekonomické efektivnosti).

Můžeme prakticky garantovat, že nahradit několik prvních provizorních ad hoc řešení korektním nástrojem (např. vytvořit lepší strukturu dat a umístit je kam patří - tedy do databáze, jejich importů, synchronizace, propojení, automatizace & workflow) bude trvat pár dnů, nejvýše týdnů.

Role manažera

Pomáhá lidem správně chápat zejména proč co mají dělat. V rámci toho určuje, jakými nástroji a postupy. Nejlépe (čím kvalifikovanější práce, tím víc) s jejich účastí, popř. jenom podporuje a pomáhá. V rámci této podpory je jeho (nadhled atd.) povinností hledat lepší postupy/nástroje. Právě proto je jeho role zásadní, chápe souvislosti, lépe vnímá skutečné potřeby a jejich význam, má zkušenosti a srovnání odjinud. Zabrání "nejjednoduššímu možnému okamžitému" (obvykle nesprávnému, přinejmenším nekoncepčnímu) řešení.

To je korektní podoba vlastníka procesní oblasti, vedoucího týmu. Zná velmi důkladně pracovní postupy všech rolí, které v týmu má. Je hodnocen za dlouhodobou stabilitu (robustnost) a efektivnost výkonu (kvalita, produktivita, ... versus spotřeba zdrojů). Dokáže navrhnout, připravit a obhájit potřebné změny a vypočítat jejich návratnost. Umí efektivně spolupracovat s externími subjekty, které pro trvalé zdokonalování své procesní oblasti využívá.

Role IT specialistů

Lidí, kteří rozumí IT, může být podle situace ve hře víc. Nemusí být pouze zevniř firmy, je potřeba počítat s tím, že (častou pouze) venku jsou specialisté, kteří mohou poskytnout náměty či řešení (nejlépe již ve fázi "co vlastně potřebujeme vyřešit"), na která interně nepřijdeme. Proto je dobré umět s externisty správně komunikovat. Samostatné téma, bude doplněno.

Podstata jejich účasti je právě v tom, že - ve spolupráci s tím, kdo má dostatečný nadhled a detailní informace o věcné/odborné podstatě požadavků - dokáží (či by měli) najít správnou technologii. Možná lépe dvě tři a ověřením především přezkoumat, nakolik jsou dosud formulované požadavky úplné a konzistentní. To uživatel ani jeho manažer nemají šanci udělat (vždy musí upřednostnit to první nejjednoduššeji dostupné řešení).

Promyslete si, co všechno děláte pomocí tabulkového procesoru a jestli to nepotřebuje přehodnotit. Nebo si o tom promluvte s námi.