Изведена табела хоризонтално на вертикално - Екцел савети

Преглед садржаја

О. Марк из Канзаса послао је овонедељно Екцел питање:

Изводне табеле програма Екцел најбоље раде када се подаци рашчлањују на највише могућих записа, али ово није увек најинтуитивнији начин за учитавање података у Екцел. На пример, интуитивно је учитавање података попут слике 1, али најбољи начин за анализу података је као на слици 2.
Слика 1
Слика 2

Прво ћу проћи кроз Екцел-ов мање савршен начин рада са више поља података. Друго, демонстрираћу једноставан и брз макро за претварање слике 1 у слику 2.

Чаробњак за изведене табеле

Ако су ваши подаци слични слици 1, током корака 3 од 4 чаробњака за изведене табеле, могуће је повући сва 4 четвртине поља у подручје података пивот табеле, као што је приказано десно.

Приказ заокретне табеле

Ево мање савршеног резултата. Екцел подразумевано има више поља података која се спуштају низ страницу. Можете да кликнете на сиво дугме „Подаци“ и повучете га горе и десно да бисте четвртине прешле преко странице. Међутим, недостају вам укупни износи за сваки регион, а укупни квартални чиниће се увек неумесни.

Дакле, о. Марк је ударио нокат у главу када је рекао да подаци заиста морају бити у формату са слике 2 да би се могли правилно анализирати. Испод је макро који ће брзо преместити податке у формату са слике 1 на Схеет1 на Схеет2 у формату са слике 2. Овај макро није довољно уопштен за рад са било којим скупом података. Међутим, требало би да буде релативно лако прилагодити га вашој одређеној ситуацији.

Public Sub TransformData() ' Copyright 1999.com Sheets("Sheet2").Select Range("A1").CurrentRegion.Clear Sheets("Sheet1").Select Range("A1:B1").Copy Destination:=Sheets("Sheet2").Range("A1") Sheets("Sheet2").Select Range("C1").Value = "Qtr" Range("D1").Value = "Sales" Sheets("Sheet1").Select FinalRow = Range("A16000").End(xlUp).Row NextRow = 2 LastRow = FinalRow ' Loop through the data columns For i = 3 To 6 ThisCol = Mid("ABCDEFGHIJK", i, 1) ' Copy the left columns from sheet1 to sheet2 Range("A2:B" & FinalRow).Copy Destination:= _ Sheets("Sheet2").Range("A" & NextRow) ' Copy the header from ThisCol to column C Range(ThisCol & "1").Copy Destination:= _ Sheets("Sheet2").Range("C" & NextRow & ":C" & LastRow) ' Copy the data for this quarter to column D Range(ThisCol & "2:" & ThisCol & FinalRow).Copy _ Destination:=Sheets("Sheet2").Range("D" & NextRow) NextRow = LastRow + 1 LastRow = NextRow + FinalRow - 2 Next i Sheets("Sheet2").Select End Sub
Приказ резултата заокретне табеле

Након покретања овог макронаредба, подаци ће бити у формату лакшем за анализу приказаном на слици 2, горе. Сада, када ове податке користите за пивот табелу, имате потпуну контролу података као и обично.

Занимљиви Чланци...