Redesign stołu

Spis treści

Nie jest tajemnicą, że większość użytkowników Excela tworząc tabele na arkuszach myśli przede wszystkim o własnym komforcie i wygodzie. Tak rodzą się piękne, kolorowe i nieporęczne tabele ze skomplikowanymi „nagłówkami”, których jednocześnie nie da się w ogóle filtrować ani sortować, a o automatycznym raporcie z tabelą przestawną lepiej w ogóle nie myśleć.

Wcześniej czy później użytkownik takiego stołu dochodzi do wniosku, że „może nie jest taki piękny, ale może działać” i zaczyna upraszczać projekt swojego stołu, dostosowując go do klasycznych zaleceń:

  • prosty jednowierszowy nagłówek, w którym każda kolumna będzie miała swoją unikalną nazwę (nazwę pola)
  • jedna linia – jedna zakończona operacja (transakcja, sprzedaż, księgowanie, projekt itp.)
  • brak scalonych komórek
  • bez przerw w postaci pustych wierszy i kolumn

Ale jeśli zrobisz jednowierszowy nagłówek z wielopoziomowego lub podzielisz jedną kolumnę na kilka, jest to dość proste, wtedy rekonstrukcja tabeli może zająć dużo czasu (szczególnie przy dużych rozmiarach). Oznacza to następującą sytuację:

Of     Redesign stołu   do     Redesign stołu  

W kwestii baz danych właściwa tabela nazywana jest zwykle płaską (płaską) – to właśnie według takich tabel najlepiej budować raporty tabel przestawnych (tabele przestawne) i prowadzić analitykę.

Możesz przekonwertować dwuwymiarową tabelę na tabelę płaską za pomocą prostego makra. Otwórz Edytor Visual Basic za pomocą karty Deweloper – Visual Basic (Deweloper — Edytor Visual Basic) lub skrót klawiaturowy inny+F11. Wstaw nowy moduł (Wstaw – moduł) i skopiuj tam tekst tego makra:

Sub Redesigner() Dim i As Long Dim hc As Integer, hr As Integer Dim ns As Worksheet hr = InputBox("Sколько строк с подписями сверху?") hc = InputBox("Сколько столбцов Application слеими?") False i = 1 Ustaw inpdata = Zbiór zaznaczeń ns = Arkusze.Dodaj Dla 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 Next c Next r End Sub  

Następnie możesz zamknąć edytor VBA i wrócić do programu Excel. Teraz możemy wybrać oryginalną tabelę (w całości, z nagłówkiem i pierwszą kolumną z miesiącami) i uruchomić nasze makro Deweloper – Makra (Deweloper — Makra) lub naciskając kombinację inny+F8.

Makro wstawi do księgi nowy arkusz i utworzy na nim nową, zrekonstruowaną wersję wybranej tabeli. Z taką tabelą można pracować „w całości”, wykorzystując cały arsenał narzędzi Excela do przetwarzania i analizowania dużych list.

  • Czym są makra, gdzie wstawić kod makr w VBA, jak ich używać
  • Tworzenie raportów za pomocą tabel przestawnych
  • Narzędzie do przeprojektowania tabel XNUMXD na płaskie z dodatku PLEX

 

Dodaj komentarz