Tabulka aneb Seznam čili ListObject

Za pojem tabulka si uživatelé často dosazují celý list nebo dokonce sešit, což není správně. Tabulka je pouze část listu představovaná souvislou oblastí buněk.

Následuje osobní výklad, který nikomu nevnucuji. Pod pojmem tabulka vidím v Excelu takovou oblast buněk, která má záhlaví řádků i sloupců a data dohledáváme v jejich průsečících (šachy, hra lodě, …). Takovému uspořádání dat, kdy existuje pouze hlavička sloupců, říkám seznam. Data jsou v něm uspořádána podobně jako v databázi – co sloupec, to jeden typ dat (text, číslo, datum, …). Ano, jsem si vědom toho, že v databázi je právě tato forma nazývána tabulkou (Table), zatímco sloupce se nazývají pole (Fields), a řádky se označují jako záznamy (Records). Uznávám, že je to trochu schizofrenní, nicméně, abyste pochopili, proč se vůbec zavádí pojem seznam, tak vězte, že v angličtině a pod VBA se bavíme o objektu List, ListObject…

Řekněme tedy, že máme pouze hlavičku sloupců a pod ní data, ať už tomu budeme říkat seznam nebo tabulka. Vřele doporučuji nevkládat žádné další hodnoty ani pod tento blok dat, ani vpravo od něj. Na data je víc než vhodné pro základní analýzu nasadit filtr (karta Data / Filtr). Potřebný sumační řádek nevytváříme nikdy pod posledním řádkem dat, ale vždy ve vyhrazeném prostoru nad hlavičkou (ten ostatně může sloužit i účelům rozšířeného filtru). Výsledky tak máme na očích a nemusíme do jisté míry řešit přidané řádky. Pro práci s daty, na nichž je aplikován filtr, slouží funkce SUBTOTAL. Pod hlavičku je dobré nastavit příčku (Zobrazení / Ukotvit příčky).

Filtr a funkce SUBTOTAL aplikovaná na seznamu
Filtr a funkce SUBTOTAL aplikovaná na seznamu

Tento náš prostý seznam (tabulku) můžeme povýšit do stavu Seznam (Tabulka), jinými slovy „přejít na vyšší level“. A začneme od začátku.

Povýšení na Tabulku - krok 1
Povýšení na Tabulku – krok 1
Povýšení na Tabulku - krok 2
Povýšení na Tabulku – krok 2
Povýšení na Tabulku - krok 3
Povýšení na Tabulku – krok 3

Pozn. Na kartě Domů najdeme ve skupině Styly tlačítko „Formátovat jako tabulku“. Umístění, název i popis funkčnosti je bohužel zcestný. Výsledkem je podobně jako v předchozím případě Tabulka a formátování je spíš vedlejší efekt. Naneštěstí, stran této ikony a jejího výsledku jsem četl už bezpočet bludů i od známých autorů a co víc, našel jsem ji i v testech. NIKDO JI NESPOJUJE S TABULKOU, ALE S FORMÁTOVÁNÍM, A TO JE ŠPATNĚ!

Zavádějící tlačítko Formátovat jako tabulku
Zavádějící tlačítko Formátovat jako tabulku

Pokud je vybrána buňka takové Tabulky, jsou nástroje pro ni připravené pod kontextovou kartou Nástroje tabulky. Lehce se pozmění i kontextové menu dostupné přes pravé tlačítko myši.

Kontextová karta Nástroje tabulky
Kontextová karta Nástroje tabulky
Kontextové menu pro Tabulku
Kontextové menu pro Tabulku

V kontextovém menu vidíte pod položkou Tabulka Řádek Součty, zatímco pod kontextovou kartou je uveden pojem Řádek souhrnů. Jedná se o totéž (schizofrenie se prohlubuje).

Proč to celé vlastně děláme? V čem jsou Tabulky tak výjimečné?

– Tabulky si mohou dovolit zobrazovat Řádek souhrnů pod daty a přizpůsobují ho skutečnému počtu řádků (záznamů).
– Jsou-li Tabulky zdrojem dat pro kontingenční tabulky, pak nemusíme řešit měnící se počet záznamů (jsou lidově řečeno elastické).
– Pokud přidáme nový záznam a v některém ze sloupců je vzorec, dojde k jeho automatickému rozkopírování. Dojde přirozeně i k rozkopírování formátu.

Operace s řádky a sloupci je potřeba provádět korektně, ideálně přes kontextové menu po pravým tlačítkem myši. Nový záznam vložíte tak, že

a) Začnete vyplňovat buňku těsně pod posledním záznamem.
b) Označíte poslední datovou buňku Tabulky (vpravo dole) a stisknete klávesu Tab.
c) Ručně přetáhnete úchyt v pravém dolním rohu Tabulky.
d) Použijete tlačítko Změnit velikost tabulky na kontextové kartě Nástroje tabulky.

Pro zobrazení Řádku souhrnů stačí zaškrtnout políčko na kontextové kartě Nástroje tabulky. Funkce aplikované na jednotlivých sloupcích vybíráte přímo ze seznamů v buňkách tohoho řádku. Nemusí se tedy nutně jednat o součet.

Tabulka - Řádek souhrnů
Tabulka – Řádek souhrnů

Je-li Tabulka zdrojem dat pro kontingenční tabulku, Řádek souhrnů skrývejte.

Je čas pokročit. Pokud jste výpočet ceny sestavovali ještě před povýšením na Tabulku, pravděpodobně vypadá vzorec v buňce E3 nějak takto:

Tvorba ceny - běžný způsob
Tvorba ceny – běžný způsob

Pokud jste vzorec začali dotvářet v buňce E3 převážně myší (vytyčováním zdrojových buněk) až ve stavu Tabulky, vypadá výsledek nějak takto:

Tvorba ceny - Tabulka
Tvorba ceny – Tabulka

Zatímco v prvních případě je potřeba ještě ručně rozkopírovat vzorec do buněk níže (přinejmenším poklepáním na vyplňovací úchyt), ve druhém případě už se tak stane automaticky. A jak asi tušíte, všechny buňky sloupce CENA mají v Tabulce stejný vzorec.

Na jednotlivé části tabulky se odkazujeme prostřednictvím tzv. strukturovaných odkazů. Následujících obrázků se neděste, ostatně řadu odkazů doplní Excel po klepnutí myší do patřičné sekce Tabulky.

Strukturované odkazy - Tabulka1
Strukturované odkazy – Tabulka1
Strukturované odkazy - více teorie i praxe
Strukturované odkazy – více teorie i praxe

Druhý snímek ukazuje i odlišné způsoby užití odkazů v rámci seznamů v Data / Ověření. Většinou se na internetu setkáte s řešením přes definovaný název. Lze se ale bez nich obejít. Buňka G30 obsahuje položky záhlaví, G31 položky obchodníků a G32 položky šestého záznamu Tabulky. Tabulky a strukturované odkazy jsou vůbec zvláštní. Potkáte se s nimi ve Správci názvů, kde se objeví vedle definovaných názvů, ale práce s nimi je jiná. Jak vidno z obrázku, v roletkách je na ně nutné aplikovat NEPŘÍMÝ.ODKAZ(). V Excelu jsou už nějaký pátek a přesto nejsou dostatečně integrované. Ignoruje je Microsoft Query a jejich zdrojem dat kdo ví proč nemůže být třeba připojený CSV soubor.

Příště se podíváme na Tabulky přes brýle VBA.

Příloha:
tabulka.zip