Redesigner stola

Obsah

Nie je žiadnym tajomstvom, že väčšina používateľov Excelu pri vytváraní tabuliek na hárkoch myslí predovšetkým na vlastný komfort a pohodlie. Takto sa rodia krásne, farebné a ťažkopádne tabuľky so zložitými „hlavičkami“, ktoré sa zároveň nedajú vôbec filtrovať ani triediť a o automatickom prehľade s kontingenčnou tabuľkou je lepšie vôbec neuvažovať.

Skôr či neskôr používateľ takéhoto stola dospeje k záveru, že „možno to nie je také krásne, ale môže to fungovať“ a začne zjednodušovať dizajn svojho stola a zosúladiť ho s klasickými odporúčaniami:

  • jednoduchá jednoriadková hlavička, kde každý stĺpec bude mať svoj vlastný jedinečný názov (názov poľa)
  • jeden riadok – jedna dokončená operácia (obchod, predaj, účtovanie, projekt atď.)
  • žiadne zlúčené bunky
  • bez prestávok vo forme prázdnych riadkov a stĺpcov

Ale ak vytvoríte jednoriadkovú hlavičku z viacúrovňovej alebo rozdelíte jeden stĺpec na niekoľko, je to celkom jednoduché, potom môže rekonštrukcia tabuľky zabrať veľa času (najmä pri veľkých veľkostiach). Znamená to nasledujúcu situáciu:

Of     Redesigner stola   do     Redesigner stola  

Z hľadiska databáz sa pravá tabuľka zvyčajne nazýva plochá (plochá) – podľa takýchto tabuliek je najlepšie zostavovať zostavy kontingenčných tabuliek (kontingenčných tabuliek) a vykonávať analýzy.

Dvojrozmernú tabuľku môžete previesť na plochú tabuľku pomocou jednoduchého makra. Otvorte editor jazyka Visual Basic cez kartu Vývojár – Visual Basic (Vývojár — Visual Basic Editor) alebo klávesová skratka ostatné+F11. Vložte nový modul (Vložiť – Modul) a skopírujte tam text tohto makra:

Sub Redesigner() Dim i As Long Dim hc As Integer, hr As Integer Dim ns As Worksheet hr = InputBox("Сколько строк с подписями сверху?") hc = InputBox("Солскольья?" False i = 1 Set inpdata = Selection Set ns = Worksheets.Add For r = (hr + 1) To inpdata.Rows.Count For c = (hc + 1) To inpdata.Columns.Count For j = 1 To hc ns. Cells(i, j) = inpdata.Cells(r, j) Next j For k = 1 To hr ns.Cells(i, j + k - 1) = inpdata.Cells(k, c) Next k ns.Cells( i, j + k - 1) = inpdata.Cells(r, c) i = i + 1 Ďalší c Ďalší r End Sub  

Potom môžete zatvoriť editor VBA a vrátiť sa do Excelu. Teraz môžeme vybrať pôvodnú tabuľku (úplne, s hlavičkou a prvým stĺpcom s mesiacmi) a spustiť naše makro Vývojár – makrá (Vývojár – makrá) alebo stlačením kombinácie ostatné+F8.

Makro vloží do knihy nový list a vytvorí na ňom novú, zrekonštruovanú verziu vybranej tabuľky. S takouto tabuľkou môžete pracovať „v plnom rozsahu“ pomocou celého arzenálu nástrojov Excel na spracovanie a analýzu veľkých zoznamov.

  • Čo sú makrá, kam vložiť kód makra vo VBA, ako ich používať
  • Vytváranie zostáv pomocou kontingenčných tabuliek
  • Nástroj na prerobenie stolov XNUMXD na ploché z doplnku PLEX

 

Nechaj odpoveď